Download presentation
Presentation is loading. Please wait.
Published byさわ みやのじょう Modified over 5 years ago
1
To SAT or Not to SAT: Ashenhurst Decomposition in a Large Scale
Hsuan-Po Lin, Jie-Hong Roland Jiang, and Ruei-Rung Lee Graduate Institute of Electronics Engineering / Department of Electrical Engineering, National Taiwan University 5/21/2019 ICCAD 2008 1
2
Outline 1 2 3 4 5 Introduction Prior Work Our Approach
Experimental Results Conclusions 5 5/21/2019 ICCAD 2008
3
Introduction Ashenhurst decomposition f(X) = h(XH,XC,g(XG,XC))
When can f be decomposed as the composition of some g and h? Comprehensible using decomposition chart 5/21/2019 ICCAD 2008
4
f h Decomposition Chart f(a,b,c,d) = h(c,d,g(a,b,d)) XH : {c}
XG : {a,b} XC : {d} f(a,b,c,d) = h(c,d,g(a,b,d)) f XG XC a,b,d 000 010 100 110 001 011 101 111 00 10 1 01 11 000 010 100 110 001 011 101 111 00 10 1 01 11 XH XC g a b d h c c,d h g 1 00 10 01 11 1 00 10 01 11 XH XC c,d f 5/21/2019 ICCAD 2008
5
Prior Work BDD-based functional decomposition Memory explosion problem
Variable partition cannot be automated Hard to handle non-disjoint decomposition Multiple-output decomposition cannot be handled naturally 5/21/2019 ICCAD 2008
6
Our Approach SAT-based computation
Interpolation get g Functional dependency get h With/without pre-specified variable partition Single-/multiple-output decomposition 5/21/2019 ICCAD 2008
7
Single-Output Decomposition
Problem formulation Given a function f(X) with variable partition X={XG|XH|XC}, find g and h such that f(X) = h(XH,XC,g(XG,XC)) 5/21/2019 ICCAD 2008
8
Decomposability as SAT
Functions g and h exists iff (f(XH1, XG1, XC)≠ f(XH1, XG2, XC))Λ (f(XH2, XG2, XC)≠ f(XH2, XG3, XC))Λ (f(XH3, XG3, XC)≠ f(XH3, XG1, XC)) is UNSAT f XH1 XG1 XC XG2 XH2 XG3 XH3 1 xc[[XC]] f xg1[[XG1]] xg2[[XG2]] xg3[[XG3]] xh1[[XH1]] 1 xh2[[XH2]] xh3[[XH3]] 5/21/2019 ICCAD 2008
9
Craig Interpolation P φA φB
For formulas φA and φB with φA Λ φB UNSAT, then there exists an interpolant P of φA such that 1. φA P 2. P Λ φB is UNSAT 3. P refers only to the common variables of φA and φB We show the connection between P and g P φB φA 5/21/2019 ICCAD 2008
10
Interpolating g-function
P: refer to the common variables XG1, XG2, XC φA: CP(XG1)≠CP(XG2) φB: CP(XG2)≠CP(XG3),CP(XG1)≠CP(XG3), i.e., CP(XG1)=CP(XG2) f(XH1, XG1, XC)≠ f(XH1, XG2, XC) (f(XH2, XG2, XC)≠ f(XH2, XG3, XC))Λ (f(XH3, XG3, XC)≠ f(XH3, XG1, XC)) φA φB f XH1 XG1 XC XG2 XH2 XG3 XH3 1 5/21/2019 ICCAD 2008
11
Interpolating g-function (cont’d)
XG1 XG2 … p q r s a offset onset Relation characterized by P(XG1, XG2,c) for some c [[Xc]] Relation after cofactoring P(XG1=a, XG2,c) w.r.t. some a [[XG1]] P(XG1=a, XG2, XC) is a feasible implementation of g(XG, XC) ! 5/21/2019 ICCAD 2008
12
Computing h-function A naïve approach Non-scalable(w.r.t. XC size)
For XC = , function h can be derived using Shannon expansion h(XH,xg)=(xg Λ hxg) v (xg Λ hxg) Non-scalable(w.r.t. XC size) where hxg(XH) = h(XH,0) = h(XH,g(XG=a)) = f(XH,XG=a) and hxg(XH) = h(XH,1) = h(XH,g(XG=b)) = f(XH,XG=b) for a,b[[XG]] with g(a)=0 and g(b)=1 5/21/2019 ICCAD 2008
13
Computing h-function (cont’d)
A scalable approach Function h can be obtained with functional dependency formulation f(X) = h(φ1(X), φ2(X),…, φm(X)), where h is the unknown to be computed Let the above gi be such that φi = xi with xi XHXC for i = 1,…,m-1 φm = g(XG,XC) So-derived h is what we want Computation can be done with pure SAT solving [Lee et al.07] 5/21/2019 ICCAD 2008
14
Overall Flow AshenhurstDecomposition(f, XH, XG, XC):
F CircuitInstantiation(f ) (φA, φB) CircuitPartition(F) P(XG1,XG2,XC) Interpolation(φA, φB) g(XG,XC) Cofactor(P, a[[XG1]]) h FunctionalDependency(f, g) return(g, h) 5/21/2019 ICCAD 2008
15
Automating Variable Partition
For each xi X, add conditional clauses for XG: ((xi2≡xi3)Λ(xi4≡xi5)Λ(xi6≡xi1)) V ai conditional clauses for XH: ((xi1≡xi2)Λ(xi3≡xi4)Λ(xi5≡xi6)) V bi (ai,bi) (0,0) xi XC (0,1) xi XG (1,0) xi XH (1,1) xi can be in either of XG and XH f XH1 XG1 XC1 XH2 XG2 XC2 XH3 XG3 XC3 XH4 XG4 XC4 XH5 XG5 XC5 XH6 XG6 XC6 1 5/21/2019 ICCAD 2008
16
Automating Variable Partition (cont’d)
Make “unit assumptions” on control variables ai, bi for each xi Avoid trivial partition Impose seed partition Enforce one variable in XH Enforce two variables in XG Enumerate seed partitions Incremental SAT solving Apply minimal UNSAT core refinement to reduce XC 5/21/2019 ICCAD 2008
17
Multi-Output Decomposition
New UNSAT condition: V(fi(XH1, XG1, XC)≠ fi(XH1, XG2, XC))Λ V(fi(XH2, XG2, XC)≠ fi(XH2, XG3, XC))Λ V(fi(XH3, XG3, XC)≠ fi(XH3, XG1, XC)) Computation is same as before i i i XG XH X g h f xg XC ... 5/21/2019 ICCAD 2008
18
Experimental Setup Implemented in ABC using MiniSAT
Linux, Xeon 3.4GHz CPU, and 6Gb RAM Decompose primary-output and transition functions Only functions with no less than 50 inputs are considered ISCAS, MCNC, and ITC 5/21/2019 ICCAD 2008
19
Experimental Results Single-output decomposition
Circuit #func #var #fail #SAT_TO #succ #var_succ #VP_avg rate_ valid_VP time_avg (sec) Mem (Mb) b15 370 143—306 51 319 1519 0.917 96.62 107.20 b17 1009 76—308 148 861 1645 0.904 87.12 125.84 c7552 36 50—194 2 34 1350 0.455 64.38 36.65 s13207 3 212—212 569 0.908 70.26 50.62 s38417 256 53—99 6 72 178 1090 0.523 103.33 136.04 s38584 7 50—147 1120 0.924 47.13 51.56 Two-output decomposition Circuit #pair #var #fail #SAT_TO #succ #var_succ #VP_avg rate_ valid_VP time_avg (sec) Mem (Mb) b15 201 31 170 1176 0.845 113.86 224.07 b17 583 88 495 676 0.824 103.12 419.35 c7552 21 2 19 188 0.465 89.57 78.67 s13207 3 585 0.7 93.36 118.03 s38417 218 13 30 175 689 0.498 109.06 319.48 s38584 9 1656 0.713 46.17 207.78 5/21/2019 ICCAD 2008
20
Experimental Results (cont’d)
Variable partition before / after UNSAT core refinement 5/21/2019 ICCAD 2008
21
Experimental Results (cont’d)
Variable partition qualities resulted from different efforts ||XG|-|XH||/|X| |XC|/|X| w/ mini w/o mini 5/21/2019 ICCAD 2008
22
Conclusions Proposed pure SAT-based Ashenhurst decomposition
Easily extendable to non-disjoint and multiple-output decompositions Scalable to functions with up to 300 input variables Future work Functional decomposition beyond Ashenhurst 5/21/2019 ICCAD 2008
23
Thanks for Your Attention!
5/21/2019 ICCAD 2008
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.