COMP290-084 Clockless Logic

Содержание

Слайд 2

Acknowledgment

Michael Theobald and Steven Nowick, for providing slides for this lecture.

Acknowledgment Michael Theobald and Steven Nowick, for providing slides for this lecture.

Слайд 3

An Implicit Method for Hazard-Free Two-Level Logic Minimization

Michael Theobald and Steven

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)

Слайд 4


Hazard-Free Logic Minimization

Given: Boolean function and multi-input change

☹ Hazard-Free Logic Minimization Given: Boolean function and multi-input change

Слайд 5


Hazard-Free Logic Minimization

☺ Hazard-Free Logic Minimization

Слайд 6


Hazard-Free Logic Minimization


f(A) ? f(B)

0 ? 0

0 ? 1

1 ? 1

1

☺ Hazard-Free Logic Minimization ☹ f(A) ? f(B) 0 ? 0 0
? 0

Слайд 7


Hazard-Free 2-Level Logic Minimization

☺ Hazard-Free 2-Level Logic Minimization

Слайд 8

Classic 2-Level Logic Minimization

Step 1. Generate Prime Implicants

Step 2. Select Minimum

Classic 2-Level Logic Minimization Step 1. Generate Prime Implicants Step 2. Select
# of Primes …to cover all Minterms

Quine-McCluskey Algorithm

Слайд 9

2-level Logic Minimization: Classic vs. Hazard-Free

Classic (Quine-McCluskey):
Hazard-Free:

2-level Logic Minimization: Classic vs. Hazard-Free Classic (Quine-McCluskey): Hazard-Free: Given: Boolean function
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

Слайд 10

Hazard-Free Logic Minimization

Non-monotonic
function hazard
no implementation
hazard-free
Monotonic
function-hazard-free



Restriction to monotonic changes

Multi-Input Changes:

Hazard-Free Logic Minimization Non-monotonic function hazard no implementation hazard-free Monotonic function-hazard-free ☺

Слайд 11

Hazard-Freedom Conditions: 1 -> 1 transition



Required Cube

must be covered

Hazard-Freedom Conditions: 1 -> 1 transition ☺ ☹ Required Cube must be covered

Слайд 12

Hazard-Freedom Conditions: 1 -> 0 transition

Hazard-Freedom Conditions: 1 -> 0 transition

Слайд 13

Hazard-Freedom Conditions: 1 -> 0 transition

Hazard-Freedom Conditions: 1 -> 0 transition

Слайд 14

Hazard-Freedom Conditions: 1 -> 0 transition

Hazard-Freedom Conditions: 1 -> 0 transition

Слайд 15

Hazard-Freedom Conditions: 1 -> 0 transition

Hazard-Freedom Conditions: 1 -> 0 transition

Слайд 16

Hazard-Freedom Conditions: 1 -> 0 transition

Hazard-Freedom Conditions: 1 -> 0 transition

Слайд 17

Hazard-Freedom Conditions: 1 -> 0 transition


Hazard-Freedom Conditions: 1 -> 0 transition ☹

Слайд 18

Hazard-Freedom Conditions: 1 -> 0 transition


illegal intersection

Hazard-Freedom Conditions: 1 -> 0 transition ☹ illegal intersection

Слайд 19

Hazard-Freedom Conditions: 1 -> 0 transition

☺ No illegal intersection
of privileged cube


illegal intersection

Hazard-Freedom Conditions: 1 -> 0 transition ☺ No illegal intersection of privileged cube ☹ illegal intersection

Слайд 20

Dynamic-Hazard-Free Prime Implicants

Prime

NO DHF-Prime illegal intersection

Dynamic-Hazard-Free Prime Implicants Prime NO DHF-Prime illegal intersection

Слайд 21

2-level Logic Minimization: Classic vs. Hazard-Free

Classic (Quine-McCluskey):
Hazard-Free:

2-level Logic Minimization: Classic vs. Hazard-Free Classic (Quine-McCluskey): Hazard-Free: Given: Boolean function
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

Слайд 22

Hazard-Free 2-level Logic Minimization: Previous Work

Early work (1950s-1970s):
Eichelberger, Unger, Beister, McCluskey

Hazard-Free 2-level Logic Minimization: Previous Work Early work (1950s-1970s): Eichelberger, Unger, Beister,

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

Слайд 23

IMPYMIN: an exact 2-level minimizer

Two main ideas:
novel reformulation of hazard-freedom

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

Слайд 24

Review: Primes vs. DHF-Primes

Classic (Quine-McCluskey):

Hazard-Free:

Review: Primes vs. DHF-Primes Classic (Quine-McCluskey): Hazard-Free: DHF-Prime Implicants = maximal implicants
implicants>
DHF-Prime Implicants = maximal implicants that do not intersect “privileged cubes” illegally

Primes

DHF-Primes

Слайд 25

Topic 1: New Idea

Challenge: Two types of constraints
maximality constraints: “we

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

Слайд 26

Auxiliary Synchronous Function g

0 0
0 1
1 1
1 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

Слайд 27

Prime Implicants of g

Expansion in z-dimension guarantees avoidance
of priv-cube in original

Prime Implicants of g Expansion in z-dimension guarantees avoidance of priv-cube in original domain f g
domain

f

g

Слайд 28

Prime Implicants of g

Expansion in x-dimension corresponds to enlarging cube in

Prime Implicants of g Expansion in x-dimension corresponds to enlarging cube in original domain. f g
original domain.

f

g

Слайд 29

Summary: Auxiliary Synchronous Function g

The definition of auxiliary function g exactly ensures

Summary: Auxiliary Synchronous Function g The definition of auxiliary function g exactly
:
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.

Слайд 30

New approach: DHF-Prime Generation

Goal: Efficient new method for DHF-Prime generation
Approach:
translate original

New approach: DHF-Prime Generation Goal: Efficient new method for DHF-Prime generation Approach:
function f into synchronous function g
generate Primes(g)
after filtering step, retrieve dhf-primes(f)

Слайд 31

Prime Generation of g

f

g

Prime implicants of g

Prime Generation of g f g Prime implicants of g

Слайд 32

Filtering Primes of g

Lifting

Prime implicants of g

3 classes of primes of

Filtering Primes of g Lifting Prime implicants of g 3 classes 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

Слайд 33

Projection

Lifting

Prime implicants of g

f

g

DHF-Prime(f,T)

Projection Lifting Prime implicants of g f g DHF-Prime(f,T)

Слайд 34

Formal Characterization of DHF-Prime(f,T)

Formal Characterization of DHF-Prime(f,T)

Слайд 35

IMPYMIN

CAD tool for Hazard-Free 2-Level Logic
Two main ideas:
Computes DHF-Primes in higher-dimension

IMPYMIN CAD tool for Hazard-Free 2-Level Logic Two main ideas: Computes DHF-Primes
space
Implicit Method: makes use of BDDs, ZBDDs

Слайд 36

What is a BDD ?

Compact representation for Boolean function

a

b

c

0

1

0

1

What is a BDD ? Compact representation for Boolean function a b

Слайд 37

What is implicit logic minimization?

Classic Quine-McCluskey:
Scherzo [Coudert] (implicit logic minimization):

?

What is implicit logic minimization? Classic Quine-McCluskey: Scherzo [Coudert] (implicit logic minimization): ?

Слайд 38

IMPYMIN Overview: Implicit Hazard-free 2-Level Minimizer

f, T

Scherzo’s
Implicit
Solver

objects-to-be-covered

covering
objects

IMPYMIN Overview: Implicit Hazard-free 2-Level Minimizer f, T Scherzo’s Implicit Solver objects-to-be-covered covering objects

Слайд 39

Impymin vs. HFMIN: Results

39

23

0

9

0

#z

added variables

Impymin vs. HFMIN: Results 39 23 0 9 0 #z added variables