Rapid System Prototyping with FPGAs

Define, refine and document requirements.
| ? | Requirements Checklist |
|---|---|
| q | Identify packaging requirements and design limitations (i.e., maximum height or real-estate footprint, or need to avoid BGA components) |
| q | Identify and document environmental requirements (temperature, vibration) |
| q | Identify demanding system timing requirements or interfaces (DDR or DDR2 Memory Interface, high-speed ADC/DAC data path) |
| q | Identify maximum operational frequency |
| q | Identify all required and desired I/O interface standards |
| q | List the number of each type of I/O standard signals |
| q | Identify I/O range (minimum to maximum with margin) |
| q | Identify FPGA internal memory requirements (consider standard logic requirements, processor and signal processing requirements with margin) |
| q | Identify logic requirements based on previous functional implementation, equivalent implemented functionality or number of registers required plus margin |
| q | Identify specialized FPGA resource block requirements (example, number of channels of Ethernet) |
| q | Identify design functionality which may be available as Intellectual Property blocks |
| q | Identify and list the major clocks required by the design |
| q | Identify signals with signal integrity requirements (termination, matched length) |
| q | Identify power consumption limitations (develop preliminary power budget) |
Manufacturer, device, component selection, initial design, design partitioning, design hierarchy, and system-level design.
| ? | Software Tool Selection Checklist |
|---|---|
| q | Evaluate all available tool options |
| q | Test-drive tools as appropriate |
| q | Schedule time for tools evaluation |
| q | Request tool demos |
| q | Ask for references, current local users |
| q | Determine current and future performance needs |
| q | Consider total cost of ownership including tools, maintenance, training and projected design team... |