Professional Documents
Culture Documents
Institute of
Microelectronic
Systems
Moores
Law
???
Platform-based Design
Schematic Entry
Layout Editor
1970
1980
1990
2000
2010
Institute of
Microelectronic
Systems
Sensors
Microcontroller
I/OModule
Memory
Constraints
ASIC
DSP
RF
Transc.
Costs
Power consumption
Latency
Required flexibility
Design Tasks
Definition of communication architecture which
is adequate to the applications structure
Mapping of the system specification on
available implementation components
Actuators
Institute of
Microelectronic
Systems
Easy Implementation:
bus
CPU
core
Memory
API
OS
Generic
Platform
Platform
+
ApplicationSpecific
Additions
Lifecycle
Experiences
New Requirements
Feedback for future
platform generations
DSP
core
Specific
blocks
bus
CPU
core
Memory
Applications
API
OS
Drivers
Institute of
Microelectronic
Systems
Customer Application
Quality Assurance
Analysis of
System Requirements
System Delivery
Product
Cost Analysis
Validation
Quality Assurance
Design of
System Architecture
System Integration
Abstract Interfaces
Validation
Validation
Product
Level
Analysis of HW/SW
Component Requirements
HW/SW Co-Design
Quality Assurance
HW/SW
Component
Level
HW/SW
Integration
HW/SW
IP Database
and Implementation
Level
HW and SW Component
Implementation
System
Level
Institute of
Microelectronic
Systems
Hardware/Software Co-Design
Specification
Co-Simulation
HW/SW-Partitioning
Communication Synth.
O.k., lets go
bottom-up now
HW-Specification
SW-Specification
Synthesis
Compilation
Placement/Routing
Real-Time OS
Heterogeneous HW-/SW-System
Institute of
Microelectronic
Systems
Institute of
Microelectronic
Systems
Logic Synthesis
Finite State Machine (FSM) Synthesis
Architectural Synthesis
Management of Design Projects:
Design Databases:
keep different versions (current, backup 1, ..., backup n) and views of a
design object (schematic, simulation netlist, stick diagram, physical
layout, ...) in database
Institute of
Microelectronic
Systems
www.tanner.com
Hand-Crafted Layout:
The layout is drawn in form of rectangles and polygons on different layers using a graphics
editor.
The designer has to know a large set of process dependent design rules.
The mask layout is generated as drawn on the screen: direct influence to component
placement, to important parameters as W and L of transistors, wire widths, ...
Institute of
Microelectronic
Systems
Institute of
Microelectronic
Systems
10
B x y dx dy
Ln
Mn
E
Cnxym
Q
Box with length dx, width dy, an lower left hand corner placed at (x,y)
Layout level (layer) for the box definiitions that follow
Start of macro definition n
End of macro definition
Call for macro number n with translation x,y and orientation m.
End of layout file
Layer
CMOS
NMOS
1
2
3
4
5
8
9
n-diffusion
p-diffusion
polysilicon
metal
contact
n-well
overglass
n-diffusion
ion implant
polysilicon
metal
contact
-overglass
Institute of
Microelectronic
Systems
11
Orientation
1
2
3
4
5
6
7
8
Description
no rotation
rotate 90 counterclockwise
rotate 180 counterclockwise
rotate 270 counterclockwise
mirror about y-axis
rotate 90 counterclockwise and mirror about y-axis
rotate 180 counterclockwise and mirror about y-axis
rotate 270 counterclockwise and mirror about y-axis
Institute of
Microelectronic
Systems
12
Institute of
Microelectronic
Systems
13
green
red
blue
black
Institute of
Microelectronic
Systems
14
Institute of
Microelectronic
Systems
15
Symbol Generation
Schematic Entry
stick2layout
Converter
and Compactor
Simulation Netlist
Extraction and Simulation (SPICE)
Layout Editor
Block Layout
Cells
Floorplanning
Placement & Routing
Fabrication
11: CAD & Design Flow
Design Analysis
DRC, ERC
Circuit Extraction
LVS
Institute of
Microelectronic
Systems
16
discussed later in
this lecture
Institute of
Microelectronic
Systems
17
Cell
Library
Graphical
Data
Macrocell
Specification/Compilation
Simulation Netlist
Extraction
Schematic Entry
Simulation Models
Layout
Data
Placement:
Standard Cells
Macro Cells
I/O Cells
Logic Simulation
Fault Simulation
Timing Analysis
Test Pattern Generation
Routing:
Channel Generation
Global Routing
Detailed Routing
Place &
Route
Optimization
Design Analysis
DRC, ERC
Circuit Extraction
LVS
Fabrication
Parasitic
Wire Capacitances /
Delay Backannotation
Institute of
Microelectronic
Systems
18
Institute of
Microelectronic
Systems
19
Design Verification
Physical Design Rule Check:
Physical design rule checks (DRCs) are
performed to guarantee the conformity of a
layout design to the
silicon vendor's set of design rules. Design
rules are defined between objects on the
same layer (minimum width, minimum
spacing) as well as for objects on different
layers (minimum spacing, overlapping,
extension).
Minimum width
Minimum spacing
Overlapping
Extension
Institute of
Microelectronic
Systems
20
Design Verification
Extraction:
Circuit Level Extraction can be used to create a netlist for circuit level simulations
(e.g. SPICE, ...). The netlist consists of MOS transistors (including geometrical
parameters as W / L, parasitic capacitances), resistors, capacitances, diodes, ...
Switch Level Extraction: can be used to create a netlist which can be processed by a
switch level simulator. The resulting netlist consists of MOS transistors and parasitic
capacitances (to model storage effects in MOS circuits).
Parasitics Extraction: is used in conjunction with cell based design techniques. Since
wire delay is dependent on the parasitic capacitance of a wire, parasitic capacitances of
nets and input capacitances of other gates connected to an output can be used to
estimate the extrinsic delays (Note: intrinsic delays [i.e. the delay of unloaded gates] are
fetched from the cell library's simulation model data).
21
Design Verification
LVS:
The layout-versus-schematic (LVS) comparison tool checks the equivalence of the layout and its schematic.
The tool can be used to find wrong connections or parameter mismatch (as W/L of transistors, ...) between
a schematic and its physical layout representation.
Institute of
Microelectronic
Systems
22
Simulation
Goal of Simulation:
Validation of the system, logic timing, and electricial behaviour
Verify testability aspects
Software development based on hardware simulation models
Simulator Classification:
Level
Primitives
observable
Values
Timing
Model
RT
Gate
bit strings,
vectors
bits
Switch
transistors, capacitators
bits
Electricial
capacitators, resistors,
inductors, diodes etc.
real values
discrete
time set
continuous
or discrete
continuous
or discrete
continuous
time set
Institute of
Microelectronic
Systems
23
Simulation: Models
Signal Modelling:
values which exist in real circuits (0, 1, high impedance, oscillation, ...)
values which exist only in the simulator (unknown, transition, ...)
boolean logic set not sufficient
3-valued Logic:
Example:
logic zero
logic one
unknown
=
=
=
0
1
U
AND
0
1
U
1
0
1
U
U
0
U
U
0
0
0
0
Problems:
Pessimism of U value (for example: circuit initialisation, spikes)
Logic values are often not sufficient (value strength needed)
Institute of
Microelectronic
Systems
24
Simulation: Models
Circuit and Delay Modelling:
Circuit is built up by simulator primitives
Modelling of the timing/delay behaviour:
:
(n) = n * :
t1, t2, t3, ...:
(t+1-t):
Timing Models:
=0
(n) = constant
(n) = user-specified
Zero Delay:
Unit Delay:
Nominal delay:
Institute of
Microelectronic
Systems
25
Simulation: Models
Advanced Logic Simulators:
Introduction of signal strength additional to logic values for driver and bus modelling
A : active, e.g. low impedance driver
P : passive, e.g. high impedance driver (depletion load)
S : storing, e.g. capacitive stored state
X : active indeterminate (e.g. active or storing)
Y : passive indeterminate (e.g. passive or storing)
Z : high impedance
Instead of simple logical values, signals are used for simulation. A signal consists of a logical value and a
strength.
Logical Values = {0,1,X}
A0 A1 AX P0 P1 PX S0 S1 SX X0 X1 XX Y0 Y1 YX ZZ
16 states
A0 A0 AX AX A0 A0 A0 A0 A0 A0 A0 AX AX A0 A0 A0 A0
Overview
on
Signal
Combinations
A1
AX
P0
P1
PX
S0
S1
SX
X0
X1
XX
Y0
Y1
YX
ZZ
A1
A1
AX
A1
AX
P0
A1
AX
PX
P1
A1
AX
PX
PX
PX
A1
AX
P0
P1
PX
S0
A1
AX
P0
P1
PX
SX
S1
Institute of
Microelectronic
Systems
A1
AX
P0
P1
PX
SX
SX
SX
AX
AX
X0
XX
XX
X0
XX
XX
X0
A1
AX
XX
X1
XX
XX
X1
XX
XX
X1
AX
AX
XX
XX
XX
XX
XX
XX
XX
XX
XX
A1
AX
P0
PX
PX
Y0
YX
YX
X0
X1
XX
Y0
A1
AX
PX
P1
PX
YX
Y1
YX
X0
XX
XX
YX
Y1
A1
AX
PX
PX
PX
YX
YX
YX
XX
XX
XX
YX
YX
YX
A1
AX
P0
P1
PX
S0
S1
SX
X0
X1
XX
Y0
Y1
YX
ZZ
26
Simulation: Models
Example: Driver Modelling:
Institute of
Microelectronic
Systems
27
Simulation
www.modelsim.com
Institute of
Microelectronic
Systems
28
Simulation: Techniques
Simulation Techniques:
Compiler-driven technique:
Problems:
Feedbacks
Sorting of gate netlist
Zero delay model
Entire circuit is simulated
Switch-Level Simulation:
well-suited so simulate digital MOS
circuits
no fixed direction of signal flow
transistor modeled as a switch
with three states: open, closed,
unknown
algebraic or RC models
Institute of
Microelectronic
Systems
29
Gate
n-Channel
Enhancement
Closed
Open
Unknown
p-Channel
Enhancement
Open
Closed
Unknown
n-Channel
Enhancement
REFF
infinity
[REFF, infinity]
p-Channel
Enhancement
infinity
REFF
[REFF, infinity]
Depletion
Weak
Weak
Weak
Remarks:
Switch transition time is
assumed to be zero or
some nominal value
Unknown states can
cause problems
Source
Gate
REFF
Logic
(Gate)
1
0
X
Depletion
REFF
REFF
REFF
Remarks:
In the linear model,
node capacitance and
devices resistance are
used to compute output
logic levels and
transition time
Ratio errors can be
detected
Source
Institute of
Microelectronic
Systems
30
Data Flow
Behaviour
Structure
begin
delay_register:
process(reset,clk)
begin
if reset='1' then
x_q <= (others => '0');
elsif (clk'event and clk='1') then
x_q <= x_in;
end if;
end process;
Institute of
Microelectronic
Systems
31
VHDL-Description
Gate-Level
Netlist
begin
delay_register:
process(reset,clk)
begin
if reset='1' then
x_q <= (others => '0');
elsif (clk'event and clk='1') then
x_q <= x_in;
end if;
end process;
RTL-Synthesis
(Synopsys)
Placement &
Routing
Production
(Cadence/Mentor)
Layout
ASIC
Institute of
Microelectronic
Systems
32
Generic
Interface
Separation between
Communication and
Computation
ASIC
Router
FPGA
MEM
High-Speed
Interconnect
Institute of
Microelectronic
Systems
33
Specification
Co-Simulation
Implementation
HW/SW-Partitioning
Communication Synth.
HW-Specification
SW-Specification
Synthesis
Compilation
Placement/Routing
Real-Time OS
SW Library
NoC Mapping
NoC Placement
HW Library
Dynamic
Allocation/ReMapping during
Operation
Heterogeneous HW-/SW-System
Institute of
Microelectronic
Systems
34
Mobile
Service
Base
Station(s)
RF
Centr.
CTRL
DISPLAY
Displ.
CTRL
Institute of
Microelectronic
Systems
35