EDA Introduction
Professor: Sci.D., Prof.
Vazgen Melikyan
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
1 Developed By: Vazgen Melikyan
Course Overview
Introduction
1 lecture
IC Design Data Formats and Tools
4 lectures
Electronic Design Methodology
4 lectures
IC Synthesis
2 lectures
Databases for EDA
3 lectures
IC Design Approaches and Flows
3 lectures
EDA Tools
3 lectures
Overview of Synopsys EDA Tools
3 lectures
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
2 Developed By: Vazgen Melikyan
Electronic Design
Methodology
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
3 Developed By: Vazgen Melikyan
Design Levels
IC as a large system
IC (system)
M - level
Block 1
Functional
IP
RAM
(M-1) - level
devices
Block 2
Block 3
Blocks
(M-2) - level
Functional
nodes
(M-3) - level
Elements
(transistor)
0 - level
ί –th level(ί+1) level
2-Input NAND Gate
ί-th level (ί-1) level
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
4 Developed By: Vazgen Melikyan
Design Levels (2)
System
Add
Accumulator Register-Transfer
Input
Command Register
+1
Command Counter
& &
1
Gate
J TT
C
K
Circuit
Device
n+
p
n +
n
+
p
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
5 Developed By: Vazgen Melikyan
Design Levels (3)
Example of Modeling Mathematical
Level Modeling Object
Object Apparatus
System Structural circuit RAM bus CPU Queuing theory
Add
Accumulator
Functional circuits on
Input
Register-Transfer the level of multibit
Command Register
devices
+1
Command Counter Boolean algebra
Circuit on the level of
Gate
gates and flip-flops J
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
6 Developed By: Vazgen Melikyan
Design Levels (4)
Example of Modeling Mathematical
Level Modeling Object
Object Apparatus
System of differential
Circuit Electrical circuit
equations
n+
p+ System of differential
Device IC components n equations with partial
n+ derivative
p
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
7 Developed By: Vazgen Melikyan
Problems Solved in One Level of
Design
Transition into less detailed circuit design
Structural Synthesis
Structural
optimization
Parametrical Synthesis
Parametrical
optimization
Simulation
no
Are the operational
conditions met?
yes
Transition into more detailed circuit design
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
8 Developed By: Vazgen Melikyan
Overview of IC Simulation
Description of
circuit
Simulation
program Results
Simulation deck
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
9 Developed By: Vazgen Melikyan
Strategy of Design Process
1. Linear
Start 1st phase 2nd phase Nth phase End
Dependent Independent
2. Cyclic 3. Independent
2
1 2 i N
1 3 5
4
The result of some i-th phase does
not meet the requirements and there More than one design problem
is need to return to the previous phases
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
10 Developed By: Vazgen Melikyan
Strategy of Design Process (2)
4. Adaptive
What to do What to do
1st phase 2nd phase
in the 1st phase? in the 2nd phase?
The action of each subsequent phase is planned from the outcome of the previous
phase.
5. Strategy of increases
Result estimation Small increase Result change
Cautious strategy
6. Random search
Selection of random
Result estimation
“points”
Convenient for designs with large uncertainty.
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
11 Developed By: Vazgen Melikyan
Design as a Synthesis Problem
a1
A
Worse parameters can be
obtained from A structure
b1
which is better than B.
a2
B
b2
Conceptual Structural Parametrical
synthesis synthesis synthesis
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
12 Developed By: Vazgen Melikyan
Synthesis
b-view s-view
Architectural Level
…
PC = PC + 1; // increment the Program Counter
FETCH(PC); // fetch next instruction
DECODE(INST); // decode the instruction
…
Logic Level
Technology mapping
Geometrical Level
Physical design
p-view
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
13 Developed By: Vazgen Melikyan
Optimization
Area (extensive)
Performance (intensive)
Power
Delay
Cycle-time
…
Example: Optimize circuit area under delay constrains.
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
14 Developed By: Vazgen Melikyan
Design Phases and Automation
Problems
T,V
V-amount of design works
(data amount)
T-degree of design solution effects on
technical-economic characteristic of the
T designed object
Spec Initial Technical Working Design phases
project project project
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
15 Developed By: Vazgen Melikyan
IC as a Design Object
X1 Internal parameters - X 1 x 1i ; i 1, n 1
3 External parameters - Z z ;i i 1, k
x1max
Output parameters - Y i i 1, m y ;
1 Input parameters - X X1 Z
x1pmax Mathematical model
x1o
x1pmin
2 Y FX ; X x ;
i i 1, n
y 1 f 1 x 1 , , x n
y 2 f 2 x 1 , , x n
x1min
y m f m x 1 , , x n
X2
x2min x2pmin x2o x2pmax x2max
Efficiency function
y extr
1. Set of possible variants
Optimization criteria
Fx10 , x 20 extr
2. Set of permissible variants
3. Optimal variant
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
16 Developed By: Vazgen Melikyan
Design Hierarchy
U1
A
1 2 U3
B Block-hierarchic approach of
V1
V2
design is based on the hierarchy
3 V5
U2
V3
Z1
of mathematical models.
V4
4 5
Z2
C Model classification according to
description depth:
Full mathematical model of block A Micromodel
f1(U1, V1)=0; Macromodel
f2(U3, V5)=0; Metamodel
F(UA,ZA,VA)=0
f5(V4, V5, Z1)=0.
Concept of “system” and “element”
Full mathematical model of a system
is used in each level.
F(U,Z)=0
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
17 Developed By: Vazgen Melikyan
Classification of EDA Mathematical
Models
A mathematical model of a technical object is a
group of mathematical objects (numbers,
variables, sets, matrixes, etc) and the relation
between them which adequately reflects those
properties of an object the designer is interested
in. EDA mathematical methods are classified
according to:
Description depth
Presentation form
Description level
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
18 Developed By: Vazgen Melikyan
Classification of EDA Mathematical
Models (2)
According to description depth:
Micromodel
Describes physical processes in solid environment
Equations of mathematical physics are used with partial derivative
differential equations (electrical potential field and thermal field in a
semiconductor crystal, etc.)
Macromodel
Describes physical processes in solid environment
Common differential equations and algebraic equations are used
Metamodel
Describes information processes occurring in the designed object
Mathematical logic theory, mass service theory, etc. are used
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
19 Developed By: Vazgen Melikyan
Classification of EDA Mathematical
Models (3)
According to presentation form:
Analytical
The connection of I/O parameters is presented in the form of
absolute analytical function
Algorithmical and imitational
Presented in the form of a solution algorithm
Graphical
Presented in schematic graphical form
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
20 Developed By: Vazgen Melikyan
Classification of EDA Mathematical
Models (4)
According to description level:
Functional (conceptual)
Describe functioning processes of an object
Represent equations system
Structural
Describe object structure
Parametrical
Describe parametrical values of structural elements of an
object
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
21 Developed By: Vazgen Melikyan
Requirements to EDA Mathematical
Models
Adequacy
Ability to describe object properties by permissible accuracy
Universality
Form and number of considered parameters
Economic management
Necessary expenses for use
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
22 Developed By: Vazgen Melikyan
Accuracy of Mathematical Models
Defined by the value of coincidence degree of object-
model parameters.
( y j ) absolute deviation of output parameter y j ~
yj yj
~y yj
(~ j
j
y j ) relative deviation of output parameter
yj
m
Model accuracy for m parameter M max j or M 2
j
j1
j1, m
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
23 Developed By: Vazgen Melikyan
Abstraction Levels
Tool examples
Architecture System Studio
& Behavioral
Register Transfer VCS
– Verilog/VHDL
Logic Design Compiler
Switch Level HSPICE
Circuit (Transistors) HSPICE
Layout and Test Patterns IC Compiler / IC Compiler II
Fabrication Line Proteus
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
24 Developed By: Vazgen Melikyan
Decomposition
Conventionally, decompose into phases
Scheduling, assignment - RTL
Retiming, sequential optimization - logic equations
Logic optimization, covering - gates
Placement - placed gates
Routing - mapped design
Good abstraction, manage complexity
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
25 Developed By: Vazgen Melikyan
Decomposition (2)
Easier to solve
Only worry about one problem at a time
Less computational work
Smaller problem size
Abstraction hides important objectives
Solving 2 problems optimally in a sequence often does not give
optimal result of simultaneous solution
Two important things to get back to
Disentangling problems
Coping with NP-hardness
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
26 Developed By: Vazgen Melikyan
Decomposition (3)
Scheduling
Logic optimization
Covering / gate-mapping
Partitioning
Placement
Routing
Selection of composition
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
27 Developed By: Vazgen Melikyan
Costs
Once semantics is obtained (preserved), try to
minimize the implementation cost
Otherwise this would be trivial
None of the problems would be NP-hard
EDA typical costs
Energy
Delay
Area
Future: add yield (robustness) to defects/faults
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
28 Developed By: Vazgen Melikyan
Costs (2)
Behave differently under transformations
Lead to tradeoffs among them
Different optimality/hardness
E.g. optimally solve delay covering in poly time, but
not area mapping
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
29 Developed By: Vazgen Melikyan
Costs (3)
Cannot solve a problem of independent costs
Costs define what is “optimal”
e.g.
(A+B)+C vs. A+(B+C)
[cost=pob. gate output is high]
A,B,C independent
P(A)=P(B)=0.5,P(C)=0.01
P(A)=0.1, P(B)=P(C)=0.5
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
30 Developed By: Vazgen Melikyan
Costs Simplify Problem
Often one cost dominates
Allows/supports decomposition
Cost of other affects negligible
Total solution cannot be far from optimal
e.g. delay (area) in gates, delay (area) in wires
Require: formulate problem around relative costs
Simplify problem at cost of generality
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
31 Developed By: Vazgen Melikyan
Coping with NP-Hard Problems
Simpler sub-problem based on dominate cost
or special problem structure
Problems exhibit structure
Optimal solutions found in reasonable time in practice
Approximation algorithms
Heuristic solutions
High density of good/reasonable solutions
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
32 Developed By: Vazgen Melikyan
Not a Solved Problem
NP-hard problems
Almost always solved in suboptimal manner
For particular special cases
Decomposed in suboptimal ways
Quality of solution changes as dominant costs
change
And relative costs are changing.
New effects and mapping problems crop up with
new architectures, substrates
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
33 Developed By: Vazgen Melikyan
Big Challenge
Rich, challenging, exciting space
Great value
Practical
Theoretical
Worth vigorous study
Fundamental/academic
Pragmatic/commercial
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
34 Developed By: Vazgen Melikyan
Toolkit
Dynamic programming
Linear programming (LP, ILP)
Graph algorithms
Greedy algorithms
Randomization
Search
Heuristics
Approximation algorithms
Synopsys University Courseware
Copyright © 2017 Synopsys, Inc. All rights reserved.
EDA Introduction
Lecture - 3
35 Developed By: Vazgen Melikyan