Microelectronic System Design

Download Report

Transcript Microelectronic System Design

3. ASIC and SOC Design Methods:
Structured VLSI Design
Spring 2009
Rajesh K. Gupta
Outline
Circuit Styles
 The evolving ASIC Design Methodology


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 passgate
 Body bias effects reduce available drive
 Path protection need for decoders: when used as mux, gate
inputs are needed to ensure paths are maintained.

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

Structural
 how

a system does
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
CIRCUIT
Vin
Vout
DEVICE
G
S
n+
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 (2nd Edition). Copyright 2002 J. Rabaey et al."
A Simplified Flow
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Implementation Choices
Digital Circuit Implementation Approaches
Custom
Semicustom
Cell-based
Standard Cells
Compiled Cells
Macro Cells
Array-based
Pre-diffused
(Gate Arrays)
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Pre-wired
(FPGA's)
Transition to Automation and Regular Structures
Intel 4004 (‘71)
Intel 8080
Intel 8286
Intel 8085
Intel 8486
Courtesy Intel
Adapted from Digital Integrated Circuits (2nd 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 (2nd 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 (2nd Edition). Copyright 2002 J. Rabaey et al."
Automatic Cell Generation
Initial transistor
geometries
Placed
transistors
Routed
cell
Compacted
cell
Courtesy Acadabra
Adapted from Digital Integrated Circuits (2nd 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 (2nd Edition). Copyright 2002 J. Rabaey et al."
“Soft” MacroModules
Synopsys DesignCompiler
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
“Intellectual Property”
A Protocol Processor for Wireless
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Semicustom Design Flow
Design Capture
Behavioral
Design Iteration
HDL
Pre-Layout
Simulation
Structural
Logic Synthesis
Floorplanning
Post-Layout
Simulation
Placement
Circuit Extraction
Routing
Tape-out
Adapted from Digital Integrated Circuits (2nd 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 (2nd Edition). Copyright 2002 J. Rabaey et al."
Integrating Synthesis with
Physical Design
RTL (Timing) Constraints
Physical Synthesis
Macromodules
Fixed netlists
Netlist with
Place-and-Route Info
Place-and-Route
Optimization
Artwork
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Late-Binding Implementation
Digital Circuit Implementation Approaches
Custom
Semicustom
Cell-based
Standard Cells
Compiled Cells
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 (2nd Edition). Copyright 2002 J. Rabaey et al."
Gate Array — Sea-of-gates
polysilicon
VD D
rows of
uncommitted
cells
metal
possible
contact
GND
In 1 In 2
Uncommited
Cell
In 3 In4
routing
channel
Committed
Cell
(4-input NOR)
Out
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Sea-of-gate Primitive Cells
Oxide-isolation
PMOS
PMOS
NMOS
NMOS
NMOS
Using oxide-isolation
Using gate-isolation
Adapted from Digital Integrated Circuits (2nd 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 (2nd Edition). Copyright 2002 J. Rabaey et al."
Antifuse

Normally high resistance (>
100 M)
 on
application of appropriate
voltage, the antifuse is
changed permanently to a low
resistance structure (200500)
Array-Based Programmable Logic
I5
I4
I3
I2
I1
I0
Programmable
OR array
Programmable AND array
I2
I1
I0
Programmable
OR array
Fixed AND array
O 3O 2O 1O 0
PLA
I3
I5
I4
I3
I2
I1
I0
Fixed OR array
Programmable AND array
O3O2O1O0
PROM
Indicates programmable connection
Indicates fixed connection
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
O 3O 2O 1O 0
PAL
Programming a PROM
1
X2
X1
X0
: programmed node
NA NA f 1 f 0
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
2-input mux
as programmable logic block
Configuration
A
0
F
B
1
S
A
B
S
F=
0
0
0
0
X
Y
Y
1
1
1
0
X
Y
Y
0
0
1
0
0
1
0
1
1
X
Y
X
X
X
Y
1
0
X
Y
XY
XY
XY
X1 Y
X
Y
1
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Logic Cell of Actel Fuse-Based FPGA
A
B
1
SA
Y
1
C
D
1
SB
S0
S1
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Memory
Look-up Table Based Logic Cell
Out
In
Out
00
00
01
1
10
1
11
0
ln1 ln2
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
LUT-Based Logic Cell
4
C1....C4
xx
xxxx
xxxx
xxxx
Bits
control
D4
D3
D2
Logic
function
of
xxx
D1
Logic
functionx
of
xxx
F4
F3
F2
F1
xx
xx
xx
xx
Logic
function
of
xxx
x
xxxxx
Xilinx 4000 Series
xxxx
xx
x xx x
xx xx
x
x
x
x
Bits
control
xx
xx
xx
xx
xxxx
x xx x
xx
xx xx
H
P
x
Multiplexer Controlled
by Configuration Program
Courtesy Xilinx
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
x
Array-Based Programmable Wiring
M
Interconnect
Point
Programmed interconnection
Input/output pin
Cell
Horizontal
tracks
Vertical tracks
Adapted from Digital Integrated Circuits (2nd 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 (2nd Edition). Copyright 2002 J. Rabaey et al."
Transistor Implementation of Mesh
Courtesy Dehon and Wawrzyniek
Adapted from Digital Integrated Circuits (2nd 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 (2nd Edition). Copyright 2002 J. Rabaey et al."
EPLD Block Diagram
Macrocell
Primary inputs
Courtesy Altera
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Altera MAX
From Smith97
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Altera MAX Interconnect Architecture
column channel
row channel
t PIA
LAB1
LAB2
LAB
PIA
t PIA
LAB6
Array-based
(MAX 3000-7000)
Mesh-based
(MAX 9000)
Courtesy Altera
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Field-Programmable Gate Arrays
Fuse-based
I/O Buffers
Program/Test/Diagnostics
Vertical routes
I/O Buffers
I/O Buffers
Standard-cell like
floorplan
Rows of logic modules
Routing channels
I/O Buffers
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
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
2
Carry
Direct
Clock Chain Connect
Courtesy Xilinx
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Direct
Connect
Long
RAM-based FPGA
Xilinx XC4000ex
Courtesy Xilinx
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
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 (2nd 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 architecturemicro-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
Adapted from Digital Integrated Circuits
(2nd
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
Courtesy Xilinx
Adapted from Digital Integrated Circuits (2nd Edition). Copyright 2002 J. Rabaey et al."
Principles of Structured Design
Techniques

Hierarchy

Regularity

Modularity

Locality
Source: Mani Srivastava, UCLA
Hierarchy

Divide and conquer
 compose

Analogy with software
 break

large programs into threads and subroutines
Hierarchy can be there in all domains
 behavior,

system from simpler widgets
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
'
a
internal details remain at the local level
form of “information hiding”
'

of modules unimportant to exterior interface
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
Source: Mani Srivastava, UCLA
since a physical chip is the end product