Chapter 8 Design Methodologies Rev 1 0 051103

  • Slides: 60
Download presentation
Chapter 8 Design Methodologies Rev. 1. 0 05/11/03 Design Methodologie

Chapter 8 Design Methodologies Rev. 1. 0 05/11/03 Design Methodologie

The Design Productivity Challenge Logic Transistors per Chip (K) Produc 1981 1983 1985 1987

The Design Productivity Challenge Logic Transistors per Chip (K) Produc 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009 A growing gap between design complexity and design productivity Source: sematech 97 Design Methodologie

A Simple Processor INPUT/OUTPUT MEMORY CONTROL INPUT-OUTPUT DATAPATH Design Methodologie

A Simple Processor INPUT/OUTPUT MEMORY CONTROL INPUT-OUTPUT DATAPATH Design Methodologie

A System-on-a-Chip: Example Courtesy: Philips Design Methodologie

A System-on-a-Chip: Example Courtesy: Philips Design Methodologie

None 1 -10 Embedded microprocessor Configurable/Parameterizable 10 -100 Hardwired custom Energy Efficiency (in MOPS/m.

None 1 -10 Embedded microprocessor Configurable/Parameterizable 10 -100 Hardwired custom Energy Efficiency (in MOPS/m. W) 100 -1000 Domain-specific processor (e. g. DSP) Impact of Implementation Choices 0. 1 -1 Somewhat flexible Fully flexible Flexibility (or application scope) Design Methodologie

Design Methodology • Design process traverses iteratively between three abstractions: behavior, structure, and geometry

Design Methodology • Design process traverses iteratively between three abstractions: behavior, structure, and geometry • More and more automation for each of these steps Design Methodologie

Implementation Choices Digital Circuit Implementation Approaches Custom Semicustom Cell-based Standard Cells Compiled Cells Macro

Implementation Choices Digital Circuit Implementation Approaches Custom Semicustom Cell-based Standard Cells Compiled Cells Macro Cells Array-based Pre-diffused (Gate Arrays) Pre-wired (FPGA's) Design Methodologie

The Custom Approach Intel 4004 Courtesy Intel Design Methodologie

The Custom Approach Intel 4004 Courtesy Intel Design Methodologie

Transition to Automation and Regular Structures Intel 4004 (‘ 71) Intel 8080 Intel 8286

Transition to Automation and Regular Structures Intel 4004 (‘ 71) Intel 8080 Intel 8286 Intel 8085 Intel 8486 Courtesy Intel Design Methodologie

Cell-based Design (or standard cells) Routing channel requirements are reduced by presence of more

Cell-based Design (or standard cells) Routing channel requirements are reduced by presence of more interconnect layers Design Methodologie

Standard Cell — Example [Brodersen 92] Design Methodologie

Standard Cell — Example [Brodersen 92] Design Methodologie

Standard Cell – The New Generation Cell-structure hidden under interconnect layers Design Methodologie

Standard Cell – The New Generation Cell-structure hidden under interconnect layers Design Methodologie

Standard Cell - Example 3 -input NAND cell (from ST Microelectronics): C = Load

Standard Cell - Example 3 -input NAND cell (from ST Microelectronics): C = Load capacitance T = input rise/fall time Design Methodologie

Automatic Cell Generation Initial transistor geometries Placed transistors Routed cell Compacted cell Courtesy Acadabra

Automatic Cell Generation Initial transistor geometries Placed transistors Routed cell Compacted cell Courtesy Acadabra Finished cell Design Methodologie

A Historical Perspective: the PLA Product terms x 0 x 1 x 2 AND

A Historical Perspective: the PLA Product terms x 0 x 1 x 2 AND plane OR plane f 0 x 1 f 1 x 2 Design Methodologie

Two-Level Logic Every logic function can be expressed in sum-of-products format (AND-OR) minterm Inverting

Two-Level Logic Every logic function can be expressed in sum-of-products format (AND-OR) minterm Inverting format (NORNOR) more effective Design Methodologie

PLA Layout – Exploiting Regularity V DD And-Plane Or-Plane f GND Design Methodologie

PLA Layout – Exploiting Regularity V DD And-Plane Or-Plane f GND Design Methodologie

Breathing Some New Life in PLAs River PLAs q q A cascade of multiple-output

Breathing Some New Life in PLAs River PLAs q q A cascade of multiple-output PLAs. Adjacent PLAs are connected via river routing. • No placement and routing needed. • Output buffers and the input buffers of the next stage are shared. Courtesy B. Brayton Design Methodologie

Experimental Results Area: RPLAs (2 layers) 1. 23 SCs (3 layers) 1. 00, NPLAs

Experimental Results Area: RPLAs (2 layers) 1. 23 SCs (3 layers) 1. 00, NPLAs (4 layers) 1. 31 Delay RPLAs 1. 04 SCs 1. 00 NPLAs 1. 09 Synthesis time: for RPLA , synthesis time equals design time; SCs and NPLAs still need P&R. Also: RPLAs are regular and predictable Layout of C 2670 Standard cell, 2 layers channel routing Standard cell, 3 layers OTC Network of PLAs, 4 layers OTC River PLA, 2 layers no additional routing Design Methodologie

Macro. Modules 256 32 (or 8192 bit) SRAM Generated by hard-macro module generator Design

Macro. Modules 256 32 (or 8192 bit) SRAM Generated by hard-macro module generator Design Methodologie

“Soft” Macro. Modules Synopsys Design. Compiler Design Methodologie

“Soft” Macro. Modules Synopsys Design. Compiler Design Methodologie

“Intellectual Property” A Protocol Processor for Wireless Design Methodologie

“Intellectual Property” A Protocol Processor for Wireless Design Methodologie

Semicustom Design Flow Design Iteration Design Capture Pre-Layout Simulation Behavioral HDL Logic Synthesis Structural

Semicustom Design Flow Design Iteration Design Capture Pre-Layout Simulation Behavioral HDL Logic Synthesis Structural Floorplanning Post-Layout Simulation Placement Circuit Extraction Routing Physical Tape-out Design Methodologie

The “Design Closure” Problem Iterative Removal of Timing Violations (white lines) Courtesy Synopsys Design

The “Design Closure” Problem Iterative Removal of Timing Violations (white lines) Courtesy Synopsys Design Methodologie

Integrating Synthesis with Physical Design RTL (Timing) Constraints Physical Synthesis Macromodules Fixed netlists Netlist

Integrating Synthesis with Physical Design RTL (Timing) Constraints Physical Synthesis Macromodules Fixed netlists Netlist with Place-and-Route Info Place-and-Route Optimization Artwork Design Methodologie

Late-Binding Implementation Array-based Pre-diffused (Gate Arrays) Pre-wired (FPGA's) Design Methodologie

Late-Binding Implementation Array-based Pre-diffused (Gate Arrays) Pre-wired (FPGA's) Design Methodologie

Gate Array — Sea-of-gates Uncommited Cell Committed Cell (4 -input NOR) Design Methodologie

Gate Array — Sea-of-gates Uncommited Cell Committed Cell (4 -input NOR) Design Methodologie

Sea-of-gate Primitive Cells Using oxide-isolation Using gate-isolation Design Methodologie

Sea-of-gate Primitive Cells Using oxide-isolation Using gate-isolation Design Methodologie

Example: Base Cell of Gate. Isolated GA From Smith 97 Design Methodologie

Example: Base Cell of Gate. Isolated GA From Smith 97 Design Methodologie

Example: Flip-Flop in Gate. Isolated GA From Smith 97 Design Methodologie

Example: Flip-Flop in Gate. Isolated GA From Smith 97 Design Methodologie

Sea-of-gates Random Logic Memory Subsystem LSI Logic LEA 300 K (0. 6 mm CMOS)

Sea-of-gates Random Logic Memory Subsystem LSI Logic LEA 300 K (0. 6 mm CMOS) Courtesy LSI Logic Design Methodologie

The return of gate arrays? Via programmable gate array (VPGA) Via-programmable cross-point metal-5 metal-6

The return of gate arrays? Via programmable gate array (VPGA) Via-programmable cross-point metal-5 metal-6 programmable via Exploits regularity of interconnect [Pileggi 02] Design Methodologie

Prewired Arrays Classification of prewired arrays (or fieldprogrammable devices): q Based on Programming Technique

Prewired Arrays Classification of prewired arrays (or fieldprogrammable devices): q Based on Programming Technique § Fuse-based (program-once) § Non-volatile EPROM based § RAM based q Programmable Logic Style § Array-Based § Look-up Table q Programmable Interconnect Style § Channel-routing § Mesh networks Design Methodologie

Fuse-Based FPGA antifuse polysilicon ONO dielectric n+ antifuse diffusion 2 l Open by default,

Fuse-Based FPGA antifuse polysilicon ONO dielectric n+ antifuse diffusion 2 l Open by default, closed by applying current pulse From Smith 97 Design Methodologie

Array-Based Programmable Logic I 5 I 4 I 3 I 2 I 1 I

Array-Based Programmable Logic I 5 I 4 I 3 I 2 I 1 I 0 Programmable OR array Programmable AND array I 2 I 1 I 0 Programmable OR array Fixed AND array O 3 O 2 O 1 O 0 PLA I 3 I 5 I 4 I 3 I 2 I 1 I 0 Fixed OR array Programmable AND array O 3 O 2 O 1 O 0 PROM O 3 O 2 O 1 O 0 PAL Indicates programmable connection Indicates fixed connection Design Methodologie

Programming a PROM 1 X 2 X 1 X 0 : programmed node NA

Programming a PROM 1 X 2 X 1 X 0 : programmed node NA NA f 1 f 0 Design Methodologie

More Complex PAL i inputs, j minterms/macrocell, k macrocells From Smith 97 Design Methodologie

More Complex PAL i inputs, j minterms/macrocell, k macrocells From Smith 97 Design Methodologie

2 -input mux as programmable logic block Configuration A 0 F B 1 S

2 -input mux as programmable logic block Configuration A 0 F B 1 S A B S F= 0 0 X Y Y 1 1 1 0 X Y Y 0 0 1 0 1 1 X Y X X X Y 1 0 X Y XY X 1 Y X Y 1 Design Methodologie

Logic Cell of Actel Fuse-Based FPGA Design Methodologie

Logic Cell of Actel Fuse-Based FPGA Design Methodologie

Look-up Table Based Logic Cell Design Methodologie

Look-up Table Based Logic Cell Design Methodologie

LUT-Based Logic Cell 4 C 1. . C 4 xx D 4 D 3

LUT-Based Logic Cell 4 C 1. . C 4 xx D 4 D 3 D 2 Logic function of xxx D 1 F 3 F 2 F 1 Logic function of xxx x xxxxx Xilinx 4000 Series xxxx Bits control xx xx Logic functionx of xxx F 4 xxxx Figure must be updated xxxx xx x x Bits control xx xx xxxx xx xx H P x x Multiplexer Controlled by Configuration Program Courtesy Xilinx Design Methodologie

Array-Based Programmable Wiring Interconnect Point Programmed interconnection Input/output pin Cell Horizontal tracks Vertical tracks

Array-Based Programmable Wiring Interconnect Point Programmed interconnection Input/output pin Cell Horizontal tracks Vertical tracks Design Methodologie

Network Switch Box Connect Box Interconnect Point Courtesy Dehon and Wawrzyniek Design Methodologie

Network Switch Box Connect Box Interconnect Point Courtesy Dehon and Wawrzyniek Design Methodologie

Transistor Implementation of Mesh Courtesy Dehon and Wawrzyniek Design Methodologie

Transistor Implementation of Mesh Courtesy Dehon and Wawrzyniek Design Methodologie

Hierarchical Mesh Network Use overlayed mesh to support longer connections Reduced fanout and reduced

Hierarchical Mesh Network Use overlayed mesh to support longer connections Reduced fanout and reduced resistance Courtesy Dehon and Wawrzyniek Design Methodologie

EPLD Block Diagram Macrocell Primary inputs Courtesy Altera Design Methodologie

EPLD Block Diagram Macrocell Primary inputs Courtesy Altera Design Methodologie

Altera MAX From Smith 97 Design Methodologie

Altera MAX From Smith 97 Design Methodologie

Altera MAX Interconnect Architecture column channel row channel t PIA LAB 1 LAB 2

Altera MAX Interconnect Architecture column channel row channel t PIA LAB 1 LAB 2 LAB PIA t PIA LAB 6 Array-based (MAX 3000 -7000) Mesh-based (MAX 9000) Courtesy Altera Design Methodologie

Field-Programmable Gate Arrays Fuse-based Standard-cell like floorplan Design Methodologie

Field-Programmable Gate Arrays Fuse-based Standard-cell like floorplan Design Methodologie

Xilinx 4000 Interconnect Architecture CLB 12 Quad 8 Single 4 Double 3 Long 2

Xilinx 4000 Interconnect Architecture CLB 12 Quad 8 Single 4 Double 3 Long 2 3 12 4 4 8 Quad Long Global Long Clock 4 8 4 Double Single Global Direct Connect Long 2 Carry Direct Clock Chain Connect Courtesy Xilinx Design Methodologie

RAM-based FPGA Xilinx XC 4000 ex Courtesy Xilinx Design Methodologie

RAM-based FPGA Xilinx XC 4000 ex Courtesy Xilinx Design Methodologie

A Low-Energy FPGA (UC Berkeley) Array Size: 8 x 8 (2 x 4 LUT)

A Low-Energy FPGA (UC Berkeley) Array Size: 8 x 8 (2 x 4 LUT) q Power Supply: 1. 5 V & 0. 8 V q Configuration: Mapped as RAM q Toggle Frequency: 125 MHz q Area: 3 mm x 3 mm q Design Methodologie

Larger Granularity FPGAs PADDI-2 (UC Berkeley) q 1 -mm 2 -metal CMOS tech q

Larger Granularity FPGAs PADDI-2 (UC Berkeley) q 1 -mm 2 -metal CMOS tech q 1. 2 x 1. 2 mm 2 q 600 k transistors q 208 -pin PGA q fclock = 50 MHz q P = av q Basic Module: Datapath 3. 6 W @ 5 V Design Methodologie

Design at a crossroad 500 k Gates FPGA Multi. Spectral + 1 Gbit DRAM

Design at a crossroad 500 k Gates FPGA Multi. Spectral + 1 Gbit DRAM Imager Preprocessing 64 SIMD Processor Array + SRAM Image Conditioning 100 GOPS Analog System-on-a-Chip m. C system +2 Gbit DRAM Recognition q q q Embedded applications where cost, performance, and energy are the real issues! DSP and control intensive Mixed-mode Combines programmable and application-specific modules Software plays crucial role Design Methodologie

Addressing the Design Complexity Issue Architecture Reuse comes in generations Source: Theo Claasen (Philips)

Addressing the Design Complexity Issue Architecture Reuse comes in generations Source: Theo Claasen (Philips) – DAC 00 Design Methodologie

Architecture Re. Use q Silicon System Platform § § § q Flexible architecture for

Architecture Re. Use q Silicon System Platform § § § q Flexible architecture for hardware and software Specific (programmable) components Network architecture Software modules Rules and guidelines for design of HW and SW Has been successful in PC’s § Dominance of a few players who specify and control architecture q Application-domain specific (difference in constraints) § § Speed (compute power) Dissipation Costs Real / non-real time data Design Methodologie

Platform-Based Design q q “Only the consumer gets freedom of choice; designers need freedom

Platform-Based Design q q “Only the consumer gets freedom of choice; designers need freedom from choice” (Orfali, et al, 1996, p. 522) A platform is a restriction on the space of possible implementation choices, providing a well-defined abstraction of the underlying technology for the application developer New platforms will be defined at the architecture-micro-architecture boundary They will be component-based, and will provide a range of choices from structured-custom to fully programmable implementations Key to such approaches is the representation of communication in the platform model Source: R. Newton Design Methodologie

Berkeley Pleiades Processor • 0. 25 um 6 -level metal CMOS FPGA • 5.

Berkeley Pleiades Processor • 0. 25 um 6 -level metal CMOS FPGA • 5. 2 mm x 6. 7 mm • 1. 2 Million transistors Reconfigurable Data-path Interface ARM 8 Core • 40 MHz at 1 V • 2 extra supplies: 0. 4 V, 1. 5 V • 1. 5~2 m. W power dissipation Design Methodologie

Heterogeneous Programmable Platforms FPGA Fabric Embedded memories Embedded Power. Pc Hardwired multipliers Xilinx Vertex-II

Heterogeneous Programmable Platforms FPGA Fabric Embedded memories Embedded Power. Pc Hardwired multipliers Xilinx Vertex-II Pro High-speed I/O Courtesy Xilinx Design Methodologie

Summary Digital CMOS Design is kicking and healthy q Some major challenges down the

Summary Digital CMOS Design is kicking and healthy q Some major challenges down the road caused by Deep Sub-micron q § Super GHz design § Power consumption!!!! § Reliability – making it work Some new circuit solutions are bound to emerge q Who can afford design in the years to come? Some major design methodology change in the making! Design Methodologie