Design Flow
Design Flow
Detailed
Detailed(RTL)
(RTL)
Design
Design
Functional
Functional
Simulation
Simulation
Device
Device
Programming
Programming
Timing
Timing
Simulation
Simulation
Synthesis
Synthesis&&
Implementation
Implementation
FPGA
CPLD
tpd=22.1ns
fmax=47.1MHz
Design Specification
What are the main design considerations?
Design feasibility?
Performance
power consumption
cost
Design spec?
Written (Document)
Good starting point, but can be misinterpreted by design team
Implementation platform
FPGA/CPLD?
ASIC?
Which FPGA/CPLD vendor?
Which device family?
Development time?
RTL Specification
Determine I/O signals
Standard interface, protocol, custom interface
Detailed Design
Choose the design entry method
Schematic
Intuitive & easy to debug
Not portable
Poor designer productivity (gates/time)
Functional Simulation
Preparation for simulation
Generate simulation patterns
Waveform entry
HDL testbench
Functional simulation
To verify the functionality of your design only
Simulation results
Waveform display
Text output
Self-checking testbench
Challenge
Sufficient & efficient test patterns
HDL Synthesis
Synthesis = Translation + Optimization
Translate HDL design files into gate-level netlist
Optimize according to your design constraints
Area constraints
Timing constraints
Power constraints
Main challenges
assign z=a&b
a
b
a
b
Design Implementation
z
FPGA
CPLD
01011...
Implementation flow
Implementation results
Challenge
How to reach high performance & high utilization implementation?
Device Programming
(FPGA only)
FPGA
CPLD
Testing Basics
Example
Boundary scan
In boundary scan, all flip-flops enter a test
mode where they are controllable and
observable
After functional verification, normal flipflops are replaced by scan flip-flops
Only D flip-flops must be used
Clocks must not be generated internally