300 likes | 424 Views
EECE579: Digital Design Flows. Usman Ahmed Dept. of ECE University of British Columbia. Implementing Digital Circuits. Digital Circuit Implementation Approaches. Custom. Semicustom. Cell-based. Array-based. Standard Cells. Gate Arrays Structured ASICs. FPGA's. Macro Cells.
E N D
EECE579: Digital Design Flows Usman Ahmed Dept. of ECE University of British Columbia
Implementing Digital Circuits Digital Circuit Implementation Approaches Custom Semicustom Cell-based Array-based Standard Cells Gate Arrays Structured ASICs FPGA's Macro Cells Compiled Cells
Design Capture Behavioral HDL Pre-Layout Simulation Structural Logic Synthesis Floorplanning Post-Layout Simulation Placement Physical Circuit Extraction Routing Tape-out Implementing Logic Circuits Design Iteration
Library of cells that implement different gates Cells can have different width but all cells have same height (hence Standard Cells) Many variants of the same cell Standard Cell Design
Logic Synthesis Transform the HDL description into library cells Placement Where to place a cell ? Routing Connect the placed cells. Standard Cell Design
Optimizations: Gate Resizing Buffer Insertion In-place Re-synthesis Standard Cell Design
Routing channel can be narrowed if more interconnect layers are available Standard Cell Design
Cell-structure hidden under interconnect layers Standard Cell Design: New Generation
Used only for the high-speed or low-power applications Very expensive, and time consuming (> $2M just for the mask costs) Very high re-spin cost Standard Cell Design: Summary
FPGAs • FPGA: Field-Programmable Gate Array
Logic Blocks - used to implement logic - lookup tables and flip-flops Altera: LABs Xilinx: CLBs What’s Inside an FPGA?
What’s Inside an FPGA? I/O Blocks - interface off-chip - can usually support many I/O Standards
Bit-Stream Logic Block: Basic Logic Gate: Lookup-Table Function of each lookup table can be configured by shifting in bit-stream. Inputs
Logic Clusters Several lookup tables are grouped into “clusters” - Typically 8 to 10 lookup tables per cluster Connections between lookup tables in the same cluster are fast Connections between lookup tables in different clusters are slow
Reconfigurable Logic: Connect Logic Blocks using Fixed Metal Tracks and Programmable Switches
Reconfigurable Logic: Connect Logic Blocks using Fixed Metal Tracks and Programmable Switches
Implementing Systems in an FPGA FPGA Fabric Embedded memories Embedded PowerPC Hardwired multipliers Xilinx Vertex-II Pro High-speed I/O
Advantages of FPGAs: • "Instant Manufacturability": reduces time to market • Cheaper for small volumes because you don’t need to pay for fabrication • means you don’t need to be a big company to make a chip • Relaxes Designers -> relaxed designers live longer! Disadvantages of FPGAs: • Slower than custom or standard cell based chips • Cannot get as much circuitry on a single chip • Today: ~ 1M gates is the best you can do ~ 200 MHz is about as fast as you can get • For large volumes, it can be moreexpensive than gate arrays and custom chips
Structured ASICs • Combines good features of FPGAs and Standard Cell ASICs
Logic Blocks • Choices • Fine Grained • Basic gates: NAND, NOR, XOR, FF etc. • Medium Grained • Lookup Tables • Coarse Grained • Multi-input, Multi-output blocks (e.g., PLAs) • Configurability • SRAM cells • Vias • Lower Level (e.g., between M1 and M2) • Upper Level (Via stacks brought up to the configurable layers)
Routing Fabrics • Metal and Via Programmable • More flexibility, more efficiency • Employed in most structured ASIC offerings • Via Programmable • Regular, easy to manufacture • Metal is fixed and every segment may not be fully utilizable, → Can be Inefficient
Design Capture Behavioral HDL Pre-Layout Simulation Structural Logic Synthesis Floorplanning Post-Layout Simulation Placement Physical Circuit Extraction Routing Tape-out Implementing Logic Circuits Design Iteration