on the existence of hazard free multi level logic
play

On the Existence of Hazard-Free Multi-Level Logic Steven M. Nowick - PowerPoint PPT Presentation

On the Existence of Hazard-Free Multi-Level Logic Steven M. Nowick Charles W. ODonnell Department of Computer Science Columbia University Preliminaries Combinational Circuit Preliminaries Combinational Circuit multiple-input


  1. On the Existence of Hazard-Free Multi-Level Logic Steven M. Nowick Charles W. O’Donnell Department of Computer Science Columbia University

  2. Preliminaries Combinational Circuit

  3. Preliminaries Combinational Circuit multiple-input transition (1)

  4. Preliminaries hazard = potential for a glitch Combinational (1) Circuit multiple-input output transition transition

  5. Preliminaries hazard-free = no potential for a glitch Combinational (1) Circuit multiple-input output transition transition Goal: design hazard-free combinational circuits

  6. Outline • Background: Background: Hazard-Free 2-Level Logic • • Overview of Multi Overview of Multi- -Level Method Level Method • – Hazard-Free Decomposition – Algorithm + Examples – Standard 3-Level Circuit Structures – Canonicity • Related Work: Related Work: Bredeson Bredeson [ [’ ’74] 74] • • Experimental Results Experimental Results • • Conclusions Conclusions •

  7. Circuit & Environmental Models: #1 CIRCUIT MODEL: unbounded gate & wire delays (no timing assptns.) Combinational Circuit … Environment ENVIRONMENTAL MODEL: Our Focus: “generalized fundamental mode” (env. must wait until circuit stable) … used for “burst-mode” controllers, etc. Goal: synthesize hazard-free circuit under this model

  8. Circuit & Environmental Models: #2 CIRCUIT MODEL: isochronic fork assptn. ( i.e. timing assptn. ) Combinational Circuit … Environment ENVIRONMENTAL MODEL: “input/output mode” Alternative Model: (no timing assptns.) … used for “QDI” controllers, etc.

  9. Combinational Hazards in 2-Level Circuits: Notation A (1) B Combinational Circuit F C (1) D end point start point AB 0 0 0 1 1 1 1 0 CD F: t1 0 0 1 1 1 1 0 1 1 0 0 1 input transition t1: Function F: represented using start point: 0100 Karnaugh Map (= truth table) t2 0 1 1 0 1 1 end point: 1101 1 0 1 1 0 0

  10. Function Hazards • An input transition which is not monotonic in function F itself [Unger69] • Intuition: occurs when user specifies glitchy behavior – circuit implementations cannot be guaranteed glitch-free! AB 0 0 0 1 1 1 1 0 CD F: t4 0 0 1 1 1 1 t4: function hazard-free 0 1 1 0 0 1 0 1 1 0 1 1 t3: function hazard 1 0 1 1 0 0 t3 … only consider function hazard-free input transitions [Unger 69]

  11. Logic Hazards: Conditions for Hazard-Free Transitions • Property of a given circuit implementation • An input transition has a logic hazard if circuit impltn. may glitch Case 1: 0 � 0 Transition AB 0 0 0 1 1 1 1 0 C CD F: D 0 0 1 1 1 1 B D 0 1 1 0 0 1 t5 A C 0 1 1 0 1 1 D logic hazard-free 1 0 1 1 0 0 …every AND-OR circuit is logic hazard-free for 0 � 0 transitions [Unger 69]

  12. Logic Hazards (cont.) Case 2: 1 � 1 Transition Example: input transition t1 AB 0 0 0 1 1 1 1 0 hazard! CD F: C 0 0 t1 1 1 1 1 D A (1) B 0 1 1 0 0 1 B D (0) C (1) A 0 1 1 0 1 1 D C D 1 0 1 1 0 0 hazard-free C AB 0 0 0 1 1 1 1 0 CD F: D 0 0 (1) 1 1 t1 1 1 B D 0 1 1 0 0 1 (0) A C “required 0 1 1 0 1 1 D cube” (1) new gate B C 1 0 1 1 0 0 Transition t1’s “required cube” must be covered

  13. Logic Hazards (cont.) Case 3: 1 � 0 (0 � 1) Transition Example: input transition t2 AB 0 0 0 1 1 1 1 0 hazard! partial transition CD (0) F: C 0 0 1 1 1 1 D A (0) B 0 1 1 0 0 1 B (1) D C t2 (1) A 0 1 1 0 1 1 D C D 1 0 1 1 0 0 hazard-free (0) C AB 0 0 0 1 1 1 1 0 CD F: D 0 0 (1) 1 1 1 1 B D 0 1 1 0 0 1 “required A cubes” C t2 0 1 1 0 1 1 D (1) new gate A 1 0 1 1 0 0 B Transition t2: each max 1 � 1 subtransition = “required cube” which must be covered

  14. Logic Hazards (cont.) Case 3: 1 � 0 (0 � 1) Transition (cont.) Example: input transition t2 AB 0 0 0 1 1 1 1 0 hazard! complete transition CD (0) F: C 0 0 1 1 1 1 D A B 0 1 1 0 0 1 B (1) D illegal C intersection t2 A (1) 0 1 1 0 1 1 C D D 1 0 1 1 0 0 A B (0) hazard-free C AB 0 0 0 1 1 1 1 0 CD F: D 0 0 1 1 1 1 B D no illegal 0 1 1 0 0 1 A intersection (1) modify B t2 gate C 0 1 1 0 1 1 D A 1 0 1 1 0 0 B Transition t2: avoid “illegal intersections” of 1 � 0 (0 � 1) transitions

  15. Hazard-Free Two-Level Logic Minimization Summary: “Hazard-Free Covering Rules” In Karnaugh map for function F …: – each required cube : must be covered by some product – no illegal intersections: with any 1 � 0 (0 � 1) transition Hazard-Free Minimization Algorithm [Nowick/Dill ICCAD92,TCAD95] – produce a minimum-cost hazard-free AND-OR circuit Existence of a Two-Level Solution: not always!

  16. Example #1: Hazard-Free Two-Level Solution AB AB 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 CD CD F: F: 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 (b) (a) A B D A F C A B D

  17. Example #2: No Hazard-Free 2-Level Solution Exists AB AB 0 0 0 1 11 1 0 0 0 0 1 11 1 0 CD CD F: F: 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 0 0 (a) (b) [Nowick/Dill, ICCAD-92]

  18. Example #2 (cont.) A A C C A A B B B B C C C C D D D D A A B B C C A A C C C C D D D D B B C C A A C C (a) (b) However, several hazard-free multi-level implementations do exist!

  19. Contribution Problem. Given a Boolean function F and specified set of input transitions T: Does any multi-level hazard-free implementation exist? Assumptions. Consider only networks of simple combinational gates: AND, OR, INV, NAND, NOR General Solution: 2 new algorithms, always find a solution if one exists. 1. Basic Recursive Method 2. Iterative Method Key Contribution: show that, if some hazard-free multi-level implementation exists, then there is always a hazard-free 3-level implementation : – 3-Level NAND – OR-AND-OR

  20. Outline • Background: Background: Hazard-Free 2-Level Logic • • Overview of Multi Overview of Multi- -Level Method Level Method • – Hazard-Free Decomposition – Algorithm + Examples – Standard 3-Level Circuit Structures – Canonicity • Related Work: Related Work: Bredeson Bredeson [ [’ ’74] 74] • • Experimental Results Experimental Results • • Conclusions Conclusions •

  21. Basic Overview of Approach: Use Recursive “Hazard-Free Decomposition” f1 f1 f f f f2 f2 f3 f3 f4 f4 f1 f1 f21 f21 f2 f f f2 f2 f2 f22 f22 f3 f3 f3 f3 f4 f4

  22. First Hazard-Free Decomposition: Disjunction General disjunctive decomposition: AB AB 0 0 0 1 11 1 0 0 0 0 1 11 1 0 CD CD F: F : 1 0 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 “Required cubes” are divided among the new subfunctions 1 1 1 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 (a) (b) AB 0 0 0 1 11 1 0 F : CD 2 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 (c)

  23. First Hazard-Free Decomposition: Disjunction (cont.) Maximal disjunctive decomposition: a special case AB AB 0 0 0 1 11 1 0 0 0 0 1 11 1 0 CD CD F: F : 1 0 0 0 0 1 1 1 1 1 0 1 0 1 Each new subfunction 1 1 1 1 gets exactly one (distinct) 1 1 1 1 0 0 1 0 0 0 0 “required cube” 1 0 1 0 0 0 1 0 0 0 0 (a) (b) AB 0 0 0 1 11 1 0 CD AB F : 0 0 0 1 11 1 0 3 F : CD 2 0 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 (d) (c)

  24. Second Hazard-Free Decomposition: Inversion Swap OFF-set and required cubes AB AB 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 CD CD F: F: 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 0 1 0

  25. Basic Summary of Approach: alternate disjunction + inversion hazard-free impltns. (single-product) max disjunctive decomposition f1 f1 f f2 f2 f f f3 NO f3 SOLUTION f4 f4 max disjunctive inversion f1 inversion f1 decomposition f21 f21 f f2 f2 f2 f f2 f22 f22 f3 f3 f3 f3 f4 f4 hazard-free impltns. (single-product)

  26. First Complete Example: Finding a Hazard-Free Multi-Level Implementation AB AB 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 CD CD F: F: 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1 Given Boolean Function + Specified Transitions

  27. Level-0: Maximal Disjunctive Decomposition AB AB 0 0 0 1 11 1 0 0 0 0 1 11 1 0 F : CD CD F : 1 2 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 AB 0 0 0 1 1 1 1 0 CD F: 1 1 1 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 AB AB 0 0 0 1 11 1 0 0 0 0 1 11 1 0 CD CD F : F : 3 4 3 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0

  28. Level-0: Maximal Disjunctive Decomposition (cont.) F1 F2 F F3 F4

Recommend


More recommend