+ All Categories
Home > Documents > CS137: Electronic Design Automation

CS137: Electronic Design Automation

Date post: 05-Feb-2016
Category:
Upload: walden
View: 30 times
Download: 0 times
Share this document with a friend
Description:
CS137: Electronic Design Automation. Day 15: November 4, 2005 SAT for Partitioning. Today. SAT Partitioning Devadas Wrighton. Partitioning Problem. Given: netlist of interconnect cells Graph G=(V,E) Partition into two equal halves (A,B) V=A B AB = {} |A|=|V|/2 - PowerPoint PPT Presentation
Popular Tags:
26
CALTECH CS137 Fall2005 -- DeHon 1 CS137: Electronic Design Automation Day 15: November 4, 2005 SAT for Partitioning
Transcript
Page 1: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 1

CS137:Electronic Design Automation

Day 15: November 4, 2005

SAT for Partitioning

Page 2: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 2

Today

• SAT Partitioning– Devadas– Wrighton

Page 3: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 3

Partitioning Problem

• Given: netlist of interconnect cells– Graph G=(V,E)

• Partition into two equal halves (A,B) V=AB AB = {} |A|=|V|/2

• minimize the number of nets shared by halves |e=(s,t)E and sA and tB or sB and tA |<C

Page 4: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 4

Constraining Partitions

• Balance:– |V| 2P

– P-long bit vector for each vV– Goal assign each v a unique bitvector

• v0 v1 … v(p-1)

– partition on v(p-1)

[Devadas DAC1989]

Page 5: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 5

Balance

• Balance Constraints:– Forall pairs vi,vj

• vivj• vi0^vj0+vi1^vj1+…vi(p-1)^vj(p-1)=1

– |V|<2P

• Assign 2P-|V| codes such that vi(p-1) will form partition

– E.g. if |V|=6» Assign 000 and 100 » vi0^0+vi1^0+vi2^0=1

– |V|(2P-|V|) clauses

Page 6: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 6

Cost

• Decision problem– Can ask for a partition that satisfies a

constraint

• Optimization: search for min C will satisfy

Eepp tstsewC

)1()1()),((

Page 7: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 7

Partitioning Results

• Devadas 1989

Page 8: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 8

Wrighton SAT Partitioning

Page 9: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 9

• Constraint sets

• Cardinality

• Results

• Variations– Replication– Soed

Page 10: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 10

Formulation

• Acceptable Partition:– All Nodes Represented– Partitions Balanced– Cut Edges < Bound

• For each variable, for each partition– Vi True if V appears in partition i

Page 11: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 11

All Nodes Represented

ikiNodesV V 0

(A0A1A2) (B0B1B2) (C0C1C2)…

Page 12: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 12

Exclusivity

• If do not want replication– Assert that node is in only one partition

– E.g. /(A0&A1)+/(A1&A2)+(/A0&A2)

jijikjiNodesV VV ;,0

Page 13: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 13

Balance

• Sum of nodes in each part less than target

MaxSizeVNodesV

iki0

Page 14: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 14

Cut Edges

• Edge cut if source or any sinks in different partitions– Pick source as point of reference– Cut if any sink not in partition with source

iidsteski ssrceeCut .)( .0

Page 15: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 15

Bound on Edges Cut

Edgese

MaxEdgeseCut )(

Page 16: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 16

Counting• Can use boolean logic to create binary

counters– Problem: don’t enable implications on

partial assignments

Page 17: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 17

Alternate Counting

• Unencoded counter representation– …b3b2b1b0

– Position i says: there are at least i things– Count: 00000 00001 00011 00111 …

• Add:– XXX11 + XXXX1 = XX111

Page 18: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 18

Totalizers

Page 19: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 19

Size of Totalizers

• N+N 2N totalizer

• Ci=Ai+(Ai-1&B1)+…+(A1&Bi-1)+Bi

– i clauses

Ni

Ni21

22

Totalizer Tree: 2N2 + 2(N2/2)+4(N2/8)+… 4N2

Page 20: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 20

Page 21: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 21

Replication

• Two partitions of size 60%

Page 22: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 22

Other Targets

• Relatively easy to change constraints– Sum of external degrees

• Sum of IO from all partitions

– Maximum subdomain degree• IO from largest partition

• Just need to add appropriate counters and constraints

Page 23: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 23

Sum of External Degrees

20% total extra space

Page 24: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 24

Maximum Subdomain Degree

20% total extra space

Page 25: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 25

Admin

• Assignment 3B due today

Page 26: CS137: Electronic Design Automation

CALTECH CS137 Fall2005 -- DeHon 26

Big Ideas

• Tools: SAT Reduction

• Bounding Enable pruning


Recommended