Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology
2 Outline 1. CPLD & FPGA 2. Design Procedure
9.1 Programmable Device
4 FPGA Reconfigurable LSI or Programmable Hardware Programmable Logic Array and Programmable Interconnection Programmed by Reconfigurable Data Xilinx and Altera Prototyping of ASIC (different physical condition)
ECE 545 – Introduction to VHDL The Programmable Marketplace The Programmable Marketplace Q1 Calendar Year 2005 Source: Company reports Latest information available; computed on a 4-quarter rolling basis Xilinx Altera Lattice Actel QuickLogic: 2% Xilinx All Others Two dominant suppliers, indicating a maturing market PLD SegmentFPGA Sub-Segment Other: 2% 51% 33% 5% 7% Altera 58% 31% 11%
ECE 545 – Introduction to VHDL FPGA families Spartan 3 Virtex 4 LX / SX / FX Spartan 3E Virtex 5 LX Spartan 3L Low-costHigh-performance Xilinx Altera Cyclone II Stratix II Stratix II GX
Xilinx and Altera FPGA Xilinx#gatesProgramClockNote Virtex50k-10MSRAM550MHzSystem Spartan5k-300kSRAM250MHzASIC XC950013k-85kSRAM100MHz Altera#gatesProgramClockNote Stratix 180kSRAM500MHzHigh end RAM & Multiplier Cyclone 16kSRAM200MHzLow cost FLEX 10k-250kSRAM200MHzHigh Speed MAX(CPLD) KEEPROM150MHzLow Price
9.2 PLD
9 CPLD
Function Block in CPLD
Example of PLD Design S 1 S 2 S 3 X S 1 S 2 S 3 Y * * * * * X=0 X=1 State Transition Table Y=1
PLA & FF Realization S 1 S 2 S 3 X DS 1 DS 2 DS 3 Y * * * * * S1 DS1 PLA AND-OR S2 DS2 S3 DS3 X Y DFF
9.3 FPGA
ECE 545 – Introduction to VHDL Block RAMs Configurable Logic Blocks I/O Blocks Xilinx FPGA Block RAMs
ECE 545 – Introduction to VHDL The Design Warrior’s Guide to FPGAs Devices, Tools, and Flows. ISBN Copyright © 2004 Mentor Graphics Corp. ( Xilinx CLB
LUT
LUT Structure
Interconnection Logic Block
19 Advantages and Disadvantages Advantages Short TAT(Turn-Around Time) Small NRE (Non Recurrent Expense) Fee Logic and Timing Design are required. Full amount of IP (Intellectual Property) Disadvantages Slow speed and Large Chip Area High cost for volume manufacturing
9.4 FPGA Design
FPGA Design Functional Verification Logic Synthesis RTL Simulation RTL Synthesis Netlist Gate Assignment LE Place and Rout Configuration Data FPGA Tool LSI Tool
FPGA Design Flow
1 bit Adder/Subtracter
4bit Adder/Subtracter
FPGA Design
Three-Step Design Compilation in Quartus II Software 1. Run the New Project Wizard a. Specify project directory, name, and top-level entity. b. Specify project design files. c. Specify Altera device family for the design. d. Specify device (or specify device information for automatic device selection). e. Specify other EDA tools to be used for this project. f. Review project settings.
2. Run the TimeQuest Timing Analyzer a. On the Process menu, click Start Analysis & Synthesis to build a netlist in preparation for TimeQuest timing analyzer use. b. On the Tools menu, click TimeQuest Timing Analyzer to launch TimeQuest analyzer. i. On the Netlist menu, click Create Timing Netlist and select Post- map to create the timing netlist with timing delay information. ii. Specify your design timing constraints using the analyzer’s graphical user interface (GUI) or by using the Synopsys Design Constraint (SDC) text editor. c. On the Assignment menu, click Timing Analysis Settings to specify TimeQuest analyzer as the timing analysis tool and to add your SDC file to the project. Quartus II Assignment menu provides all settings and assignments for the project.
3. Compile the Design a. Select one of the following methods to compile the design: i. On the Processing menu, click Start Compilation. ii. On the menu toolbar, click. iii. On the Processing menu, click Compiler Tool and click Start. b. When compilation is complete, refer to the Compilation Report window to view information on compiler settings, resource usage, and compilation equations. Timing analysis is also performed during compilation on the current design, and the Compilation Report window includes the timing information.
9.5 Optimization
Trade-offs speedarea power testability
Speed optimization (1) better architecture (e.g., CLA vs. ripple carry adder) pipelining parallel processing optimization options of synthesis and implementation tools
ECE 545 – Introduction to VHDL Speed optimization (2) reducing fanout of control signals better state encoding registered outputs from the state machine