Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
6.375 Lecture 13
by Ajay Joshi
(Slides by S. Devadas)
1
RTL
Synthesis
Library/
module
generators
netlist
logic
optimization
netlist
clk
clk
physical
design
layout
2
LOGIC EQUATIONS
TECHNOLOGY-INDEPENDENT
OPTIMIZATION
TECH-DEPENDENT OPTIMIZATION
(MAPPING, TIMING)
Factoring
Commonality Extraction
LIBRARY
LOGIC EQUATIONS
TECHNOLOGY-INDEPENDENT
OPTIMIZATION
TECH-DEPENDENT OPTIMIZATION
(MAPPING, TIMING)
Factoring
Commonality Extraction
LIBRARY
AREA
POWER
DELAY
(Speed)
Boolean Optimizations
Involves:
Finding common subexpressions.
Substituting one expression into another.
Factoring single functions.
f1 = AB + AC + AD + AE + A BC D E
F =
f2 = AB + AC + AD + AF + A BC D F
f2 = A ( g 1 + F ) + A F g 1
Algebraic Optimizations
Algebraic techniques view equations as
polynomials
Rules of polynomial algebra are used
For e.g. in algebraic substitution (or division) if
a function f=f(a,b,c) is divided by g=g(a,b), a
and b will not appear in f/g
Boolean algebra rules are not applied
LOGIC EQUATIONS
TECHNOLOGY-INDEPENDENT
OPTIMIZATION
TECH-DEPENDENT OPTIMIZATION
(MAPPING, TIMING)
Factoring
Commonality Extraction
LIBRARY
A
A
C
A
A
AB+C
B
9
10
Sample Library
INVERTER
NAND2
NAND3
NAND4
11
Sample Library - 2
AOI21
AOI22
12
Trivial Covering
Reduce netlist into ND2 gates subject DAG
7
5
NAND2 = 21
INV
= 10
31 (area cost)
14
Covering #1
2 INV
2 NAND2
1 NAND3
1 NAND4
=4
=6
=4
=5
19 (area cost)
15
Covering #2
1 INV
1 NAND2
2 NAND3
1 AOI21
=
=
=
=
2
3
8
4
17 (area cost)
16
Multiple fan-out
17
Partitioning a Graph
18
AOI21
4+3=7
NAND2
2 + 6 + 3 = 11
NAND2
3+3=6
INV
2
NAND2
3
NAND2
3
19
20
Summary
Logic optimization is an important step in the
design flow
Two-step flow
Technology independent optimization
Technology dependent optimization
21
22