Field-Programmable Gate Arrays: Reconfigurable Logic for Rapid Prototyping and Implementation of Digital Systems
by John V. Oldfield, Richard C. Dorf
1.2 DESIGN AND IMPLEMENTATION USING FPGAs
A design exists separately from its mapping into its implementation as one or more FPGAs. Often an individual design is part of a larger system’s design. Designing, in any medium is the most compelling part of engineering, and designing with FPGAs is particularly challenging because the technology is progressing so rapidly, while “manufacturing” times are so short. Unfortunately, designing is not necessarily simple and can require a great deal of creative effort. Standard textbook treatments of design usually focus on some tractable subproblems in designing, such as logic minimization or state machine design. Or they attempt to reduce design to a mathematical formulation, in which there is a perfect solution to an idealized problem. To clarify the situation, it may be better not to strive for a definition of design [Bell72], but to make a distinction between design and implementation. Within this view, a design is an abstract collection of connected elements, each of which has a defined performance. Elements may of course be recursively defined and may be assemblies of other elements. This structural view of a design is common to all branches of engineering. In electronics, gate elements are connected by wires; in mechanics, beams are connected by fasteners.
For a design to be realized, however, the abstract elements in its structural definition must be mapped onto physical elements that actually exist in some medium. Once this has been ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access