CS 137 Electronic Design Automation Day 15 November
CS 137: Electronic Design Automation Day 15: November 4, 2005 SAT for Partitioning 1 CALTECH CS 137 Fall 2005 -- De. Hon
Today • SAT Partitioning – Devadas – Wrighton 2 CALTECH CS 137 Fall 2005 -- De. Hon
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 • minimize the number of nets shared by halves § |e=(s, t) E and s A and t B or s B and t A |<C 3 CALTECH CS 137 Fall 2005 -- De. Hon
Constraining Partitions • Balance: – |V| 2 P – P-long bit vector for each v V – Goal assign each v a unique bitvector • v 0 v 1 … v(p-1) – partition on v(p-1) [Devadas DAC 1989] 4 CALTECH CS 137 Fall 2005 -- De. Hon
Balance • Balance Constraints: – Forall pairs vi, vj • vi 0^vj 0+vi 1^vj 1+…vi(p-1)^vj(p-1)=1 – |V|<2 P • Assign 2 P-|V| codes such that vi(p-1) will form partition – E. g. if |V|=6 » Assign 000 and 100 » vi 0^0+vi 1^0+vi 2^0=1 – |V| (2 P-|V|) clauses 5 CALTECH CS 137 Fall 2005 -- De. Hon
Cost • Decision problem – Can ask for a partition that satisfies a constraint • Optimization: search for min C will satisfy 6 CALTECH CS 137 Fall 2005 -- De. Hon
Partitioning Results • Devadas 1989 7 CALTECH CS 137 Fall 2005 -- De. Hon
Wrighton SAT Partitioning 8 CALTECH CS 137 Fall 2005 -- De. Hon
• • Constraint sets Cardinality Results Variations – Replication – Soed 9 CALTECH CS 137 Fall 2005 -- De. Hon
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 10 CALTECH CS 137 Fall 2005 -- De. Hon
All Nodes Represented (A 0 A 1 A 2) (B 0 B 1 B 2) (C 0 C 1 C 2) … 11 CALTECH CS 137 Fall 2005 -- De. Hon
Exclusivity • If do not want replication – Assert that node is in only one partition – E. g. /(A 0&A 1)+/(A 1&A 2)+(/A 0&A 2) 12 CALTECH CS 137 Fall 2005 -- De. Hon
Balance • Sum of nodes in each part less than target 13 CALTECH CS 137 Fall 2005 -- De. Hon
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 14 CALTECH CS 137 Fall 2005 -- De. Hon
Bound on Edges Cut 15 CALTECH CS 137 Fall 2005 -- De. Hon
Counting • Can use boolean logic to create binary counters – Problem: don’t enable implications on partial assignments 16 CALTECH CS 137 Fall 2005 -- De. Hon
Alternate Counting • Unencoded counter representation – …b 3 b 2 b 1 b 0 – Position i says: there at least i things – Count: 000001 000111 … • Add: – XXX 11 + XXXX 1 = XX 111 17 CALTECH CS 137 Fall 2005 -- De. Hon
Totalizers 18 CALTECH CS 137 Fall 2005 -- De. Hon
Size of Totalizers • N+N 2 N totalizer • Ci=Ai+(Ai-1&B 1)+…+(A 1&Bi-1)+Bi – i clauses Totalizer Tree: 2 N 2 + 2(N 2/2)+4(N 2/8)+… 4 N 2 19 CALTECH CS 137 Fall 2005 -- De. Hon
20 CALTECH CS 137 Fall 2005 -- De. Hon
Replication • Two partitions of size 60% 21 CALTECH CS 137 Fall 2005 -- De. Hon
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 22 CALTECH CS 137 Fall 2005 -- De. Hon
Sum of External Degrees 20% total extra space 23 CALTECH CS 137 Fall 2005 -- De. Hon
Maximum Subdomain Degree 20% total extra space 24 CALTECH CS 137 Fall 2005 -- De. Hon
Admin • Assignment 3 B due today 25 CALTECH CS 137 Fall 2005 -- De. Hon
Big Ideas • Tools: SAT Reduction • Bounding Enable pruning 26 CALTECH CS 137 Fall 2005 -- De. Hon
- Slides: 26