Chapter 1 VLSI Design Methods Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory Department of Electrical Engineering National Central University Jhongli, Taiwan Outline Introduction VLSI Design Flows & Design Verification VLSI Design Styles System-on-Chip Design Methodology Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 2 Complexity & Productivity Growth of ICs Complexity grows 58%/yr (doubles every 18 mos) Productivity grows 21%/yr (doubles every 31/2 yrs) unless methodology is updated Complexity and Productivity Growth 10,000,000 100,000,000 1,000,000 10,000,000 Productivity 100,000 1,000,000 10,000 100,000 1,000 10,000 100 1,000 10 1980 Advanced Reliable Systems (ARES) Lab. Produc tiv ity Tra ns is tors /Sta ff M onth C om ple xity Tra ns istors per C hip (K ) Com plexity 100 1985 1990 1995 2000 2005 Jin-Fu Li, EE, NCU 2010 [Source: MITRE] 3 VLSI Design Methodologies Design methodology Process for creating a design Methodology goals Design cycle Complexity Performance Reuse Reliability Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 4 IC Community Design rules Silicon Simulation models and parameters IC foundry Mask layouts design Integrated circuits CAD Process information tool Software tools provider [M. M. Vai, VLSI design] Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 5 System to Silicon Design System Requirements Algorithm Hardware Architecture Synthesis X[k] = Σ x[n]e-j2 πk/N System Integration x[n] = Σ X[k]e+j2 πk/N Σ Fabricate and Test Physical Design For Test Observe Co nt ro l [Source: MITRE] Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 6 Y-Chart Structural Domain Behavioral Domain Processor Algorithm Register ALU FSM Module Description Leaf Cell Transistor Boolean Equ. Mask Cell Placement Module Placement Chip Floorplan Physical Domain Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 7 VLSI Design Flow Concept Design Validation RTL Verification Logic Verification Designer Final Product Behavior Specification Manufacturing Behavior Synthesis Layout (Masks) RTL Design Layout Synthesis Logic Synthesis Netlist (Logic Gates) Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU Product Verification Layout Verification 8 Behavioral Synthesis & RTL Synthesis 4 cycles=16 ns Behavioral Synthesis 3 cycles=15 ns Vary clock period HDL Vary # clock cycles z = a(i) × b(i) − c × d (k ) + f 2 cycles=20 ns Multiple Architectures RTL Synthesis 1 cycle=50 ns Vary clock period 1 clock cycle Single Architecture Source: Synopsys Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 9 Behavioral Synthesis (Resource Allocation) Source code defines the functionality y_real := a_real * b_real - a_imag * b_imag y_imag := a_real * b_imag + a_imag * b_real Constraints allow designer to explore different architectures, trading off speed vs. area Two possible implementations for a complex multiplier: Fast, but large Small, but slow (4 mult, 1 add, 1 sub) (1 mult, 1 add/sub) Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU [Source: MITRE] 10 Behavioral Synthesis (Retiming) Allows designer to trade off latency for throughput by adding and moving registers in order to meet timing constraints Specification needs to include registers at functional boundaries, without regard to register-to-register timing: software takes care of optimizing register placement Compiled Functional Description Circuit After Behavioral Retiming > create_clock clk -period 10 > pipeline_design -stages 3 register tp = 0.5 > optimize_registers tp=5 tp=23.0 tp=8.7 tp=9.5 Max. Speed= 1/23.0 nSec = 43 MHz Max. Speed= 1/10 nSec = 100 MHz Latency Latency = 1 clock cycle Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU = 3 clock cycles [Source: MITRE] 11 Verification The four representations of the design Behavioral, RTL, gate level, and layout In mapping the design from one phase to another, it is likely that some errors are produced Caused by the CAD tools or human mishandling of the tools Usually, simulation is used for verification, although more recently, formal verification has been gaining in importance Two types of simulations are used to verify the design Functional simulation & timing simulation Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 12 DFT Flow Behavioral Description Behavioral DFT Synthesis RTL Description Technology Mapping Layout Logic DFT Synthesis Gate Description Parameter Extraction Manufacturing Test Pattern Generation Low Gate Fault Coverage ? Product Test Application High Good Product Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 13 Design Styles – Full Custom A B Z Vss Vdd z B A Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 14 Design Styles – Programmable Logic Array AND array OR array Buffering Buffering Outputs Inputs Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 15 Design Styles – Gate Array Cell 1 Cell 2 Cell 3 Cell 4 Cell 5 Cell 6 Cell 7 Cell 8 Cell 9 Cell 10 Cell 11 Cell 12 Cell 13 Cell 14 Cell 15 Cell 16 Cell 17 Cell 18 Cell 19 Cell 20 Cell 21 Cell 22 Cell 23 Cell 24 Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 16 Design Styles – Field Programmable Gate Array (FPGA) Xilinx SRAM-based FPGA Configurable Logic Block (CLB) I/O Block Routing channel Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 17 Design Styles – Field Programmable Gate Array (FPGA) Xilinx XC4000 Configurable logic block Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 18 Design Styles – Field Programmable Gate Array (FPGA) SRAM-based programmable switch Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 19 Design Styles – Field Programmable Gate Array (FPGA) Architecture of Altera FLEX 10K FPGA FastTrack Interconnect I/O I/O I/O I/O EAB Logic Array Block (LAB) I/O I/O I/O I/O Embedded Array Block I/O EAB I/O I/O Advanced Reliable Systems (ARES) Lab. I/O Jin-Fu Li, EE, NCU 20 Design Styles – Field Programmable Gate Array (FPGA) Logic array block Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 21 Standard-Cell Design Styles Cell 1 Cell 6 Cell 2 Cell 7 Cell 8 Cell 13 Advanced Reliable Systems (ARES) Lab. Cell 3 Cell 4 Cell 9 Cell 14 Cell 5 Cell 10 Cell 11 Cell 12 Cell 15 Cell 16 Cell 17 Jin-Fu Li, EE, NCU 22 Standard-Cell Design Styles Design entry Enter the design into an ASIC design system, either using a hardware description language (HDL) or schematic entry An example of Verilog HDL module fadder(sum,cout,a,b,ci); output sum, cout; input a, b, ci; reg sum, cout; ci always @(a or b or ci) begin sum = a^b^ci; cout = (a&b)|(b&ci)|(ci&a); end endmodule Advanced Reliable Systems (ARES) Lab. b a fadder cout sum Jin-Fu Li, EE, NCU 23 Design Styles – Comparison Design Styles Advantages Disadvantages Full-custom - Compact designs; - Improved electrical characteristics; - Very time consuming; - More error prone; Semi-custom -Well-tested standard cells which can be shared between users; -Good for bottom-up design; -Can be time consuming to built-up standard cells; -Expensive in the short term but cheaper in long-term costs; -Fast implementation; -Easy updates; -Can be wasteful of space and pin connections; -Relatively expensive in large volumes; FPGA Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 24 Emergence of SOC Idea Motivation: Transistor density Moor's law Integration with analog parts AMS specification, synthesis, simulation SoC Design Methodology and Tools Filling the Gap through Source: Synopsys Reuse Design Automation System Specification Methodology Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 25 What’s a System? System [Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 26 What’s a System? Customer’s view: System = User/Customer-specified functionality + requirements in terms of: Cost, Speed, Power, Dimensions, Weight, … Designer’s view: System = HW components +SW modules [Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 27 Hierarchical Design Flow for an System Chip Specification Hardware Architecture Detail Design Requirements and specification Architecture Hardware Design Software Design Specification Software Architecture Module Design Integration Integration Integration Test System test Test Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 28 HDL’s & SDL’s: Requirements HDL’s HardwareC Verilog AHDL VHDL SDL’s C Pascal ADA [Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 29 HDL’s & SDL’s: Realization Hardware Program Software Program Compilation Synthesis Operating System [Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 30 HDL’s & SDL’s: Features Any SW-realizable algorithm is HW-realizable as well. Hardware Realization Software Realization Speed Energy Efficiency Cost Efficiency (in high volumes) Flexibility Ease of Development Ease of Test and Debug Cost = SW + Processor [Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 31 HW-SW Co-design How much SW + how much HW? Objectives: Power Speed Area Memory space Time-to-market Implementation platform: Collection of chips on a board (MCM) … Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 32 HW/SW Co-Design Methodology Must architect hardware and software together: provide sufficient resources; avoid software bottlenecks. Can build pieces somewhat independently, but integration is major step. Also requires bottom-up feedback Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 33 HW/SW Co-design Main Topics Synthesis System H System S OS Specification Verification [Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 34 [Source: M. Gudarzi] System Specification Verification Co-Synthesis Partitioning HW Parameter SW Parameter Estimation Estimation HW Synthesis Verification SW Synthesis Verification ASIC OS EXE Code Advanced Reliable Systems (ARES) Lab. System Integration Jin-Fu Li, EE, NCU Verification Final Verification 35 SOC Design Essentials Realization strategy: Automated HW-SW Co-design + Reusable Cores Intellectual Property: IP Cores IP Core Examples: Processors: PowerPC, 680x0, ARM, … Controllers: PCI, … DSP Processors: TI ... IP Core Categories: Soft Cores: HDL, SW/HW Cores Firm Cores: Synthesized HDL Hard Cores: Layout for a specific fabrication process Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 36 Trends and Challenges of SOC Designs Technology trends 3D technology + System-in-package Architecture trends Regular architectures, e.g., multi-core architecture Network-on-chip communication Challenges Power Reliability Yield Design-for-manufacturability … Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 37