Clockless Logic Prof. Montek Singh Feb. 25, 2003
Jan 30, 2016
Clockless Logic
Prof. Montek Singh
Feb. 25, 2003
Acknowledgment
Michael Theobald and Steven
Nowick, for providing slides for
this lecture.
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)
Hazard-Free Logic Minimization
?
Given: Boolean function and multi-input change
Hazard-Free Logic Minimization
Hazard-Free Logic Minimization
f(A) f(B)
0 0
0 1
1 1
1 0
Hazard-Free 2-Level Logic Minimization
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
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
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:
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
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
Hazard-Freedom Conditions: 1 -> 0 transition
0 0 0 0
0 1 1 0
0 1 0 0
0 1 0 0
illegal intersection
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
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
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
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
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
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
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
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
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
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
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.
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)
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
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
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)
Formal Characterization of DHF-Prime(f,T)
li
iiln pzfzzxxg1
11 )(),,,,,(
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
What is a BDD ? Compact
representation for
Boolean function
a
b
c
0 1
01
What is implicit logic minimization?
Classic Quine-McCluskey:
Scherzo [Coudert] (implicit logic
minimization):
Prime implicants
Min
term
s
MintermsZBDD
PrimesZBDD
( , )
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
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
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