VLSI Design – 1 Introduction to VLSI Design Styles Professor Yusuf Leblebici Microelectronic Systems Laboratory (LSM) yusuf.leblebici@epfl.ch 1 Main Challenge is Complexity ! Remember the key message from our previous lecture: We will need efficient design approaches and methodologies to deal with the very high complexity of integrated systems. 2 Structured Design Principles Hierarchy: “Divide and conquer” technique involves dividing a module into submodules and then repeating this operation on the sub-modules until the complexity of the smaller parts becomes manageable. Regularity: The hierarchical decomposition of a large system should result in not only simple, but also similar blocks, as much as possible. Regularity usually reduces the number of different modules that need to be designed and verified, at all levels of abstraction. Modularity: The various functional blocks which make up the larger system must have well-defined functions and interfaces. Locality: 3 Internal details remain at the local level. The concept of locality also ensures that connections are mostly between neighboring modules, avoiding long-distance connections as much as possible. Structured Design Decomposition of a complex design into hierarchical, regular components. 4 Structured Design Further decomposition... 5 Resulting in blocks with manageable complexity, that can be designed individually. VLSI Design Styles FPGA 6 Full Custom Design Following the partitioning, the transistor level design of the building block is generated and simulated. The example shows a 1-bit full-adder schematic and its SPICE simulation results. 7 Full Custom Design After the initial transistor level schematic design is completed and verified, work begins on the full custom mask layouts of the cells. Most regular structures are built with a relatively small number of elementary components. The three blocks shown above are the only blocks required for a typical fast adder. Special care is given to ensure the modularity and regularity of the structure. 8 Full Custom Design In full-custom style, the designer has many degrees of freedom to optimize a circuit design: • Adjust individual transistor dimensions (channel width, channel length, aspect ratio, etc.) to satisfy: •DC specifications (voltage levels, switching thresholds) •Transient specifications (delay times, rise- and fall-times) • Freely choose the most appropriate topology (placement and routing) for each circuit block. • Decide for the interconnection strategy between neighboring blocks. • Decide for the global distribution of power, ground and clock. 9 Full Custom Design 10 Full Custom Design 11 Full Custom Design Flow 12 Full Custom Design The main objective of full custom design is to ensure fine-grained regularity and modularity. 13 Full Custom Design A carefully crafted full custom block can be placed both along the X and Y axis to form an interconnected two-dimensional array. Example: Data-path cells 14 Full Custom SRAM Cell Design 15 Mapping the Design into Layout Manual full-custom design can be very challenging and time consuming, especially if the low level regularity is not well defined ! 16 Design Hierarchy 4-input logic gate Flip-Flop 17 Design Hierarchy 4-bit register 18 Design Hierarchy 19 Design Hierarchy 20 Full Custom Design Full-custom design style allows the designer to have complete control over all aspects of the design. Potentially achievable: Highest possible performance (speed) Smallest silicon area Lowest power dissipation However, full-custom design requires extensive experience, and the design time can be very long !! 21 VLSI Design Styles FPGA 22 HDL Design 1980’s Hardware Description Languages (HDL) were conceived to facilitate the information exchange between design groups. 1990’s The increasing computation power led to the introduction of logic synthesizers that can translate the description in HDL into a synthesized gate-level net-list of the design. 2000’s Modern synthesis algorithms can optimize a digital design and explore different alternatives to identify the design that best meets the requirements. 23 HDL Design Modern hardware description languages allow structural descriptions that basically determine all interconnections between well-defined blocks: adder: component adder port map (a,b,ci,co,s); as well as purely behavioral descriptions like: sum <= a + b - c; The synthesizer is responsible for converting the behavioral description into an optimized design. 24 HDL Design The design problem is divided into blocks and sub blocks. A separate description is entered for each block. 25 HDL Design This is the main window of the Synopsys HDL compiler. At this stage the VHDL files have been read into the program. 26 HDL Design This is the cell “one-bit” that describes a one-bit full adder. The synthesizer was able to map the HDL code definition to a gate level description. 27 HDL Design The design is completely synthesized and mapped into the target technology. The logic gates have one-to-one equivalents as standard cells in the target technology. 28 Standard Cells AND 29 DFF INV XOR Standard Cells Each standard cell is pre-designed, with: Same cell height for all elements in the library Horizontal PWR and GND lines at the top and at the bottom Fixed pin locations (inputs and outputs) 30 Standard Cells 31 Standard Cells “routing” between the cells completed in the channel 32 Standard Cells 33 Standard Cells 34 Standard Cells 35 Standard Cells Rows of standard cells with routing channels between them Memory array 36 Standard Cells 37 Automatic Placement of Cells 38 Automatic Routing between Cells Close-up detail in Silicon Ensemble: 39 VLSI Design Styles FPGA 40 Mask Gate Array 41 Mask Gate Array Before customization 42 Mask Gate Array After customization (metal lines) 43 VLSI Design Styles FPGA 44 Field Programmable Gate Array 45 Field Programmable Gate Array 46 Field Programmable Gate Array Internal structure of a CLB 47 Field Programmable Gate Array 48 49 50 51 52