ece 565: vlsi design automation introduction: vlsi design flow & logic opt./tech. mapping...
TRANSCRIPT
![Page 1: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/1.jpg)
ECE 565: VLSI Design AutomationIntroduction: VLSI Design Flow & Logic
Opt./Tech. Mapping
Shantanu Dutt
ECE Dept.
UIC
Acknowledegements: Some slides are from publicly available slides by Naveed Sherwani (VLSI design flow) and S. Devadas (logic opt.)
![Page 2: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/2.jpg)
![Page 3: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/3.jpg)
![Page 4: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/4.jpg)
Opt. metrics:-- Speed-- Power-- WL/areaOther metrics (constraints):-- Temperature
-- temperature
![Page 5: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/5.jpg)
IC Design Steps (cont.)
SpecificationsSpecifications High-levelDescriptionHigh-level
DescriptionFunctionalDescriptionFunctionalDescription
BehavioralVHDL, C
StructuralVHDL
Figs. [©Sherwani]
![Page 6: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/6.jpg)
Packaging Fabri-cation
PhysicalDesign
TechnologyMapping
Synthesis
IC Design Steps (cont.)
SpecificationsSpecifications High-levelDescriptionHigh-level
DescriptionFunctionalDescriptionFunctionalDescription
Placed& RoutedDesign
Placed& RoutedDesign
X=(AB*CD)+ (A+D)+(A(B+C))Y = (A(B+C)+AC+ D+A(BC+D))
Figs. [©Sherwani]
Gate-levelDesign
Gate-levelDesign
LogicDescription
LogicDescription
HLSHLS
![Page 7: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/7.jpg)
RTL Design Flow
RTLSynthesis
HDL
netlist
logicoptimization
netlist
Library/modulegenerators
physicaldesign
layout
manualdesign
a
b
s
q0
1
d
clk
a
b
s
q0
1
d
clk
Includes HLS
Logic opt. +Technologymapping
Circuitresynthesis(e.g., buff. Ins.,cell replication)
![Page 8: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/8.jpg)
Logic optimization flow
LOGIC EQUATIONS
TECHNOLOGY-INDEPENDENTOPTIMIZATION
FactoringCommonality Extraction
LIBRARYTECH-DEPENDENT OPTIMIZATION (TECH. MAPPING, TIMING)
OPTIMIZED LOGIC NETWORK
![Page 9: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/9.jpg)
Logic optimization flow
LOGIC EQUATIONS
TECHNOLOGY-INDEPENDENTOPTIMIZATION
FactoringCommonality Extraction
LIBRARYTECH-DEPENDENT OPTIMIZATION (TECH. MAPPING, TIMING)
OPTIMIZED LOGIC NETWORK
![Page 10: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/10.jpg)
Why logic optimization?
• Transistor count redution AREA• Circuit count redution
POWER• Gate count (fanout) reduction
DELAY
(Speed)
• Area reduction, power reduction and delay reduction improves design
![Page 11: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/11.jpg)
Boolean Optimizations
•Find common expressions
•Extract and substitute common expression
F =f1 = AB + AC + AD + AE + ABCDE
f2 = AB+ AC + AD + AF + ABC DF
F =f1 = A B+C + D + E( ) + ABCDE
f2 = A B+C + D + F( ) + ABCDF
G g1 = B + C + D
f1 = A g1 + E( ) + AE g1f2 = A g1 + F( ) + AF g1
• Involves:Finding common subexpressions.Substituting one expression into another.Factoring single functions.
•
![Page 12: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/12.jpg)
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
![Page 13: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/13.jpg)
Logic optimization flow
LOGIC EQUATIONS
TECHNOLOGY-INDEPENDENTOPTIMIZATION
FactoringCommonality Extraction
LIBRARYTECH-DEPENDENT OPTIMIZATION (TECH MAPPING, TIMING)
OPTIMIZED LOGIC NETWORK
![Page 14: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/14.jpg)
Standard cell library
• For each cell (e.g., NANDs, NORs, Invs, AOIs)– Functional information– Timing information
• Input slew• Intrinsic delay• Output capacitance
– Physical footprint– Power characteristics
![Page 15: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/15.jpg)
Sample Library
INVERTER 2
NAND2 3
NAND3 4
NAND4 5
![Page 16: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/16.jpg)
Sample Library - 2
AOI21 4
AOI22 5
![Page 17: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/17.jpg)
Mapping via DAG* Covering
• Represent network in canonical form subject DAG
• Represent each library gate with canonical forms for the logic function primitive DAGs
• Each primitive DAG has a cost• Goal: Find a minimum cost covering of the
subject DAG by the primitive DAGs
* Directed Acyclic Graph
![Page 18: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/18.jpg)
Trivial CoveringReduce netlist into ND2 gates → subject DAG
7 NAND2 = 215 INV = 10
31 (area cost)
![Page 19: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/19.jpg)
Covering #1
2 INV = 42 NAND2 = 61 NAND3 = 41 NAND4 = 5
19 (area cost)
![Page 20: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/20.jpg)
Covering #2
1 INV = 21 NAND2 = 32 NAND3 = 81 AOI21 = 4
17 (area cost)
![Page 21: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/21.jpg)
Multiple fan-out
![Page 22: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/22.jpg)
Partitioning a Graph
• Partition input netlist into a forest of trees• Solve each tree optimally• Stitch trees back together
![Page 23: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/23.jpg)
Optimum Tree Covering
NAND2 3
AOI214 + 3 = 7
INV11 + 2 = 13
NAND22 + 6 + 3 = 11
NAND23 + 3 = 6
NAND2 3
INV 2
![Page 24: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/24.jpg)
• Partition DAG into a forest of trees
• Normalize the netlist
• Optimally cover each tree– Generate all candidate matches– Find optimal match using dynamic
programming
DAG Covering steps
![Page 25: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are](https://reader031.vdocuments.mx/reader031/viewer/2022031922/56649ee75503460f94bf7fec/html5/thumbnails/25.jpg)
For more details on logic opt. …
http://csg.csail.mit.edu/u/d/devadas/public_html/6.373/lectures/
• Refer to Srinivas Devadas’ slides for 6.373