Design Methodologies

advertisement
Design
Methodologies
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
The Design Problem
Source: sematech97
A growing gap between design complexity and design productivity
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Design Methodology
•Design process traverses iteratively between three abstractions:
behavior, structure, and geometry
•More and more automation for each of these steps
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Design Analysis and Verification
Accounts for largest fraction of design time
l More efficient when done at higher levels of
abstraction - selection of correct analysis
level can account for multiple orders of
magnitude in verification time
l Two major approaches:
» Simulation
» Verification
l
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Digital Data treated as Analog Signal
VDD
Sp
Vin
Vout
5.0
Gn,p
In
D n,p
Out
Vo ut ( V)
Bp
3.0
t pHL
1.0
Bn
Sn
–1.0
0
0.5
1
1.5
2
t (nsec)
Circuit Simulation
Both Time and Data treated as Analog Quantities
Also complicated by presence of non-linear elements
(relaxed in timing simulation)
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Representing Data as Discrete Entity
V
0
1
VDD
0
VM
Rp
t1
t
t2
CL
Discretizing the data using
switching threshold
Rn
The linear switch model
of the inverter
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Circuit versus Switch-Level Simulation
5.0
Circuit
CIN
OUT[2]
3.0
OUT[3]
1.0
–1.0
0
5
10
15
20
Switch
time (nsec)
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Structural Description of Accumulator
entity accumulator is
port ( -- definition of input and output terminals
DI: in bit_vector(15 downto 0) -- a vector of 16 bit wide
DO: inout bit_vector(15 downto 0);
CLK: in bit
);
end accumulator;
architecture structure of accumulator is
component reg -- definition of register ports
port (
DI : in bit_vector(15 downto 0);
DO : out bit_vector(15 downto 0);
CLK : in bit
);
end component;
component add -- definition of adder ports
port (
IN0 : in bit_vector(15 downto 0);
IN1 : in bit_vector(15 downto 0);
OUT0 : out bit_vector(15 downto 0)
);
end component;
-- definition of accumulator structure
si gnal X : bit_vector(15 downto 0);
begin
add1 : add
port map (DI, DO, X); -- defines port connectivity
reg1 : reg
port map (X, DO, CLK);
end structure;
Digital Integrated Circuits
Design defined as composition of
register and full-adder cells (“netlist”)
Data represented as {0,1,Z}
Time discretized and progresses with
unit steps
Description language: VHDL
Other options: schematics, Verilog
Design Methodologies
© Prentice Hall 1995
Behavioral Description of Accumulator
entity accumulator is
port (
DI : in integer;
DO : inout integer := 0;
CLK : in bit
);
end accumulator;
architecture behavior of accumulator is
begin
process(CLK)
variable X : integer := 0; -- intermediate variable
begin
if CLK = '1' then
X <= DO + D1;
DO <= X;
end if;
end process;
end behavior;
Digital Integrated Circuits
Design described as set of input-output
relations, regardless of chosen
implementation
Data described at higher abstraction
level (“integer”)
Design Methodologies
© Prentice Hall 1995
Behavioral simulation of accumulator
Discrete time
Integer data
(Synopsys Waves display tool)
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Timing Verification
Critical path
Enumerates and rank
orders critical timing paths
No simulation needed!
(Synopsys-Epic Pathmill)
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Issues in Timing Verification
In
4-bit adder
MUX
Out
bypass
False Timing Paths
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Implementation Methodologies
Digital Circuit Implementation Approaches
Semi-custom
Custom
Cell-Based
Standard Cells
Compiled Cells
Digital Integrated Circuits
Macro Cells
Design Methodologies
Array-Based
Pre-diffused
(Gate Arrays)
Pre-wired
(FPGA)
© Prentice Hall 1995
Custom Design –
Layout Editor
Magic Layout Editor
(UC Berkeley)
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Symbolic Layout
VDD
3
Out
In
1
•Dimensionless layout entities
•Only topology is important
•Final layout generated by
“compaction”program
GND
Stick diagram of inverter
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Cell-based Design (or standard cells)
Logic Cell
Rows of Cells
Feedthrough Cell
Digital Integrated Circuits
Routing
Channel
Functional
Module
(RAM,
multiplier, … )
Design Methodologies
Routing channel
requirements are
reduced by presence
of more interconnect
layers
© Prentice Hall 1995
Standard Cell — Example
[Brodersen92]
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Standard Cell - Example
3-input NAND cell
(from Mississippi State Library)
characterized for fanout of 4 and
for three different technologies
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Automatic Cell Generation
Random-logic layout
generated by CLEO
cell compiler (Digital)
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Module Generators —
Compiled Datapath
buffer
adder
reg1
reg0
bus2
mux
bus0
bus1
routing area
feed-through
bit-slice
Advantages: One-dimensional placement/routing problem
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Macrocell Design Methodology
Macrocell
Interconnect Bus
Floorplan:
Defines overall
topology of design,
relative placement of
modules, and global
routes of busses,
supplies, and clocks
Digital Integrated Circuits
Routing Channel
Design Methodologies
© Prentice Hall 1995
Macrocell-Based Design
Example
SRAM
Routing Channel
SRAM
Data paths
Standard cells
Video-encoder chip
[Brodersen92]
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Gate Array — Sea-of-gates
polysilicon
VDD
rows of
uncommitted
cells
metal
possible
contact
GND
In1 In2
Uncommited
Cell
In3 In4
routing
channel
Committed
Cell
(4-input NOR)
Out
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Sea-of-gate Primitive Cells
Oxide-isolation
PMOS
PMOS
NMOS
NMOS
NMOS
Using oxide-isolation
Digital Integrated Circuits
Using gate-isolation
Design Methodologies
© Prentice Hall 1995
Sea-of-gates
Random Logic
Memory
Subsystem
LSI Logic LEA300K
(0.6 µm CMOS)
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Prewired Arrays
Categories of prewired arrays (or fieldprogrammable devices):
l Fuse-based (program-once)
l Non-volatile EPROM based
l RAM based
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Programmable Logic Devices
PLA
Digital Integrated Circuits
PROM
Design Methodologies
PAL
© Prentice Hall 1995
EPLD Block Diagram
Macrocell
Primary inputs
Courtesy Altera Corp.
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
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
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Interconnect
Programmed interconnection
Input/output pin
Cell
Antifuse
Horizontal
tracks
Vertical tracks
Digital Integrated Circuits
Programming interconnect using anti-fuses
Design Methodologies
© Prentice Hall 1995
Field-Programmable Gate Arrays
RAM-based
CLB
CLB
swi tching matrix
Horizontal
routing
channel
Interconnect point
CLB
CLB
Vertical routing channel
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
RAM-based FPGA
Basic Cell (CLB)
Combinational logic
Storage elements
R
D in
A
B/Q1/Q2
Any function of up to
4 variables
C/Q1/Q2
R
F
F
CE
D
A
B/Q1/Q2
D Q1
G
Any function of up to
4 variables
R
G
C/Q1/Q2
F
D
G
E
F
D Q2
CE
G
Clock
CE
Courtesy of Xilinx
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
RAM-based FPGA
Xilinx XC4025
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Taxonomy of Synthesis Tasks
Structural View
Behavioral View
Architectural Level
Logic Level
Circuit Level
state
a
b
0
(i: 1..16) ::
sum = sum*z –1 +
coeff[i]*In*z–1
2
1
3
tp
Logic
Synthesis
Architecture
Synthesis
4
fsm
c
*
Digital Integrated Circuits
Circuit
Synthesis
a
b
mem
x
c
x
D
Design Methodologies
a
2
b
2
1
c
© Prentice Hall 1995
Design
for Test
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Validation and Test of
Manufactured Circuits
Goals of Design-for-Test (DFT)
Make testing of manufactured part swift and
comprehensive
DFT Mantra
Provide controllability and observability
Components of DFT strategy
•Provide circuitry to enable test
•Provide test patterns that guarantee reasonable
coverage
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Test Classification
l
Diagnostic test
» used in chip/board debugging
» defect localization
l
“go/no go”or production test
» Used in chip production
l
Parametric test
» x ε [v,i] versus x ε [0,1]
» check parameters such as NM, Vt, tp, T
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Design for Testability
N inputs
N inputs
Combinational
K outputs
Combinational
K outputs
Logic
Logic
Module
Module
M state regs
(a) Combinational function
(b) Sequential engine
2N patterns
2N+M patterns
Exhaustive test is impossible or unpractical
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Problem:
Controllability/Observability
l
Combinational Circuits:
controllable and observable - relatively easy to
determine test patterns
l
Sequential Circuits: State!
Turn into combinational circuits or use self-test
l
Memory: requires complex patterns
Use self-test
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Test Approaches
Ad-hoc testing
l Scan-based Test
l Self-Test
Problem is getting harder
l
» increasing complexity and heterogeneous
combination of modules in system-on-a-chip.
» Advanced packaging and assembly techniques
extend problem to the board level
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Generating and Validating
Test-Vectors
l
Automatic test-pattern generation (ATPG)
» for given fault, determine excitation vector (called test vector)
that will propagate error to primary (observable) output
» majority of available tools: combinational networks only
» sequential ATPG available from academic research
l
Fault simulation
» determines test coverage of proposed test-vector set
» simulates correct network in parallel with faulty networks
l
Both require adequate models of faults in
CMOS integrated circuits
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Fault Models
Most Popular - “Stuck - at” model
sa0
(output)
0
1
sa1
(input)
Covers almost all (other)
occurring faults, such as
opens and shorts.
Z
x1
α
γ
x2
β
x3
α, γ: x1 sa1
β : x1 sa0 or
x2 sa0
γ: Z sa1
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Problem with stuck-at model:
CMOS open fault
x1
x2
Z
x1
x2
Sequential effect
Needs two vectors to ensure detection!
Other options: use stuck-open or stuck-short models
This requires fault-simulation and analysis at the switch or
transistor level - Very expensive!
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Problem with stuck-at model:
CMOS short fault
C
D
A
B
‘0’
‘0’
‘0’ A
C
‘1’ B
D
Digital Integrated Circuits
Causes short circuit between
Vdd and GND for A=C=0, B=1
Possible approach:
Supply Current Measurement (IDDQ)
but: not applicable for gigascale
integration
Design Methodologies
© Prentice Hall 1995
Path Sensitization
Goals: Determine input pattern that makes a fault
controllable (triggers the fault, and makes its impact
visible at the output nodes)
Fault enabling
1
1
1
1
Fault propagation
0
sa0
1
Out
1
0
Techniques Used: D-algorithm, Podem
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Ad-hoc Test
data
address
data
address
Memory
Memory
test
select
Processor
Processor
I/O bus
I/O bus
Inserting multiplexer improves testability
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Scan-based Test
ScanIn
Digital Integrated Circuits
Combinational
Logic
A
Register
Register
In
ScanOut
Design Methodologies
Combinational
Out
Logic
B
© Prentice Hall 1995
Polarity-Hold SRL
(Shift-Register Latch)
System Data D
System Clock C
SI
Scan Data
Shift A Clock A
Q
L1
Q
SO
Shift B Clock
B
L2
SO
Introduced at IBM and set as company policy
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Scan-Path Register
OUT
SCAN
PHI2
PHI1
SCANOUT
SCANIN
IN
LOAD
Digital Integrated Circuits
KEEP
Design Methodologies
© Prentice Hall 1995
Scan-based Test — Operation
In0
Test
In1
Test
Test
In2
Test
Test
In3
Test
Test
Test
ScanIn
ScanOut
Latch
Latch
Latch
Latch
Out0
Out1
Out2
Out3
Test
φ1
φ2
N cycles
scan-in
Digital Integrated Circuits
1 cycle
evaluation
Design Methodologies
N cycles
scan-out
© Prentice Hall 1995
Scan-Path Testing
A
B
REG[1]
REG[0]
REG[2]
REG[3]
SCANIN
+
REG[4]
COMPIN
COMP
REG[5]
SCANOUT
OUT
Partial-Scan can be more effective for pipelined datapaths
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Boundary Scan (JTAG)
Printed-circuit board
Logic
Scan-out
si
so
scan path
normal interconnect
Scan-in
Packaged IC
Bonding Pad
Board testing becomes as problematic as chip testing
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Self-test
(Sub)-Circuit
Stimulus Generator
Under
Response Analyzer
Test
Test Controller
Rapidly becoming more important with increasing
chip-complexity and larger modules
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Linear-Feedback Shift Register (LFSR)
R
R
R
S0
S1
S2
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
Pseudo-Random Pattern Generator
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Signature Analysis
In
Counter
R
Counts transitions on single-bit stream
≡ Compression in time
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
BILBO
D0
B0
D1
D2
B1
ScanOut
mux
ScanIn
R
R
S0
Digital Integrated Circuits
R
S1
B0 B1
Operation mode
1
1
Normal
0
0
1
0
0
1
Scan
Pattern generation or
Signature analysis
Reset
Design Methodologies
S2
© Prentice Hall 1995
BILBO Application
Digital Integrated Circuits
Combinational
Logic
BILBO-B
In
ScanOut
BILBO-A
ScanIn
Design Methodologies
Combinational
Out
Logic
© Prentice Hall 1995
Memory Self-Test
data -in
Memory
data-out
Signature
FSM
Under Test
Analysis
address &
R/W control
Patterns: Writing/Reading 0s, 1s,
Walking 0s, 1s
Galloping 0s, 1s
Digital Integrated Circuits
Design Methodologies
© Prentice Hall 1995
Download