Designing with FPGAs and CPLDs

This chapter deals with verification, a group of methods and techniques used to detect design errors before a chip is created. This chapter describes the activities that are part of the verification process, including how to design testability into a chip and how to fully simulate a chip to ensure that it will function correctly in a completed system. The importance of and effort committed to verification is growing as CPLD and FPGA designs increase in size. In recent projects, I ve found that more manpower is designated for verification than any other phase of the project. Also, all kinds of EDA tools are coming to the market to help with verification. Some of these tools are generic tools, and others are specifically for certain types of chips.
The EDA tools that enable many of the techniques in this chapter are described in detail in Chapter 7.
Understand the use of functional and multilevel simulation for catching design flaws
Understand the need for regression testing to ensure that changes do not break the design.
Learn how you can use static timing analysis to very quickly examine a design and determine the maximum frequency and flag all critical paths.Discover uses of assertion languages for simulation and formal verification.132"/>
Learn where formal verification is appropriate and learn the difference between equivalency checking and functional verification.
The term verification is a little nebulous. In the larger domain of IC design, verification generally refers to any technique that is...