Professional Documents
Culture Documents
IntroEDA Tools PDF
IntroEDA Tools PDF
CEG790
Outline
Introduction
Architectural-Level Synthesis
Logic-Level Synthesis
Geometric Synthesis
Microelectronics
Micro economics
What is design?
Automated Theorem-Provers
Graph-based Algorithms
Reengineering
CEG790
Overview: Microelectronics
CEG790
CEG790
CEG790
Reverse
Engineering
Abstraction
Requirements
Design
Implementation
Existing System
re-think
re-specify
re-design
re-build
Conceptual
Forward
Engineering
Refinement
Requirements
Design
Implementation
Target System
CEG790
Automated Synthesis
Design Process
Behavioral Level
~ Requirements Spec.
high-level synthesis
Register Transfer Level
logic synthesis
Gate Level
geometrical synthesis
Physical Design
~ Implementation Spec.
CEG790
Automated Synthesis
Design Process
Behavioral Level
high-level synthesis
...
PC = PC + 1;
FETCH(PC);
DECODE(INST);
...
Gate Level
geometrical synthesis
ADD
CONTROL
Physical Design
RAM
CEG790
High-level Synthesis
CEG790
High-level Synthesis
Control Signals
Control
Inputs
Control Unit
Status Signals
Data
Outputs
Control
Outputs
Datapath
Data
Inputs
functional resources:
CEG790
High-level Synthesis
Measuring cost
CEG790
Temporal Scheduling
Temporal Scheduling
A graph of resources must be created such that one path from start to
end exists to perform each operation (in parallel)
The length of the path represents the operation latency
Constraints include maximum latency, bounds on the resource usage
per type, etc.
CEG790
BDDs
T0
Constraints:
NOP
T1
>
T2
T3
>
T4
>
T5
*
NOP
Maximum Latency: 5
*: 3 max
+: 3 max
>: 3 max
CEG790
Spatial Binding
Spatial Binding
CEG790
Scheduled Sequencing Graph w/Resource Binding
BDDs
T0
NOP
T1
>
T2
T3
>
T4
>
T5
*
NOP
CEG790
Automated Synthesis
Design Process
MULT
Behavioral Level
high-level synthesis
ADD
CONTROL
RAM
logic synthesis
Gate Level
geometrical synthesis
Physical Design
CEG790
Logic-level Synthesis
A basic approach is to replace stock modules with preoptimized stock logic-level representations
CEG790
Cell-library binding
CEG790
Automated Synthesis
Behavioral Level
high-level synthesis
Register Transfer Level
logic synthesis
Gate Level
geometrical synthesis
Physical Design
CEG790
Geometrical-level Synthesis
CEG790
Design Process
Behavioral Level
high-level synthesis
...
PC = PC + 1;
FETCH(PC);
DECODE(INST);
...
D
+
Gate Level
MULT
geometrical synthesis
Physical Design
ADD
CONTROL
RAM
CEG790
Design Process
Behavioral Level
compilation
high-level synthesis
Register Transfer Level
compilation
simulation
logic synthesis
Gate Level
compilation
simulation
geometrical synthesis
Physical Design
simulation
V
e
r
i
f
i
c
a
t
i
o
n
CEG790
CEG790
Formal Verification
ex: for every path in the future, at every node on the path, if the
Request signal is low, it remain lows until Acknowledge goes low
ex: for every path in the future, if there has been a Request signal,
then eventually there will be an Acknowledge signal in response to
the request on at least one node on the path
Theorem Proving
Symbolic Model Checking
Recursive Learning
many graph-based approaches (BDDs, etc.)
CEG790
Automated Theorem-Provers
CEG790
Equivalence Checking
co-NP complete
heuristic techniques to achieve efficient performance
CEG790
X1BDDs
X2
F
M2
M1
X3
M4
M3
X1
1
0
0
0
0
X2
d
1
1
0
0
X3 F
d 0
1 0
0 1
1 1
0 0
Schematic of simplecircuit
F X1 ((X2 X3) (X2 X3))
CEG790
BDD Representation
BDD
BDDs
for F
X1
X2
X3 0
1
1
X3
X1
1
0
0
0
0
X2
d
1
1
0
0
X3 F
d 0
1 0
0 1
1 1
0 0
CEG790
BDD Representation
X1BDDs
X2
F
M2
M1
X3
M4
M3
Schematic of simplecircuit
ARCHITECTURE structural OF simplecircuit IS
SIGNAL M1, M2, M3, M4: bit ;
BEGIN
gate0: nor2 PORT MAP ( O => M1, a=> X2, b => X3 );
gate1: nor2 PORT MAP ( O => M2, a=> X2, b => M1 );
gate2: nor2 PORT MAP ( O => M3, a=> M1, b => X3 );
gate3: nor2 PORT MAP ( O => M4, a=> M1, b => M3 );
gate4: nor2 PORT MAP ( O => F, a=> X1, b => M4 );
output: probe PORTMAP ( F );
END structural
X1 X2 X3 M1 M2 M3 M4
1 1 1 0
0
0
1
1 1 0 0
0
1
0
1 0 1 0
1
0
0
1 0 0 1
0
0
1
0 1 1 0
0
1
0
0 1 0 0
0
1
0
0 0 1 0
1
0
0
0 0 0 1
0
0
1
F
0
0
0
0
0
1
1
0
CEG790
BDD Representation
X1BDDs
X2
M2
M1
M4
M3
X3
Schematic of simplecircuit
X1
1
1
M1
X1 X2 X3 M1 M2 M3 M4
1 1 1 0
0
0
1
1 1 0 0
0
1
0
1 0 1 0
1
0
0
1 0 0 1
0
0
1
0 1 1 0
0
1
0
0 1 0 0
0
1
0
0 0 1 0
1
0
0
0 0 0 1
0
0
1
X2
1
0
1
M1
0
X2 X3 M1 BDD
1 d 0
1
0 1 0
1
0 0 1
1
otherwise
0
F
0
0
0
0
0
1
1
0
CEG790
BDD Representation
XBDDs
1
X1 X2 X3 M1 M2 M3 M4
1 1 1 0
0
0
1
1 1 0 0
0
1
0
1 0 1 0
1
0
0
1 0 0 1
0
0
1
0 1 1 0
0
1
0
0 1 0 0
0
1
0
0 0 1 0
1
0
0
0 0 0 1
0
0
1
X2
X3
M1
M2
M3
M4
F
1
F
0
0
0
0
0
1
1
0
CEG790
CEG790
Full Custom Vs. Standard Cell - Using standard cell designs (same
height, variable width) and routing channels simplifies design process
Highest Density, Highest Manufacturing Cost
CEG790
Low cost
CEG790
Reengineering
Design Process
Behavioral Level
high-level synthesis
D
+
CEG790
REW98
Sample Preparation
REW98
Behavioral Level
Etching
Model Generation
Domain Specific Info.
Image Acquisition
SEM
Staging
Image Processing
BMP to GDL
Gate-level Netlist
Syntactic Pattern Matching
Geometric Description
DRC
Transistor Netlist