1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

22
1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

Transcript of 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

Page 1: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

1

VLSI CAD Flow: Logic Synthesis,

6.375 Lecture 13

by Ajay Joshi

(Slides by S. Devadas)

Page 2: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

2

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

Page 3: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

3

Logic optimization flow

LOGIC EQUATIONS

TECHNOLOGY-INDEPENDENTOPTIMIZATION

FactoringCommonality Extraction

LIBRARYTECH-DEPENDENT OPTIMIZATION (MAPPING, TIMING)

OPTIMIZED LOGIC NETWORK

Page 4: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

4

Logic optimization flow

LOGIC EQUATIONS

TECHNOLOGY-INDEPENDENTOPTIMIZATION

FactoringCommonality Extraction

LIBRARYTECH-DEPENDENT OPTIMIZATION (MAPPING, TIMING)

OPTIMIZED LOGIC NETWORK

Page 5: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

5

Why logic optimization?

Transistor count redution AREA

Circuit count redutionPOWER

Gate count (fanout) reductionDELAY

(Speed)

Area reduction, power reduction and delay reduction improves design

Page 6: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

6

Boolean Optimizations

Find common expressions

Extract and substitute common expression

F =f1= AB + AC + AD + AE + A BC D E

f2= AB+ AC + AD + AF + A BC D F

F =f1= A B+C + D + E( ) + ABC DE

f2= A B+C + D + F( ) + ABC DF

G g1

= B + C + D

f1= A g1

+ E( ) + A E g1

f2= A g1

+ F( ) + A F g1

Involves:Finding common subexpressions.Substituting one expression into another.Factoring single functions.

Page 7: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

7

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 8: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

8

Logic optimization flow

LOGIC EQUATIONS

TECHNOLOGY-INDEPENDENTOPTIMIZATION

FactoringCommonality Extraction

LIBRARYTECH-DEPENDENT OPTIMIZATION (MAPPING, TIMING)

OPTIMIZED LOGIC NETWORK

Page 9: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

9

“Closed Book” Technologies

A standard cell technology or library is typically restricted to a few tens of gatese.g., MSU library: 31 cells

Gates may be NAND, NOR, NOT, AOIs.

A

A

A

C

A

B

AB+C

B

C

A

Page 10: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

10

Standard cell library

• For each cell

• Functional information

• Timing information

• Input slew

• Intrinsic delay

• Output capacitance

• Physical footprint

• Power characteristics

Page 11: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

11

Sample Library

INVERTER 2

NAND2 3

NAND3 4

NAND4 5

Page 12: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

12

Sample Library - 2

AOI21 4

AOI22 5

Page 13: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

13

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 14: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

14

Trivial Covering

Reduce netlist into ND2 gates → subject DAG

7 NAND2 = 215 INV = 10

31 (area cost)

Page 15: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

15

Covering #1

2 INV = 42 NAND2 = 61 NAND3 = 41 NAND4 = 5

19 (area cost)

Page 16: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

16

Covering #2

1 INV = 21 NAND2 = 32 NAND3 = 81 AOI21 = 4

17 (area cost)

Page 17: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

17

Multiple fan-out

Page 18: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

18

Partitioning a Graph

• Partition input netlist into a forest of trees• Solve each tree optimally• Stitch trees back together

Page 19: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

19

Optimum Tree Covering

NAND2 3

AOI214 + 3 = 7

INV11 + 2 = 13

NAND22 + 6 + 3 = 11

NAND23 + 3 = 6

NAND2 3

INV 2

Page 20: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

20

• 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 21: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

21

Summary

• Logic optimization is an important step in the design flow

• Two-step flow

• Technology independent optimization

• Technology dependent optimization

• Advantages of logic optimization

• Reduce area

• Reduce power

• Reduce delay

Page 22: 1 VLSI CAD Flow: Logic Synthesis, 6.375 Lecture 13 by Ajay Joshi (Slides by S. Devadas)

22

For more details…

http://csg.csail.mit.edu/u/d/devadas/public_html/6.373/lectures/

Refer to Srinivas Devadas’ slides for 6.373