Transcript Microelectronic System Design
3. ASIC and SOC Design Methods: Structured VLSI Design
Spring 2009 Rajesh K. Gupta
Circuit Styles The evolving ASIC Design Methodology
Outline
References: Basic Logic Families, Kerry Bernstein, Ch. 7, of A. Chandrakasan
et. al.
book Chapter 11 of Rabaey book
Basic Logic Families
Circuit Styles Different possible circuit
topologies
for a given logic function (from the same set of basic transistor devices) even within CMOS:
compatible
CMOS styles Choice determined by design criteria: performance, power consumption, testability, ease of design (analysis) Available styles Nonclocked logic (clocked logic discussed after clocking) example: static combinatorial CMOS, differential cascode voltage-switch logic, pass-transistor logic generally: low power, ease of automated synthesis, easy timing analysis, reliability and noise immunity, defect tolerance, migration across process.
Reliability because nodes maintain values (never left to float), direct control of nodal values (noise immunity), switch points can be varied.
Nonclocked: Static Combinatorial CMOS
Operate under “push-pull” action Transfer function similar to the inverter transfer function unity gain point (UGP) point on the transfer function where slope is -1 a circuit will attenuate inputs less than the lower UGP and amplify inputs higher than the lower UGP switch point (SWP) where Vin = Vout can be skewed by the effective device sizing by hastening transition in a given direction noise margin is the difference between the least positive up level of the preceding stage and the upper UGP of the given stage or the most positive down level of the previous stage and the lower UGP of the given stage.
Static CMOS
Delay variations by the input pattern, by switching history by the active fanout load depending upon the channel state, gate-substrate capacitance changes (towards inversion gate-substrate capacitance drops) signal coupling in interconnect changes fanout load false switching (consumes about 15% of the total power) Design rules Alpha ratio: ratio of the total output capacitance on a given stage divided by its total input capacitance; (2.7 produces minimum PDP) Beta ratio: ratio of a given stage’s PFET W/L to its NFET W/L NAND n-stack design: body effect on the top device decreases its drive device tapering and signal positioning.
Domino CMOS
Domino logic is evaluated through single-sided transitions no need for complimentary logic implementations generally N-FET evaluation trees (smaller area) To ensure single transitions, all outputs are inverted so that the inputs only make a transition from low to high several issues related to capacitive coupling, noise immunity and false discharges
Pass-Gate Logic
Logic evaluation by signal coupling rather than by signal evaluation and redriving Generally lower capacitive loads However, many liabilities limited fan-in capability current discharge to ground through a pass-gate must be limited to achieve acceptable low levels at the receiver excessive fan-out the driver to pass gates (for example, output inverter driving subsequent pass gates) must be sized for all the paths its serves noise vulnerability interconnect coupling can be propagated through a pass gate Body bias effects reduce available drive Path protection need for decoders: when used as mux, gate inputs are needed to ensure paths are maintained.
Improved by complementary pass-gate logic (CPL)
Structured VLSI Design
Four Phases in Creating a Chip
The Design Problem
Source: sematech97
A growing gap between design complexity and design productivity
[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
VLSI-design Tools & Methodologies
Goal is to reduce complexity, increase productivity, and increase chances of a working chip Key is the use of
Constraints
and
Abstractions
Constraints help automate the procedure by simplifying the problem Abstractions collapse detail and arrive at a simpler problem to deal with Different design methodologies different types of constraints and trade-offs choice driven by economics!
Design Domains
Behavioral what a system does Structural how entities are connected together to perform the behavior Physical (geometrical) how to build a structure that has the required connectivity to implement the prescribed behavior
Levels of Design Abstractions for Each Design Domain
Architectural Algorithmic Module or functional block Logical Switch Circuit Device etc.
Design Abstraction Levels
SYSTEM
+
MODULE GATE
V in V out S n+ G
DEVICE
D n+ Adapted from Irwin & Nayaranan’s Slides from PSU. Copyright 2002 J. Rabaey et al."
Design Methodology
Design process traverses iteratively between behavior, structure, and geometry abstractions CAD tools providing more and more automation
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
A Simplified Flow
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Implementation Choices
Digital Circuit Implementation Approaches Custom Cell-based Semicustom Array-based Standard Cells Compiled Cells Macro Cells Pre-diffused (Gate Arrays) Pre-wired (FPGA's)
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Transition to Automation and Regular Structures Intel 4004 (‘71) Intel 8080 Intel 8085 Intel 8286 Intel 8486
Adapted from Digital Integrated Circuits (2 nd Courtesy Intel Edition). Copyright 2002 J. Rabaey et al."
Cell-based Design (or standard cells)
Routing channel requirements are reduced by presence of more interconnect layers
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Standard Cell - Example
3-input NAND cell (from ST Microelectronics): C = Load capacitance T = input rise/fall time
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Automatic Cell Generation
Initial transistor geometries Placed transistors Routed cell Compacted cell
Adapted from Digital Integrated Circuits (2 nd
Courtesy Acadabra
Edition). Copyright 2002 J. Rabaey et al."
Finished cell
MacroModules
256 32 (or 8192 bit) SRAM Generated by hard-macro module generator
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
“Soft” MacroModules
Synopsys DesignCompiler Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
“Intellectual Property”
A Protocol Processor for Wireless Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Semicustom Design Flow
Pre-Layout Simulation Design Capture HDL Logic Synthesis Behavioral Structural Post-Layout Simulation Circuit Extraction Floorplanning Placement Routing Tape-out
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Physical
The “Design Closure” Problem
Iterative Removal of Timing Violations (white lines)
Courtesy Synopsys
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Macromodules Fixed netlists
Integrating Synthesis with Physical Design
RTL (Timing) Constraints Physical Synthesis Netlist with Place-and-Route Info Place-and-Route Optimization Artwork
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Late-Binding Implementation
Digital Circuit Implementation Approaches Custom Cell-based Standard Cells Compiled Cells Semicustom Macro Cells Array-based Pre-diffused (Gate Arrays) Pre-wired (FPGA's)
Array-based Pre-diffused (Gate Arrays) Pre-wired (FPGA's)
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Gate Array — Sea-of-gates
V D D
rows of uncommitted cells
GND
polysilicon metal Uncommited Cell routing channel
In
1
In
2
In
3
In
4
Out
Committed Cell (4-input NOR)
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
PMOS Oxide-isolation
Sea-of-gate Primitive Cells
PMOS NMOS NMOS NMOS Using oxide-isolation Using gate-isolation
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Prewired Arrays
Classification of prewired arrays (or field-programmable devices):
Based on Programming Technique Fuse-based (program-once) Non-volatile EPROM based RAM based Programmable Logic Style Array-Based Look-up Table Programmable Interconnect Style Channel-routing Mesh networks
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Normally high resistance (> 100 M ) on application of appropriate voltage, the antifuse is changed permanently to a low resistance structure (200 500 )
Antifuse
Array-Based Programmable Logic
I
5
I
4
I
3
I
2
I
1
I
0
Programmable OR array
I
3
I
2
I
1
I
0
Programmable OR array
I
5
I
4
I
3
I
2
I
1
I
0
Fixed OR array Programmable AND array
PLA
O
3
O
2
O
1
O
0
Fixed AND array
O
3
O
2
O
1
O
0 PROM Indicates programmable connection Indicates fixed connection
Programmable AND array
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
PAL
O
3
O
2
O
1
O
0
1
X
2
X
1
X
0
Programming a PROM
: programmed node
NA NA f
1
f
0
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
A B
0 1
S F
2-input mux as programmable logic block
Configuration
A
0 0 0 0
X Y Y
1 1 1
B
0
X Y Y
0 0 1 0 0 1
S
0 1 1
X Y X X X Y
1
F=
0
X Y XY XY XY X
1
X Y Y
1
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Logic Cell of Actel Fuse-Based FPGA
A B SA C D SB S
0
S
1 1 1 1
Y Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Look-up Table Based Logic Cell
Out In 00 01 10 11 Out 00 1 1 0 ln1 ln2
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
LUT-Based Logic Cell
4 C 1 ....C
4 D 4 D 3 D 2 D 1 Logic function of xxx F 4 F 3 F 2 F 1 x xxxxx Logic function of xxx
Xilinx 4000 Series
xx Logic function of xxx x xx xx xx xx xxxx xxxx xxxx Bits control x xx x xxxx xx x x xx xx xx xx xx xx x Bits control x xx x x xxxx xx H P xx xx x Multiplexer Controlled by Configuration Program x
Adapted from Digital Integrated Circuits (2 nd
Courtesy Xilinx
Edition). Copyright 2002 J. Rabaey et al."
M
Array-Based Programmable Wiring
Interconnect Point Programmed interconnection
Cell
Input/output pin Horizontal tracks Vertical tracks
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Mesh-based Interconnect Network
Switch Box Connect Box Interconnect Point Courtesy Dehon and Wawrzyniek
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Transistor Implementation of Mesh
Courtesy Dehon and Wawrzyniek
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Hierarchical Mesh Network
Use overlayed mesh to support longer connections Reduced fanout and reduced resistance
Courtesy Dehon and Wawrzyniek
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Primary inputs
EPLD Block Diagram
Macrocell
Adapted from Digital Integrated Circuits (2 nd
Courtesy Altera
Edition). Copyright 2002 J. Rabaey et al."
Altera MAX
Adapted from Digital Integrated Circuits (2 nd
From Smith97
Edition). Copyright 2002 J. Rabaey et al."
LAB1
Altera MAX Interconnect Architecture
column channel row channel t PIA LAB2 LAB PIA t PIA LAB6
Array-based (MAX 3000-7000) Mesh-based (MAX 9000)
Adapted from Digital Integrated Circuits (2 nd
Courtesy Altera
Edition). Copyright 2002 J. Rabaey et al."
Field-Programmable Gate Arrays Fuse-based
I/O Buffers Program/Test/Diagnostics Vertical routes Standard-cell like floorplan Rows of logic modules Routing channels I/O Buffers
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Xilinx 4000 Interconnect Architecture
CLB 2 12 Quad 4 4 8 4 8 4 2 Long Global Clock Long Double Single Global Clock Carry Chain Direct Connect 3 12 8 4 3 Quad Single Double Long Direct Connect Long
Adapted from Digital Integrated Circuits (2 nd
Courtesy Xilinx
Edition). Copyright 2002 J. Rabaey et al."
RAM-based FPGA
Adapted from Digital Integrated Circuits (2 nd
Courtesy Xilinx
Edition). Copyright 2002 J. Rabaey et al."
Xilinx XC4000ex
Architecture ReUse
Silicon System Platform 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 Application-domain specific (difference in constraints) Speed (compute power) Dissipation Costs Real / non-real time data
Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."
Platform-Based Design
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
Adapted from Digital Integrated Circuits (2 nd
Source:R.Newton
Edition). Copyright 2002 J. Rabaey et al."
Heterogeneous Programmable Platforms
FPGA Fabric Embedded memories Embedded PowerPc Hardwired multipliers
Xilinx Vertex-II Pro
High-speed I/O
Adapted from Digital Integrated Circuits (2 nd
Courtesy Xilinx
Edition). Copyright 2002 J. Rabaey et al."
Hierarchy
Principles of Structured Design Techniques
Regularity Modularity Locality
Source: Mani Srivastava, UCLA
Hierarchy
Divide and conquer compose system from simpler widgets Analogy with software break large programs into threads and subroutines Hierarchy can be there in all domains behavior, structural, physical The hierarchy in different domains may not correspond e.g. a structural hierarchy may not map well to physical
Source: Mani Srivastava, UCLA
Example of Structural Hierarchy
Source: Mani Srivastava, UCLA
Example of Physical Hierarchy
Source: Mani Srivastava, UCLA
Example of Structural Hierarchy
Source: Mani Srivastava, UCLA
Example of Physical Hierarchy
Source: Mani Srivastava, UCLA
Repartitioning Structural Hierarchy to Fit Physical Hierarchy
Source: Mani Srivastava, UCLA
Regularity
Hierarchy breaks a system into submodules but this may not solve the complexity problem there may not be any regularity in the subdivision ' we just end up with a large # of different submodules Regularity as a guide subdivide into a set of similar building blocks ' e.g. RAM composed of identical cells Regularity means that the hierarchical decomposition of a large system should result in not only simple, but also similar blocks, as much as possible
Source: Mani Srivastava, UCLA
Regularity (contd.)
Regularity can be at all levels circuit: use identically sized transistors gate: similar gate structures higher level: architectures with identical processors Regularity helps in many ways correct by construction reuse of design simplify verification of correctness
Source: Mani Srivastava, UCLA
Circuit-level Regularity Example
A 2-1 Mux D-type edge triggered flipflop One-bit full add All designed using inverter and tristate buffer
Source: Mani Srivastava, UCLA
Modularity
Condition that submodules have “well-defined” functions and interfaces in addition to regularity and hierarchy ‘Well-formed” modules allow their interaction with others to be “well-characterized” Depends on the situation e.g. in s/w a subroutine has a well-defined interface ' argument list with typed variables e.g. in IC a well-defined physical, structural, and behavioral interface ' pin position, layer, size, signal type, electrical characteristics, logic function
Source: Mani Srivastava, UCLA
Why Modularity?
Allows the design of system to be broken up with confidence that the system will work as specified when the parts are combined Allows team design by a number of designers Examples: bad use: use of transmission gates as inputs ' internal signals now depend on source impedance bad use: use dynamic CMOS logic but fail to latch or register the inputs ' timing of each module will have to be checked
Source: Mani Srivastava, UCLA
Locality
Modularity provided “well-characterized” interfaces internals of modules unimportant to exterior interface ' internal details remain at the local level a form of “information hiding” ' reduces apparent complexity of the module Locality ensures that connections are between neighboring modules, avoiding long-distance connections Example: timing locality so that time critical operations are local ' ' clock generation and distribution network entire clock cycle for global signals to traverse chip ' placement so that global wiring is minimized Analogy with software ' global variables are to be avoided
Source: Mani Srivastava, UCLA
Parallels between H/W & S/W Design
Strong parallels in the way VLSIs are designed and the way complex software is HDLs used to describe hardware systems in essence merge these two disciplines software methods used to define hardware Hardware-software Co-design But, can’t ignore hardware aspects entirely important since a physical chip is the end product
Source: Mani Srivastava, UCLA