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

on the existence of hazard free multi level logic
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

On the Existence of Hazard-Free Multi-Level Logic

Steven M. Nowick Charles W. O’Donnell Department of Computer Science Columbia University

slide-2
SLIDE 2

Preliminaries

Combinational Circuit

slide-3
SLIDE 3

Preliminaries

Combinational Circuit

(1)

multiple-input transition

slide-4
SLIDE 4

Preliminaries

hazard = potential for a glitch Combinational Circuit

(1)

multiple-input transition

  • utput transition
slide-5
SLIDE 5

Preliminaries

hazard-free = no potential for a glitch Combinational Circuit

(1)

multiple-input transition

  • utput transition

Goal: design hazard-free combinational circuits

slide-6
SLIDE 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

slide-7
SLIDE 7

Circuit & Environmental Models: #1

Combinational Circuit CIRCUIT MODEL: unbounded gate & wire delays (no timing assptns.) ENVIRONMENTAL MODEL: “generalized fundamental mode” (env. must wait until circuit stable) … used for “burst-mode” controllers, etc.

Our Focus:

Environment …

Goal: synthesize hazard-free circuit under this model

slide-8
SLIDE 8

Circuit & Environmental Models: #2

Combinational Circuit CIRCUIT MODEL: isochronic fork assptn. (i.e. timing assptn.) ENVIRONMENTAL MODEL: “input/output mode” (no timing assptns.) … used for “QDI” controllers, etc.

Alternative Model:

Environment …

slide-9
SLIDE 9

Combinational Hazards in 2-Level Circuits: Notation

Combinational Circuit F

(1)

input transition t1: start point: 0100 end point: 1101

1 1 1 1 AB CD 1 1 1 1

F:

(1)

A B C D

1 1 1 1 1 1 1 1 1 1

t1 t2

end point start point Function F: represented using Karnaugh Map (= truth table)

slide-10
SLIDE 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!

1 1 1 1 AB CD 1 1 1 1

1 1 1 1 1 1 1 1 1 1

F:

t4 t3 t4: function hazard-free t3: function hazard

… only consider function hazard-free input transitions [Unger 69]

slide-11
SLIDE 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: 00 Transition

1 1 1 1 AB CD 1 1 1 1

1 1 1 1 1 1 1 1 1 1

t5

C D B D logic hazard-free

F:

A D C

…every AND-OR circuit is logic hazard-free for 00 transitions [Unger 69]

slide-12
SLIDE 12

(1)

Logic Hazards (cont.)

Case 2: 11 Transition

C D B D A D

1 1 1 1 AB CD 1 1 1

F:

1 1 1 1 1 1 1 1

t1

(1)

A B C D

Example: input transition t1

hazard!

1 1 1 1 1

F:

1 1 1 1 1 1 1 1 1 1

t1

C D B D

hazard-free

C B

(1)

new gate

1

1 1

1 1 1 AB CD

C

(0) (0)

A D C

(1)

“required cube” Transition t1’s “required cube” must be covered

slide-13
SLIDE 13

B A

(1)

Logic Hazards (cont.)

C D B D A D

1 1 1 1 AB CD 1 1 1

F:

1 1 1 1 1 1 1 1

t2

(1)

A B C D

Example: input transition t2

hazard!

1 1 1 1 1

F:

1 1 1 1 1 1 1 1 1 1

C D B D

hazard-free

(1)

Transition t2: each max 11 subtransition = “required cube” which must be covered new gate

1

1 1

1 1 1 AB CD

C A D C

(1)

Case 3: 10 (01) Transition

t2

(0)

partial transition

(0) (0)

“required cubes”

slide-14
SLIDE 14

B modify gate A D B A

(1)

Logic Hazards (cont.)

C D B D

1 1 1 1 AB CD 1 1 1

F:

1 1 1 1 1 1 1 1

t2

(1)

A B C D

Example: input transition t2

hazard!

1 1 1 1 1

F:

1 1 1 1 1 1 1 1 1 1

D B D

hazard-free

1

1 1

1 1 1 AB CD

C A D C

Case 3: 10 (01) Transition (cont.)

t2

(0)

complete transition

(0)

A C B illegal intersection no illegal intersection

(1)

Transition t2: avoid “illegal intersections” of 10 (01) transitions

slide-15
SLIDE 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 10 (01) 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!

slide-16
SLIDE 16

Example #1: Hazard-Free Two-Level Solution

F A C D B A A B D

(a) (b)

AB CD 1 1 1 1 1 1 1 1

1 1 1 1 1 1

F:

1

AB CD 1 1 1 1 1 1 1 1

1 1 1 1 1 1

F:

1

slide-17
SLIDE 17

Example #2: No Hazard-Free 2-Level Solution Exists

AB CD 1 11 1 1 1 1 1

1 1 1 1 1 1

F:

1 1 1 1 1 1

(b)

AB CD 1 11 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1

F:

(a)

[Nowick/Dill, ICCAD-92]

slide-18
SLIDE 18

Example #2 (cont.)

D C A C B C D B C A C D A B C A C D A B C B C D C B C D A C A C D C A C B A D C B A

(a) (b)

However, several hazard-free multi-level implementations do exist!

slide-19
SLIDE 19

Contribution

  • Problem. Given a Boolean function F and specified set
  • f 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

slide-20
SLIDE 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

slide-21
SLIDE 21

Basic Overview of Approach: Use Recursive “Hazard-Free Decomposition”

f f1 f2 f4 f1 f2 f4 f f f3 f2 f3 f f1 f2 f4 f3 f3 f f1 f2 f4 f3 f3 f2 f21 f22 f21 f22

slide-22
SLIDE 22

First Hazard-Free Decomposition: Disjunction General disjunctive decomposition:

F :

2

F :

1

AB CD 1 11 1 1 1 1 1 AB CD 1 11 1 1 1 1 1 AB CD 1 11 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

(a) (b) (c)

F:

“Required cubes” are divided among the new subfunctions

slide-23
SLIDE 23

First Hazard-Free Decomposition: Disjunction (cont.) Maximal disjunctive decomposition: a special case

F :

1

AB AB CD 1 11 1 1 1 1 1 AB CD 1 11 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1

(a) (b) (d) (c)

F:

Each new subfunction gets exactly one (distinct) “required cube”

F :

2

CD 1 11 1 1 1 1 1

1 1

F :

3

AB CD 1 11 1 1 1 1 1

1 1 1 1

slide-24
SLIDE 24

Second Hazard-Free Decomposition: Inversion

Swap OFF-set and required cubes

F:

AB CD 1 1 1 1 1 1 1 1

1 1 1 1 1

AB CD 1 1 1 1 1 1 1 1

1 1

F:

slide-25
SLIDE 25

Basic Summary of Approach: alternate disjunction + inversion

f f f1 f2 f4 f2 f f1 f2 f4 f3 f3 f f1 f2 f4 f3 f3 f f1 f2 f4 f3 f3 f2 f21 f22 f21 f22

hazard-free impltns. (single-product) max disjunctive decomposition NO SOLUTION max disjunctive decomposition inversion inversion hazard-free impltns. (single-product)

slide-26
SLIDE 26

First Complete Example: Finding a Hazard-Free Multi-Level Implementation

1 1 1 1 1 1 1 1 1 1 1 1 1 1

AB CD 1 1 1 1 1 1 1 1

F:

AB CD 1 1 1 1 1 1 1 1

F:

Given Boolean Function + Specified Transitions

slide-27
SLIDE 27

Level-0: Maximal Disjunctive Decomposition

AB CD 1 11 1 1 1 1 1 AB CD 1 11 1 1 1 1 1

F : F :

2 1

1 1 1 1

AB CD 1 11 1 1 1 1 1

F :

3

AB CD 1 11 1 1 1 1 1

F :

4

1 1 1 1

1 1 1 1 1 1 1

AB CD 1 1 1 1 1 1 1 1

F:

3

slide-28
SLIDE 28

Level-0: Maximal Disjunctive Decomposition (cont.)

F1 F2 F3 F F4

slide-29
SLIDE 29

Level-0: Maximal Disjunctive Decomposition (cont.)

AB CD 1 11 1 1 1 1 1 AB CD 1 11 1 1 1 1 1

F : F :

2 1

1 1 1 1

AB CD 1 11 1 1 1 1 1

F :

3

AB CD 1 11 1 1 1 1 1

F :

4

1 1 1 1

1 1 1 1 1 1 1

AB CD 1 1 1 1 1 1 1 1

F:

3

NO SOLUTION!

slide-30
SLIDE 30

Level-0: Maximal Disjunctive Decomposition (cont.)

B C D A F1 F2 F3 F F4 A B C

slide-31
SLIDE 31

Level-1: Inversion

AB CD 1 1 1 1 1 1 1 1

F :

4

1 1 1 1 1

AB CD 1 1 1 1 1 1 1 1

F :

4

1 1

slide-32
SLIDE 32

Level-1: Inversion (cont.)

F4

B C D A F1 F2 F3 F A B C

slide-33
SLIDE 33

Level-1: Maximal Disjunctive Decomposition

F :

(a) (b) (c) (d) (e) AB CD 1 11 1 1 1 1 1

F :

4

AB CD 1 11 1 1 1 1 1

F :

41

AB CD 1 11 1 1 1 1 1

F :

42

AB CD 1 11 1 1 1 1 1

43

1 1 1 1 1 1 1 1 1 1

AB CD 1 11 1 1 1 1 1

F :

44

1 1

slide-34
SLIDE 34

Level-1: Maximal Disjunctive Decomposition (cont.)

F4 F1 F2 F3 F F4 C D B A B D A F44 F43 F42 F41

slide-35
SLIDE 35

F :

(a) (b) (c) (d) (e) AB CD 1 11 1 1 1 1 1

F :

4

AB CD 1 11 1 1 1 1 1

F :

41

AB CD 1 11 1 1 1 1 1

F :

42

AB CD 1 11 1 1 1 1 1

43

1 1 1 1 1 1 1 1 1 1

AB CD 1 11 1 1 1 1 1

F :

44

1 1

NO SOLUTION

Level-1: Maximal Disjunctive Decomposition (cont.)

slide-36
SLIDE 36

Level-1: Maximal Disjunctive Decomposition (cont.)

F4 F1 F2 F3 F F4 D B C D B A B D A A C A F41 F42 F44 F43

slide-37
SLIDE 37

Level-2: Inversion

AB CD 1 1 1 1 1 1 1 1

F :

43

1 1

AB CD 1 1 1 1 1 1 1 1

1 1

43

F :

AB CD 1 1 1 1 1 1 1 1

F :

44

1 1

AB CD 1 1 1 1 1 1 1 1

1 1

44

F :

slide-38
SLIDE 38

Level-2: Inversion (cont.)

F4 F1 F2 F3 F F4 D B C D B A B D A A C A F41 F42 F44 F43

slide-39
SLIDE 39

Final Hazard-Free Multi-Level Implementation

F4 F1 F2 F3 F F4 D B C D B A B D A A C A F41 F42 A F44 F43 C A C

slide-40
SLIDE 40

Deriving a 3-Level NAND Implementation: First Step

C C A D B A A C D A B B D A C A D B A C D A B C C A A C A B D A

slide-41
SLIDE 41

Deriving a 3-Level NAND Implementation: Final Step

C C A D B A A B D A A C A C C D A B C A B D A

(b) (a) (c)

D B A C A C D A B B D A A C D B A C A C D A B

standard form

slide-42
SLIDE 42

Deriving a 3-Level OR-AND-OR Implementation

D B A C C C D A B A A C A B D A C C D A B A B D A C A D B A

standard form

slide-43
SLIDE 43

Second Example: No Hazard-Free Multi-Level Solution

AB C 1

1 1 1 1

AB C 1

1 1 1 1

F:

1 11 1 1 11 1 AB C 1 11 1 1

1 1

1

F: F:

One of the subfunctions: after max disjunctive decomposition

slide-44
SLIDE 44

Second Example: No Multi-Level Solution (cont.)

no (single-product) hazard-free implementation

11

F :

1

F:

C 1 11 1

1 1

AB 1

1 1

C 1 11 1

1 1

AB 1 AB C 1 1 1 1 1

1 1

11

F : One of the subfunctions: after max disjunctive decomposition after inversion after inversion

Conclusion: no hazard-free multi-level solution exists!

slide-45
SLIDE 45

Other Contributions Correctness of Method:

– Soundness: only produces hazard-free implementations – Completeness: if any hazard-free multi-level solution exists, method will always produce a solution

Canonicity:

– variant of algorithm: identifies unique “representative” solution

Iterative Algorithm: (…see paper)

– Observation: after 3 recursive levels, sub-problems repeat can terminate recursion – Propose 3-level iterative algorithm

slide-46
SLIDE 46

Summary Given: a Boolean function F + specified set of transitions T. If (F,T) has any hazard-free multi-level solution, then it always will have a hazard-free 3-level implementation:

  • 3-Level NAND
  • OR-AND-OR

The proposed iterative method will always find such a solution… if one exists.

slide-47
SLIDE 47

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

slide-48
SLIDE 48

Related Work: Bredeson [‘74] First known approach to tackle the problem:

– uses recursive algorithm: alternates disjunction + inversion

Limitations:

– does not identify that solutions are always 3-level – does not address canonicity – highly-restricted formulation:

  • tight restrictions on allowed input transitions
  • limited notion of hazard-free decomposition
  • cannot handle incompletely-specified functions
slide-49
SLIDE 49

Experimental Results

Prototype CAD Tool:

– Reads in Berkeley PLA format + input transition list – Produces hazard-free multi-level implementation

  • - or indicates if no solution exists

Exists? Solution Subfunctns Total # Inversions Total # per Level Max Inverters Depth RecursnCPU Time (ms) Inputs # Function Name

z6 z5 z3 z4 z2 z1 nowick_dill simple_ex

3

2 0.99 2.23 0.18 2 2 1 1 2 1 0.68 1.42 2.28 0.59 0.11 0.36 1 1 3 4 2 2 2 3 14 10 2 3 1 3 7 11 4 8 12 19 8 3 4 No Yes Yes Yes No Yes Yes No Yes 4 4 4 4 4 4 4 4 bredeson

slide-50
SLIDE 50

Conclusions

  • General Constructive Method:

– given function F and set of input transitions T, determine if any hazard-free multi-level solution exists – based on “hazard-free decomposition”: alternate disjunction + inversion

  • Key Observation:

– if any solution exists, then so does a 3-level solution – target two forms: (a) 3-level NAND, (b) OR-AND-OR

  • Potential Practical Benefits:

– can use as starting point of hazard-free logic synthesis – can simplify conservative restrictions in sequential synthesis – provides deeper understanding of nature of hazard-free logic….