Top Banner
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)

Dec 24, 2015

Download

Documents

Clyde Logan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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