The purpose of this chapter is to:
In understanding the basic structure of an FPGA, or in mapping a problem onto an FPGA, one must be familiar with certain key aspects of logic design. The terms logical design and digital design are often used as synonyms for logic design. Fortunately, all FPGA design systems include computer-aided design (CAD) programs to take care of the more tedious aspects of logic manipulation, including extensive optimization. You will be glad to know that the regularity of FPGAs removes some of the agony of choice you may have experienced with transistor–transistor logic (TTL), for example, “which primitive gate should I use from the variety available?” But we must be at home with the fundamental concepts of logic design for combinational and sequential circuits. There will be an emphasis on systematic ways of logic design for FPGA applications. Although many FPGAs can be reprogrammed to correct an error, the time and effort in rerunning CAD programs can be excessive.