1 / 38

Randy J. Chen July 1, 2013

Randy J. Chen July 1, 2013. Cyclic Node Merging Outline. Motivation Problem Formulation Cyclifiable Structure Identification Cyclic Substitute Node (CSN) Added Cyclic Substitute Node (ACSN) Cyclifiable Structure Validation Intra-SCC Validation Inter-SCC Validation Proposed Flow

Télécharger la présentation

Randy J. Chen July 1, 2013

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Randy J. Chen July 1, 2013

  2. Cyclic Node Merging Outline • Motivation • Problem Formulation • Cyclifiable Structure Identification • Cyclic Substitute Node (CSN) • Added Cyclic Substitute Node (ACSN) • Cyclifiable Structure Validation • Intra-SCC Validation • Inter-SCC Validation • Proposed Flow • Experimental Results • Future Work

  3. Cyclic Node Merging Motivation (1/5) • Yung-Chih Chen (2009): Mergers can be efficiently found by logic implications. a (0,X) v4 1. Compute MAs (nt= sa0) 2. Compute MAs (nt= sa1) 3. Sustitude node ns nodes having different values in MAs (nt = sa0) and MAs (nt = sa1), but not in the transitive fanout cone of nt (1,0) v1 (1,1) b (1,1) v2 (0,0) v5 (1,0) c (1,0) v3 (1,0) d MAs(v3=sa0): {v3=1, c=0, d=1, v2=1, v5=1,b=1,v1=1, v4=0} MAs(v3=sa1): {v3=0, v5=0,v2=1, c=0, b=1, d=0, v1=0}

  4. Cyclic Node Merging Motivation (2/5) • Is it possible that we merge nt=v3 with ns=v5which is in the transitive fanout cone (TFC) of v3? a (0,X) v4 (1,0) v1 (1,1) b (1,1) v2 (0,0) v5 (1,0) c (1,0) v3 (1,0) d Replacing v3 with v5?

  5. Cyclic Node Merging Motivation (3/5) • Leon Stok (1992): Cyclic circuits inadvertently produced during design. always @ * begin if (opc==0) f = (a + b) << c; else f = (a << c) + b; end a a opc 1 0 0 1 opc b c << + opc 0 1 f

  6. Cyclic Node Merging Motivation (4/5) • Marc D. Riedel (2003):Introducing feedback in substitution phase can further reduce the area. • a • d • c • g • a = x1c + c’d • b = x0’(x1d + c) • c = x0x2x3’ + x2’(x0’x1’ + d) • d = x1’x2’x3 + x3’(x1x2’ + x2(x0’ + x1’)) • e = b + x3’cd • f = x1’x2’ + a’c + de’ • g = a + b’f • a = x1’c + x0’x3’c’ • b = x0’e • c = x0x2x3’ + x2’(x1’x3 + e) • d = x1e+ (x2 + x3)a • e = x3’f’ +x2’(x0’ + x1)f • f = x3’a’ + (x2’ + x0’x1’)g • g = a + x3’b’ • b • f • d • a • e • e • f • b • c • g • Acyclicform of 7-segment display • with literal count = 37 • Cyclicform of 7-segment display • with literal count = 34

  7. Cyclic Node Merging Motivation (5/5) • But their approach spends large amount of time on trial and error. • f1 = x2’x3+ f2’f3 • f2= x1f3’ + x3’f1’ • f3= f1f2’ + x2’x3’ f1 f1 f1 … • f1 = x2’x3+ f2’f3 • f2= x1f3’ + x3’f1’ • f3 = x1’f1 + x2’x3’ cost 12 cost 13 cost 12 f3 f3 f3 f2 f2 f2

  8. Cyclic Node Merging Problem Formulation • Given: a combinational circuit C • Derive: an area-optimized circuit C* • By means of: merging a target node nt and a substitute node ns in nt’s transitive fanout cone • With: efficient logic implications

  9. Cyclic Node Merging Cyclic Substitute Node (1/8) • The most important factor of the cyclic combinational circuit is that all loops in the circuit are false. z = 1 z = 0

  10. Cyclic Node Merging Cyclic Substitute Node (2/8) Theorem 1: Let nt denote a target node and ns denote a substitute node in the transitive fanout cone of nt. Replacing nt with ns forms a set of loops L.If the value changes on nt are never propagated to ns, L is combi-national. Proof: 1. As the fault effect D and D cannot be propagated from nt to nsfor any input assignment, ns evaluates to a definite Boolean value other than D and D, which means ns does not depend on nt.

  11. Cyclic Node Merging Cyclic Substitute Node (3/8) Theorem 1: Let nt denote a target node and ns denote a substitute node in the transitive fanout cone of nt. Replacing nt with ns forms a set of loops L.If the value changes on nt are never propagated to ns, L is combi-national. Proof: 2. Thus even if we replace ntwith ns, ns will still evaluate to a definite Boolean value (1 or 0), so do all the nodes originally depend on nt. 3. Then the circuit after merging ntand nswill still be combi- national since all the nodes have definite outputs for any input assignment.

  12. Cyclic Node Merging Cyclic Substitute Node (4/8) • For a loop formed by replacing nt with ns, the two nodes have to satisfy not only the combinational requirement but also the functional requirement. Theorem 1: D and D can NOT be propagated from nt to ns Combinationally equivalent Condition 1: Nodes having different values in MAs (nt= sa0) and MAs (nt= sa1) Functionally equivalent

  13. Cyclic Node Merging Cyclic Substitute Node (5/8) • To efficiently identify cyclic substitute nodes, we can combine some of the combinational requirement with the functional requirement. • How to confirm the other part of combinationality? Condition 2: Functionally equivalent Nodes having different values in MAs (nt= sa0) and MAs (nt= sa1), and ns = (1, 0) or (0, 1)rather than (D, D) or others. Partially combinationally equivalent

  14. Cyclic Node Merging Cyclic Substitute Node (6/8) • Finding MAs when nt = n1 is stuck-at 0. MAs(n1=sa0): {x=1, z=1,n1=D, y=0, n3=D, n2=0, n5=D, n7=0, n4=0, n6=1, n8=0, n10=0, n9=0, n11=1}

  15. Cyclic Node Merging Cyclic Substitute Node (7/8) • Finding MAs when nt = n1 is stuck-at 1. MAs(n1=sa1): {n1=D, y=0,n3=D, n2=0, n5=D, n11=0}

  16. Cyclic Node Merging Cyclic Substitute Node (8/8) • Merging n1 with n11 dose not change the functionality. MAs(n1=sa1): {n1=D, y=0,n3=D, n2=0, n5=D, n11=0} MAs(n1=sa0): {x=1, z=1,n1=D, y=0, n3=D, n2=0, n5=D, n7=0, n4=0, n6=1, n8=0, n10=0, n9=0,n11=1}

  17. Cyclic Node Merging Added Cyclic Substitute Node (1/5) • Though few cyclic substitute nodes exist in practice, there are still potential CSNs.

  18. Cyclic Node Merging Added Cyclic Substitute Node (2/5) • Driven by a blocking node nb, the added node na also satisfies Condition 2. We name naa maskingACSN.

  19. Cyclic Node Merging Added Cyclic Substitute Node (3/5) • Eight types of masking ACSNs.

  20. Cyclic Node Merging Added Cyclic Substitute Node (4/5) • If no nb = (1,0) or (0,1) exists, nb=(1,X) can be used.In this situation, we call na an induced ACSN. If X1 = 1 implies X2 = 1, then na = (1, 1)(0, 1) = (1, 0) satisfies Condition 2.

  21. Cyclic Node Merging Added Cyclic Substitute Node (5/5) • Eight types of induced ACSNs.

  22. Cyclic Node Merging Intra-SCC Validation (1/2) • To achieve combinationally equivalent, we can examine if the value on ns would changes upon the value change on nt under certain assignment. Splitting ntinto two nodes

  23. Cyclic Node Merging Intra-SCC Validation (2/2) • Since the signals are extended to 2-bit signals, the function of nodes has to be modified. f1= a1b1 f0= a0b0+ a1a0b0+ b1b0a1

  24. Cyclic Node Merging Inter-SCC Validation (1/8) • n1 and n11 have an observability don’t care when xyz=011.

  25. Cyclic Node Merging Inter-SCC Validation (2/8) • The observability don’t care may affect the combinationality of the SCC s1.

  26. Cyclic Node Merging Inter-SCC Validation (3/8) Theorem 2:Let nt denote a target node and ns denote a substitute node in the transitive fanout cone of nt. Replacing ntwith ns forms a new SCC sn+1. Assume there are already n combinational SCCs S = {s1, s2, …, si, …, sn}in the circuit, and there are totally m input nodes T = {t1, t2, …, tj, …, tm} to S. Let DTand DT* denote the input domain of T before and after the replacement, respectively. If DT* ⊆ DT, Sremains combinational after sn+1 is formed. Proof: 1. 1 loop in si DT = U / all NCV to the loop 2. n loops in si  DT = U / all NCV to these loops 3. S is comb.  DT is valid 4. DT* ⊆ DT DT* is also valid

  27. Cyclic Node Merging Inter-SCC Validation (4/8) • J. Backes (2008):(a) Figuring out feedback arcs, and cutting them to form an acyclic circuit. Original Adding dummy variables

  28. Cyclic Node Merging Inter-SCC Validation (5/8) • J. Backes (2008):(b) Extending signals to 2 bits (000, 111, X01 or 10). Adding dummy variables Making all variables dual-rail

  29. Cyclic Node Merging Inter-SCC Validation (6/8) • J. Backes (2008):(c) Approximately 3 times more variables and 6 times more clauses would be used. f = ab a b 3 variables 3 clauses f a1 a0 b1 b0 f1= a1b1+ a0b1b0’ f0 = a0b0+ a1b1’b0 10 variables 20 clauses f1 f0

  30. Cyclic Node Merging Inter-SCC Validation (7/8) • We extract the SCC part of the circuit and make it dual-rail.

  31. Cyclic Node Merging Inter-SCC Validation (8/8) • Add an OR gate driven by the dual-rail instances and assign different value to nt and ns.

  32. Cyclic Node Merging Proposed Flow (1/2) Target node nt Derive MAs of nt Find a CSN ns YES Found? NO Find a masking ACSN ns YES Found? NO Find an induced ACSN ns YES Found? Check combinationality NO NO Comb.? YES YES More nt? Merge nt and ns NO Termination

  33. Cyclic Node Merging Proposed Flow (2/2) Target node nt Derive MAs of nt Find a CSN ns YES Found? Check combinationality NO Find a masking ACSN ns Intra-SCC check YES Found? Pass? NO NO YES Find an induced ACSN ns Inter-SCC check YES Found? Check combinationality Pass? Return NO NO NO NO Comb.? YES YES YES Return YES More nt? Merge nt and ns NO Termination

  34. Cyclic Node Merging Experimental Results (1/4) • The effectiveness of identifying cyclifiable structure.

  35. Cyclic Node Merging Experimental Results (2/4) • Comparing with node merging.

  36. Cyclic Node Merging Experimental Results (3/4) • The ability to achieve more minimized circuits.

  37. Cyclic Node Merging Experimental Results (4/4) • The efficiency of our combinationality check.

  38. Cyclic Node Merging Future Work • Finding a good strategy to enrich the number of MAs.

More Related