Top Banner
Clockless Logic Prof. Montek Singh Feb. 25, 2003
40

Clockless Logic

Jan 30, 2016

Download

Documents

edythe

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Clockless Logic

Clockless Logic

Prof. Montek Singh

Feb. 25, 2003

Page 2: Clockless Logic

Acknowledgment

Michael Theobald and Steven

Nowick, for providing slides for

this lecture.

Page 3: Clockless Logic

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: Clockless Logic

Hazard-Free Logic Minimization

?

Given: Boolean function and multi-input change

Page 5: Clockless Logic

Hazard-Free Logic Minimization

Page 6: Clockless Logic

Hazard-Free Logic Minimization

f(A) f(B)

0 0

0 1

1 1

1 0

Page 7: Clockless Logic

Hazard-Free 2-Level Logic Minimization

Page 8: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

Hazard-Freedom Conditions: 1 -> 0 transition

0 0 0 0

0 1 1 0

0 1 0 0

0 1 0 0

Page 13: Clockless Logic

Hazard-Freedom Conditions: 1 -> 0 transition

0 0 0 0

0 1 1 0

0 1 0 0

0 1 0 0

Page 14: Clockless Logic

Hazard-Freedom Conditions: 1 -> 0 transition

0 0 0 0

0 1 1 0

0 1 0 0

0 1 0 0

Page 15: Clockless Logic

Hazard-Freedom Conditions: 1 -> 0 transition

0 0 0 0

0 1 1 0

0 1 0 0

0 1 0 0

Page 16: Clockless Logic

Hazard-Freedom Conditions: 1 -> 0 transition

0 0 0 0

0 1 1 0

0 1 0 0

0 1 0 0

Page 17: Clockless Logic

Hazard-Freedom Conditions: 1 -> 0 transition

0 0 0 0

0 1 1 0

0 1 0 0

0 1 0 0

Page 18: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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: Clockless Logic

Formal Characterization of DHF-Prime(f,T)

li

iiln pzfzzxxg1

11 )(),,,,,(

Page 35: Clockless Logic

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: Clockless Logic

What is a BDD ? Compact

representation for

Boolean function

a

b

c

0 1

01

Page 37: Clockless Logic

What is implicit logic minimization?

Classic Quine-McCluskey:

Scherzo [Coudert] (implicit logic

minimization):

Prime implicants

Min

term

s

MintermsZBDD

PrimesZBDD

( , )

Page 38: Clockless Logic

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: Clockless Logic

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: Clockless Logic

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