ece 565: vlsi design automation introduction: vlsi design flow & logic opt./tech. mapping...

25
ECE 565: VLSI Design Automation Introduction: 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.)

Upload: dale-rolf-patrick

Post on 02-Jan-2016

227 views

Category:

Documents


0 download

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

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
Page 3: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are
Page 4: ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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