![Page 1: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/1.jpg)
COMP290-084
Clockless Logic
Prof. Montek Singh
Jan. 29, 2004
![Page 2: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/2.jpg)
Acknowledgment
Michael Theobald and Steven
Nowick, for providing slides for
this lecture.
![Page 3: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/3.jpg)
An Implicit Method for Hazard-Free Two-Level Logic Minimization
Michael Theobald and Steven M. Nowick Columbia University, New York, NY
Paper appeared in Async-98
(Best Paper Finalist)
![Page 4: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/4.jpg)
Hazard-Free Logic Minimization
?
Given: Boolean function and multi-input change
![Page 5: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/5.jpg)
Hazard-Free Logic Minimization
![Page 6: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/6.jpg)
Hazard-Free Logic Minimization
f(A) f(B)
0 0
0 1
1 1
1 0
![Page 7: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/7.jpg)
Hazard-Free 2-Level Logic Minimization
![Page 8: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/8.jpg)
Classic 2-Level Logic Minimization
Step 1. Generate Prime Implicants 0 0 0 1 1 11 0
Karnaugh-Map:
1’s: “Minterms”
Ovals: “Prime Implicants”
Step 2. Select Minimum # of Primes …to cover all Minterms
Prime implicants
Min
term
s
Quine-McCluskey Algorithm
![Page 9: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/9.jpg)
2-level Logic Minimization:Classic vs. Hazard-Free
Classic (Quine-McCluskey):
<On-set minterms, Prime implicants>
Hazard-Free:
<Required cubes, DHF-Prime implicants>
– Given: Boolean function & set of “multi-input” changes
– Find: min-cost 2-level implementation guaranteed to be glitch-free
– Required cubes = sets of minterms
– DHF-Prime implicants =
maximal implicants that do not intersect privileged cubes illegally
![Page 10: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/10.jpg)
Hazard-Free Logic Minimization
Non-monotonic– function hazard– no implementation hazard-free
Monotonic– function-hazard-free
0 0 0 0
0 1 1 0
1 1 0 0
1 0 0 0
Restriction to monotonic changes
Multi-Input Changes:
![Page 11: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/11.jpg)
Hazard-Freedom Conditions: 1 -> 1 transition
0 0 0 0
0 1 0 0
0 1 0 0
0 1 _ 0
0 0 0 0
0 1 0 0
0 1 0 0
0 1 _ 0
Required Cube
must be covered
![Page 12: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/12.jpg)
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
![Page 13: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/13.jpg)
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
![Page 14: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/14.jpg)
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
![Page 15: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/15.jpg)
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
![Page 16: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/16.jpg)
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
![Page 17: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/17.jpg)
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
![Page 18: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/18.jpg)
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
illegal intersection
![Page 19: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/19.jpg)
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
No illegal intersectionof privileged cube
illegal intersection
![Page 20: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/20.jpg)
Dynamic-Hazard-Free Prime Implicants
0 0 0 1 1 11 0
Prime
0 0 0 1 1 11 0
NO DHF-Primeillegal
intersection
0 0 0 1 1 11 0
DHF-Prime
![Page 21: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/21.jpg)
2-level Logic Minimization:Classic vs. Hazard-Free
Classic (Quine-McCluskey):
<On-set minterms, Prime implicants>
Hazard-Free:
<Required cubes, DHF-Prime implicants>
– Given: Boolean function & set of “multi-input” changes
– Find: min-cost 2-level implementation guaranteed to be glitch-free
– Required cubes = sets of minterms
– DHF-Prime implicants =
maximal implicants that do not intersect privileged cubes illegally
Main challenge: Computing DHF-prime implicants
![Page 22: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/22.jpg)
Hazard-Free 2-level Logic Minimization:
Previous Work Early work (1950s-1970s):
– Eichelberger, Unger, Beister, McCluskey
Initial solution: Nowick/Dill [ICCAD 1992]
Improved approaches:
– HFMIN: Fuhrer/Nowick [ICCAD 1995]
– Rutten et al. [Async 1999]
– Myers/Jacobson [Async 2001]
No approach can solve large examples
![Page 23: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/23.jpg)
IMPYMIN: an exact 2-level minimizer
Two main ideas: – novel reformulation of hazard-freedom constraints
• used for dhf-prime generation• recasts an asynchronous problem as a
synchronous one
– uses an “implicit” method• represents & manipulates large # of objects
simultaneously • avoids explicit enumeration • makes use of BDDs, ZBDDs
Outperforms existing tools by orders of
magnitude
![Page 24: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/24.jpg)
Review: Primes vs. DHF-PrimesClassic (Quine-McCluskey):
<On-set minterms, Prime implicants>
Hazard-Free: <Required cubes, DHF-Prime implicants>
DHF-Prime Implicants = maximal implicants that do not intersect “privileged cubes” illegally
Primes
0 0 0 1 1 11 0
0 0 0 1 1 11 0
DHF-Primes
![Page 25: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/25.jpg)
Topic 1: New Idea Challenge: Two types of constraints
– maximality constraints: “we want maximally large implicants”
– avoidance constraints: “we must avoid illegal intersections”
DHF-Prime Generation
New Approach: Unify constraints by “lifting” the problem into a higher-dimensional space:
g(x1, …, xn, z1, …, zl) maximality
f(x1,…,xn), T maximality & avoidance constraints
![Page 26: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/26.jpg)
0 0 0 1 1 11 0
Auxiliary Synchronous Function g
0 0 0 1 1 1 1 0
0 0 1 0 0 0 0 0
z=0 z=1
Add one new dimension per privileged cube
0-half-space: g is defined as f
1-half-space: g is defined as f BUT priv-cube is filled with 0’s
f
g
![Page 27: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/27.jpg)
0 0 0 1 1 11 0
0 0 0 0 0 1 1 01 1 0 01 0 0 0
Prime Implicants of g
Expansion in z-dimensionguarantees avoidance of priv-cube in original domain
f
g
![Page 28: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/28.jpg)
0 0 0 1 1 11 0
0 0 0 0 0 1 1 01 1 0 01 0 0 0
Prime Implicants of g
Expansion in x-dimension corresponds to enlarging cube
in original domain.
f
g
![Page 29: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/29.jpg)
Summary: Auxiliary Synchronous Function g
The definition of auxiliary function g exactly
ensures :
Expansion in a z-dimension corresponds to
avoiding the privileged cube in the original
domain.
Expansion in a x-dimension corresponds to
enlarging the cube in the original domain.
![Page 30: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/30.jpg)
New approach: DHF-Prime Generation
Goal: Efficient new method for DHF-Prime
generation
Approach: – translate original function f into synchronous
function g– generate Primes(g)– after filtering step, retrieve dhf-primes(f)
![Page 31: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/31.jpg)
0 0 0 1 1 11 0
0 0 0 0 0 1 1 01 1 0 01 0 0 0
Prime Generation of g
f
g
Prime implicants of g
![Page 32: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/32.jpg)
0 0 0 1 1 11 0
0 0 0 0 0 1 1 01 1 0 01 0 0 0
0 0 0 0 0 1 1 01 1 0 01 0 0 0
Filtering Primes of g
Filter
Lifting
Prime implicants of g
3 classes of primes of synchronous fct g:– 1. do not intersect priv-cube
(in original domain)– 2. intersect legally– 3. intersect illegally
Transforming Prime(g) into DHF-Prime(f,T):
f
g
![Page 33: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/33.jpg)
0 0 0 1 1 11 0
0 0 0 1 1 11 0
0 0 0 0 0 1 1 01 1 0 01 0 0 0
0 0 0 0 0 1 1 01 1 0 01 0 0 0
Projection
Projection
Filter
Lifting
Prime implicants of g
f
g
DHF-Prime(f,T)
![Page 34: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/34.jpg)
Formal Characterization of DHF-Prime(f,T)
li
iiln pzfzzxxg1
11 )(),,,,,(
![Page 35: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/35.jpg)
IMPYMIN
CAD tool for Hazard-Free 2-Level Logic
Two main ideas:– Computes DHF-Primes in higher-dimension
space– Implicit Method: makes use of BDDs, ZBDDs
![Page 36: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/36.jpg)
What is a BDD ? Compact
representation for
Boolean function
a
b
c
0 1
01
![Page 37: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/37.jpg)
What is implicit logic minimization?
Classic Quine-McCluskey:
Scherzo [Coudert] (implicit logic
minimization):
Prime implicants
Min
term
s
MintermsZBDD
PrimesZBDD
( , )
![Page 38: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/38.jpg)
IMPYMIN Overview: Implicit Hazard-free 2-Level Minimizer
f, T
Scherzo’sImplicit Solver
Req-cubes(f,T)
ZBDD
f
BDD
g
BDD
Prime(g)
ZBDD
DHF-Prime(f)
ZBDD
objects-to-be-covered
coveringobjects
![Page 39: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/39.jpg)
Impymin vs. HFMIN: Results
I/O #C HFMIN IMPYMIN
cache 20/23 97 impossible 301
pscsi 16/11 77 1656 105
sd 18/22 34 172 52
Stetson1 32/33 60 >72000 813
Stetson2 18/22 37 151 49
39
23
0
9
0
#z
added variables
![Page 40: COMP290-084 Clockless Logic Prof. Montek Singh Jan. 29, 2004](https://reader030.vdocuments.us/reader030/viewer/2022020715/56649d4d5503460f94a2cac5/html5/thumbnails/40.jpg)
IMPYMIN: Conclusions
New idea: incorporate hazard-freedom
constraints– transformed asynchronous problem into
synchronous problem
Presented implicit minimizer IMPYMIN:– significantly outperforms existing minimizers
Idea may be applicable to other problems, e.g.
testing