Spectral
Transforms
for Large
Boolean
Technology
E. M.
K.L.
Clarket
Mapping
Walsh
transform
functions
has
design,
niques in practice
that
but
applications
in
of these
tech-
usefulness
has been limited
Currently
available
M.
mapping
transform
for functions
with
several
our techniques
and, in certain
cases, we obtained
as 50% for the matching
hundred
to boolean
Since
form
J. Yang
be solved
sentations
array
vector
Introduction
The
and encodes
other
values
with
transform
[3] has numerous
applications
in com-
ces that
method
can be perfunctions,
the Walsh
functions
instead
size linear
the integer
trans-
that
can
of just
as an
such functions
the terminal
O and 1. The
definition
by
nodes
can
Walsh
ma-
and can be encoded
in the number
Other
function
can be expressed
represents
in which
recursive
of the two methods.
The Walsh
2m x 2“ as
m + n into
integer
each of which
of a BDD
has a simple
BDDs
operations
integer-valued
functions,
a gener~lzation
trix
matrix
of computing
about
of boolean
as a BDD.
a speed up of as
phase.
with dimension
vectors of length
on the corresponding
the problem
$
using BDDs.
We present two BDD-based
reprefor integer functions.
The first treats an integer
as a boolean
vari-
technolqy
various
to a problem
have integer
1
Fujita$
by operations
we can reduce
tech-
to
*
the integers.
formed
by the size of the boolean
can be transformed.
We have applied
much
numerous
the
limit
the functions
to less than 20 variables.
In this
we show how to compute
concise representations
of
the Walsh
ables.
Applications
We treat an integer
matrix
a function
that maps boolean
computer-aided
niques
paper,
with
X. Zhaot
McMillant
Abstract
The
Functions
of variables
operations
on vectors
are needed for tasks like synthesis
using
by
each
and matri-
and testing
can be
puter aided design, particularly
in the synthesis and testing
of combinational
circuits.
Unfortunately,
the usefulness of
implemented
using this approach as well. Similar techniques
can also be used to compute
the Reed-Muller
transform
of
these
boolean
techniques
in
of the boolean
form.
Since
this
of 2n where
rently
practice
functions
has been
that
transform
is given
n is the number
available
20 variables.
limited
limit
In this paper,
size
by the trans-
as a vector
of variables
techniques
by the
can be handled
with
length
in the function,
the functions
cur-
in CAD.
they
concise
decision
cursively
diagrams
defined
to perform
(BDDs)
integer
standard
matrices
operations
for the implementation
cient
algorithm
map large
vision
Research
vectors
(AFSC),
6543 under
In part
by
8722633
tional
by
the
and
U S.
Force,
operations
arithmetic
into
large
matrix
and
by the
Center,
Avionics
that
Wright-Patterson
AFB,
Ohio
and
in part
by
Foundation
Semiconductor
U.S.-Japan
under
Research
cooperative
Grant
no.
Corporation
research
INT-90-16694
under
from
the
and
Na-
92-DJ-
University,
Pitts-
294
‘School
of Computer
burgh,
PA15213,
U.S.A.
t~jit~u
Kawasaki
$ Center
Lab~~~t~~ies
211,
for
Science,
Ltd.,
Carnegie
1015
Mellon
Kamikodanaka,
Systems,
Stanford
University,
Stanford,
Ceres
filter.
Our
experimental
good.
In fact,
In boolean
This
if
tech-
whether
can be quite
t ation
Design Automation
we are able to perform
in which
In this
time
results
it rejected
mapping
system
transformation
show that
all unmatchable
is organized
technol-
the individual
cells
paper, we describe
[5], a technology
to use the Walsh
Consequently,
really matched
paper
representing
CA
94309
30th ACM/IEEE
of
at Stanford,
Our
Nakahara-ku,
BDDs,
developed
briefly reviews
in the paper.
Japan
Integrated
using
encountered.
Walsh filter
in part
Contract
are matchable
to check frequently
or not.
apply-
problem
and complementation
of outputs.
using cell libraries
number
of inputs.
a modification
Di-
45433-
Contract
F33615-90-C-1465,
ARPA
Order
No.
7597 and
the National
Science
Foundation
under
Grant
no.
CCIL
Science
are matchable
transformation
Laboratory,
Systems
functions
permutation
it is necessary
by
an important
In order to make the process more efficient, it is
to have a good filter that can immediately
reject
ogy mapping
have a large
Aeronautical
mapping,
two boolean
under
of variables.
techniques
unmatchable
functions.
The Walsh transformation
can be
used as the basis of such a filter.
By computing
the Walsh
is an effi-
on functions
numbers
of our
and complementation
mapping
consuming.
important
The basis
technology
We say that
two functions
re-
the integers.
in part
Development
Air
like the Walsh
of the matrix
●This research was sponsored
Wright
to represent
on these matrices.
for performing
boolean
[1]
nology
large
the power
are equivalent
of inputs
representations
of the transform
for functions
with several
hundred
variables.
Our technique
is baxed on the use of
binary
[3] with
ing it to boolean
to less than
we show how to compute
functions
We demonstrate
as a
this filter
is quite
functions
that
we
every function
which passed the
a celf in the technology
library.
as follows:
The
second
section
the basic properties
of BDDs that are needed
The third section describes
the two ways of
integer
of various
functions
arithmetic
usings
BDDs.
operations
The implemen-
on these
functions
Conference@
Permission to copy without fee alJ or part of this material is granted provided that the copies are not made or distributed for direct commercial advantsge, the
ACM copyright notice and the title of the publication
and its date appear, and notice is given that copying is by permission of the Association for Computing
Machinery. To copy otherwise, or to republish, requires a fee and/or specific parnission.
@1993 ACM 0-89791-577-1/93/0006-0054
1.50
54
algorithms
A
a
o
algorithms
b
ables
that
I
the BDDs
operations
follow
which
of variable
the BDD
ml
o
restriction
Bryant
term
w for
a variable
can be accomplished
1
allows
where
V
vari-
gives
an
formula
v set to
us to compute
the
v is a boolean
variable
The substitution
of a
~lv=l.
v in a formula
using
for the
over boolean
names.
algorithm
BDD for the formula
3v[fl,
and ~ iii a formula,
as ~l.=o
rep-
for the formulas
we require
are quantification
and substitution
O or 1. The
I
d
~, denoted
$ [v +
w]
quantification:
.-
0
1
More
efficient
algorithms
of quantification
1: A BDD
other
for computing
given
V g
algorithm
for computing
the BDD for a restricted
of the form ~lv=o or ~lv=l, i.e., ~ with the variable
[ c1
Figure
complexity
of a~ and f
~ and g. The only
o
o
of linear
resent ations
representing
(a A b) V (c A d)
In the latter
ings.
variables
are possible,
over multiple
case, efficiency
in the BDDs
however,
variables,
being
for the case
or multiple
depends
renam-
on the ordering
the same on both
of
sides of the
substitution.
is also presented
the results
standard
in
this
section.
of the previous
section
operations
matrices.
be obtained
for recursively
matrix
functions.
five describes
defined
power
of the
two
forms
of several
In this
integer
very
large
how
how BDDs
matrices
functions.
of these ideas
that
trans-
Section
in boolean
the boolean
the
the
six
Binary
Ordered
decision
binary
tive
forms
normal
decision
diagrams
a
3.1
(BDDs)
and
ciently.
Hence,
they
of CAD
applications,
they
normal
form
~
D.
m into
~ using
be a function
the set Dn.
Binary
We
Decision
Representation
function
se an array
~ is expressed
of BDDs
as a summation
i=O
including
widely
logic and, more
A B DD is similar
tree,
except
that
structure
rather
than
a tree,
and there
simulation,
Arithmetical
total
order
operations
Z2) = if Z1 V X2 then
three
BDDs
as shown
on such integer
of logical
3 else 4
in Figure
valued
2.
functions
operations
on BDDs.
n+l
graph
placed
using
as a BDD.
~(zl,
can be implemented
in terms
For example, each hi in
verifi-
acyclic
the function
may be represented
effi-
recently, verification
to a binary decision
is a directed
is a strict
very
each ~i has value O or 1 and is represented
For example,
used for a variety
symbolic
cation of combhational
of sequential
circuits.
where
and disjunc-
can be manipulated
have become
its
of length
ways of representing
are a canonical
formulas
described by Bryant [1].
more compact
than traditional
such as conjunctive
form,
two
vectors
diagrams
representation
for boolean
They are often substantially
normal
O and 1. Let ~ : Y
boolean
Diagrams.
The
2
values
maps
describe
technol-
ogy mapping.
The paper concludes in Section seven with
discussion of possible directions
for future research.
Operations
that can be
2n+1 – 1} of integers
Let D“ be the set {O,...,
represented
with n + 1 bits, and let 1? be the set consisting
of
transform
by computing
boolean
can
like the
we also illustrate
Integer
3
of very
the Walsh
section
representations
the application
shows
and multiplication
and tells how to compute
for boolean
describes
Section
four
can be used to implement
like addition
large integer
Walsh
Section
h(~)
= f(~)+
9($)
= ~
2i
/t.;(Z).
on
i=O
the occurrence
root
to leaf.
It represents
ordering
of variables
Consider,
the formula
assignment
the value
makes
an assignment
the formula
true
and branching
to the variable
Bryant
also showed
depends
BDD
critically
that
given
variable
1.
are computed
the variable
of boolean
whether
labels
valthe
The steps involved
the graph
a variable
The
ordering.
the node.
standard
valued
For
cases.
1, d + 1} leads
is true for this
ordering,
operations
that
are used in
BDD
in this process
operations.
functions
can be implemented
Computing
products
in this way may be very expensive
However,
we are able
to avoid
these
using
of integerin certain
cases in
this
paper.
Integer valued functions
that take both positive
and negative values can be handled
in a similar
manner.
Let D:
denote the set of integers
{–2n, . . . . 2n – 1}.
A function
there
~ : B*
size of the BDD
Bryant
by the same logical
the full adder circuit shown in Figure 3. The product
oft wo
integer functions
can be computed
by a series of additions.
at each node baaed on
that
for every formula.
on the
from
of Figure
by traversing
{a +
1, b + O, c iexample, the assignment
to a leaf node labeled
1, hence the formula
assignment.
is a canonical
the graph
BDD
a, b, c and d, one can decide
at the root
aasigned
the
(a A b) V (c A d), using
a < b < c < d. Given
ues to the variables
beginning
aa one traverses
for example,
where
gives
55
+
D;
can be represented
each BDD
gives
one bit
by an array
of n+
in 2’s complement
1 BDDs,
notation
%“lt
lstbit
2ndbit
Figure
n
2: An array
of BDDs
o
representing
f~
g~
~A
‘c
&l
AB
Ci
out
HI-J
cl
.
.
c-
if xl V zz then
3 else 4
co
●
f~
go
~A
‘c
in
out
-0
in
out
s
s
+i+
hn
Figure
3: A full
adder
Any
x
arithmetic
performed
x
operation
o
in the following
using
this
representation
is
way.
1
1
0
N
d
4
=
3
N1
~-y
fi(il)gj(q(rzi
i=l
on;)
J=l
~11
Figure
4: An extended
BDD
for if Z1 V zz then
3 else 4
k=l
for the value of the function.
these functions
the BDDs
are performed
in 2‘s complement
Suppose
function
and addition
so that
of
the operations
in the same way as bit
We now give an efficient
on
{m,,..,
as a BDD
with
operations
integer
nN } are the possible
~ partitions
the space l?’”
terminal
values
of boolean
as a BDD
as its
For
Z2 then
terminal
nodes.
3 else 4 is represented
with
example,
as in Figure
If ~ is a leaf,
leaf of g.
●
If g is a leaf,
●
Otherwise,
which
apply
BDD
vectors
into
and Xj, is given
function
The
order
values
if
for computing
for
~(~)
o
resulting
to convert
in figure
diagram
it into
4.
constructing
56
BDDs
[1] .
apply
(j@)
to each
(@g) to each leaf of $.
~ o g, depending
is needed.
The algorithm
tical to the minimization
Z1 v
is an integer,
~ and g have the form
The
the possible
the
●
of ~.
SN}, such that Si = { z [ ~(z) = ni }. Let
Nsets{Sl,...,
~i be the characteristic
function
of Si, we say that ~ is in
fi(~)
. ~i. This
normal form if ~(~) is represented
as ~fll
sum can be represented
algorithm
g(z).
arithmetic.
Representation
nodes
3.2
Multiplication
are implemented
~ionj=n:
may
normal
in Figure
on the relative
5, and the
order
of xi
6.
not
form,
be in normal
a minimization
form.
In
phase
for this phase is essentially
idenphase in Bryant’s
algorithm
for
A
A
Xi
Xj
o
1
h
91
f2
f
A
92
9
Figure
5: BDDs
for ~ and g
A
Xi
Xj
Xi
flE19
1
1
1
A
1
Xi < Xj
4
Matrix
Operations
Let
M be a 2k x 21 matrix
M can be represented
that
Mij
= M(z,
Scalar
over
~), where
in Section
how to implement
two BDD
Walsh
transform.
value,
scalar
dimension,
In this
some standard
that
vector
section,
matrix
D:,
such
for i and u is
we w~l
operations
we will
addition,
a vector
~
in the
consider
of integers,
over
and finally
one
matrix
multiplication.
●
Absolute
Given
value
M’,
to obtain
= cM:j.
can be easily
two integer
such that
of the operations
M,
we wish
to obtain
for all i, j, M(3 = lMij
another
1. Since all
in the identity
functions,
=
can be performed
in terms
to obtain
the BDD
ing either
represent
if we use the second
operation
in a more
an extended
the extended
if a<tl
the cost of this
operation
Matrix
BDD
BDD
of BDD
ation
operations,
for this
for integer
representation,
efficient
will
extended
take time
BDD
us-
Suppose
the
we have
that represents
M, then we can get
representation
for M’ by first replac-
ing the terminal
nodes in M by their absolute
and then minimizing
the resulting
BDD.
This
tion
O(SM),
for M.
where
one represents
M.
the constant
For each representation,
is O(SAZ).
Suppose
two
mensions
matrices
are given
to
A41 and
We
want
M{j
z
+ M$.
the
This
way
by representing
the
M;
obtain
M’(z,
operation
cussed
with
result
matrix
representations
previous
two integer
. SM2).
Summing
matrices
di-
ations.
by the
integer
~). The
hss already
section.
addition
been dis-
If we use the
the complexity
is O(SM,
the same
sum of these two matrices
can be done in the obvious
V) = M1 (z, ~) + M2(~,
for both
in the
lkf2
in one of the BD D represent
of this
functions.
second
operation
In worst
is the
case this
over one dimension
However,
we can perform
manner.
representation
done by multiplying
it is easy
function
function.
a BDD
addition
representation,
then –aelsea
representation
where
represents
cost of adding
Ial
This
c and the other
function
a 2k x 2[ matrix
matrix
case we want
the
absolute
summation
In this
for M/j
show
are needed for computing
As examples,
multiplimtion,
sorting
: Bk+’
matrices
with integer values
valued functions
using both
3.
representations
It is easy to see that
M
z is the bit
the bit vector for j. Therefore,
can be represented
as integer
representations
D;.
as a function
multiplication
values
opera-
SM is the size of the
It
is sometimes
desirable
to obtain
a 2n vector
from
matrix
that each element
in the vector
a2nx2m
the summation
of the corresponding
column, i.e. Ml
~~~~’
Mij.
When the matrices are expressed
of integer
valued
functions,
the equations
M’(z)
possible
= X9
iM(~,
v), where
X9
means
“sum
to Y“.
In
practice,
X9
assignments
can be computed
as:
is
=
in terms
becomes
over all
M(z,
J)
n
x.
~
M(k,?h,?h,...,wn)
!il Y’2...
vm
=
1
D/
~www,...,wn)
~
0
!11112...ll1-1
Y?n
=
~
Y.
o
(M(%?fl,?f,,...,
?l,o)o)
Y1Y2...lll1-1
1
Tn.-l
+Jff(~,
In this way, each variable
?Jl, v2,...,
?1,1))))
in J is eliminated
by perform-
–in-l
Figure
7: BDD
for T.
ing an addition.
This operation
can also be used to sum the
of a vector and to obtain
a two dimensional
elements
matrix
will
from
over one
ously
a three
dimension.
dimensional
Although
caqes, the worst
the number
●
Sorting
this operation
case complexity
spectra
well in many
can be exponential
so that
they
Each element
values
can be represented
m is the number
and the number
necessary
nodes in the extended
Nk ~~ a possible
~i
value
Walsh
upper
takes time linear
Thus
values.
of that
product
that
two
x
matrices
A and
2rn, respectively.
as Nk
general,
the
exp onentird
over
complexity
in the number
Spectral
design
is the Walsh
row
and
,?h, %,.
...
m)
. . ..?Jl>~n-l
= 1 then
. . . ..Zl
)
–1 else 1)
B have dimensions
x
v’
I)B(g,
operation
encoded
this
computation
the matrix
spectrum
to en-
for
transform
Wf
of elements
ex-
vec-
each component
can
be easily
ex-
–1,1,1,
1]~ is mapped
the number
three
$ with
an
[3] For example,
as BDDs
denoted
as
maps
= T. f.
be performed
in Section
~,
For
2n to an integer
in which
When
can
function
1 – 2v.
transform
length
by Wf,
and the vector
as described
=
Walsh
by [1, –1,–1,–1,
of variables
is
by representing
and computing
and Section
the
four.
n variables,
the kth order
W},
is defined
as the
by
Wf (g) in the Walsh
~~=1 yj = k. Its BDD
the BDD for Wf using
can also be
The
~ with
[0, O, 0, 0, —4, 4,4, 4]T.
sequence
In
vector
2n, denoted
For a boolean
above.
T.
The
both
Z)
where
matrix,
large,
we can
it is convenient
[0, 1, 1, 1, 1, 0,0, 0]~ is encoded
—2n to 2“.
product
discussed
I}n,
vector
pressed using the Walsh
into
2k x 2m. If
functions,
E {–1,
boolean
of length
the vector
B be the
transform,
by a BDD
v’
by
the column
encoded
is
can be expressed
replaced
representation
the following
spectrum
such that
can be obtained
formula
from
of variables.
of
boolean
used transformations
transform
in digital
[3]. In this section,
= if XV = k then
Wf (s) else D
where D is some default
number.
Most of the matrix
operations
can be applied
to W; exactly
as described
in the
previous
circuit
by its
1 and boolean
1 by invector v G B“ will be
Walsh
transformations
commonly
is determined
the Walsh
[1,-1,-1,-1,-1,1,1,1]
functions
One of the most
1
–T.-I
code the boolean
O by the integer
teger – 1. In general,
the boolean
ample,
the
operation
Let C = A
valued
C as
of this
matrix
T~_l (y~-1,
In expressing
of
be
a vector
representing
have dimension
operation
of the
W~(fi)
5
definition:
Tn–1
Tn_l
The above recursive
definition
m shown in Figure 7.
=
r4
summation
Tn_I
=
.(if z~y~
is between
A and B as integer
the product
matrix
the
has the recursive
T~(yn,...
in general, the
does not have
of the sorting
C(Z, z) = ~A(z,
using
T.
T.
=
of occurrences
Although,
operation
to the size of the BDD
of A and l?, C will
we treat
compute
matrix
value.
tor
2k x 21 and 21
of the
all of the terminal
summation
the complexity
previ-
transformation.
element
for integer
functions
set of different
values,
1 else O). The operation
discussed previously
can
bound,
Each
multiplication
Suppose
described
representations
column coordinates.
We will encode the 2“ columns by variables y~, . . . , Y1 and the 2n rows by the variables
z~, ..., Z1.
T~ can be represented
as an integer valued function:
. SM).
Matrix
techniques
concise
value of the
Ck can be calculated
this sum.
of the summation
a satisfactory
a possible
to collect
= Ck then
over a vector
When
as a list with
B DD. The number
applied
to compute
complexity
vector.
based
[
is not very
of different
of occurrences
When the second representation
is used, it is easy to find the
~~=o ‘ (if
summation
BDD
in a
order.
in the vector
in the list contains
since it is only
the elements
are in non-decreasing
vector
m, where
function
to rearrange
of different
the sorted
length
the
for this
The
in
how
can be used to compute
To=l
it is useful
the number
●
works
show
vectors
vector
O(m
by summing
of variables.
Frequently,
large,
matrix
we
58
need
the
value
D.
section.
list
In the case of sorting,
of values
that
are
distinct
however,
from
the
we only
default
example
circuit
circuit
output
# of gates
C1355
41
1326gat
c1908
33
9
time
IBDDI
time
546
9451
9961
860
5102
134
4
880
3607
3742
112
1850
44
18
39
50
361
1669
520
49940
4901
1598.5
171
854
2307
210
1416
53
925
57
8
100
C50
250
151
3180
56
7456
23
100
200
Cloo
500
301
11184
456
29906
128
200
To illustrate
adder
adder
the power
the Walsh
including
1: Experimental
of these techniques,
transformation
benchmarks
(Table
5000 and run time
two
we have com-
for some large
adders
results
and some
compute.
The
than
when
the number
the first
of distinct
representation
transformations
group
that
Y~ acts On &
?h, ,,,
Walsh
,xa(n)
this
group
(IJln,,m
co-
given
may use less space
Technology
thesis,
mapping
since it greatly
thesized
circuit.
phases.
In the first
into
isting
influences
This
single-fanout
fnnction
mapping
the quality
process
phase
is usually
the entire
sub-circuits,
is extracted
from
~ and g will
The obvious
compare
the ext ratted
circuit
function
phase
an ex-
to each logic
for the last step is to
with
the boolean
functions
this
terminology.
time
When
consuming
matching
permutation
plementation
part
a celf
of inputs,
of technology
use some simple
terminology
these operations
on boolean
the set of boolean
sider
function
cotraplemetatation
be the group
defined
of inputs
In the following
from
group
functions
with
of inputs.
by the
Cz =<
operation
and com-
, r.) 6 c;
$n)=f(zl@T’l,
(Pf)(m,...,
inputs is handled
in a similar
manner.
These operators
act on B. in the expected
(N~)(zl,...,
zn)
I and the negation
way:
operator
Ii=
of cells
[5] developed
System
of inputs;
that
function
so
~, apply
to find
a
it is desirable
to
against the given
that
match
a given
to find
they
have
with
jilters
the number
metric
inputs
the other
cannot
is based
of unate
numbers
However,
a significant
pass through
the Walsh
as part
on symmetry.
different
Likewise,
are not matchable.
inputs
and the number
fraction
both
of the
number
if the
which
in filters.
It
numbers
of inputs
numbers
of the
One is based
they
and uses these
a large
have
be matched.
different
efiminate
Ceres technology
[6] uses two filters.
one another,
counts
still
The
at Stanford
if the two functions
inputs,
fnnctions
By using
then
the following
by
of
are
Ceres
of sym-
These
two
unmatchable
func-
of unmatchable
func-
of these filters.
transformation,
we can obtain
a more
properties
hold:
Wlvj(g) = –Wf(jj)
of
J’v,f(ji) = Wj(jj) fi(-1)””
iel
S~ and ~ e B~, then (a~)(zl,
. . . . z~) = j(zc(l),
. . . ,Ztin)).
Finally,
the group Af for function
complementation
consists
the identity
some y c Y.
smii.11,it is important
Synthesis
all permutations
on n-elements
(i.e. the symmetric
group on
n-elements).
The action of S~ on Bn is defined so that if u c
of two elements,
=
two
powerful
necessary
condition
for matching
boolean
functions.
If Wf (~) denotes the Walsh coefficients
of ~ c B-,
of n
way.
Let S. be the group
the number
very
for
g for some cell in the library
Olympus
tions
modulo
and ~ G LL, then p.f is defined
..., xn @ r.).
Permutation
function
can be used as snch a filter.
tions.
{O, 1}, @, O > wilf
of addition
a boolean
program
filters
we con-
2. C;=
C2X.
..Y xC2 will denote the direct product
copies of C2. The group C; acts on L?. in the obvious
Ifp=(rl,...
we
to describe
First,
@
of
phase is easy to state
to the cells in the library
mapping
symmetric
[2, 4]. Let B~ denote
n variables.
procedure
to find
matching
of unate
on
discussion
theory
Because
is usually
two
we concentrate
complementation
of the function.
function.
function
is obvious
mapping.
to a function,
attempt
Given
procedure
on unateness
for all of the cells in the library.
We may have to check many
cells before we find one that matches,
so this phase is the
most
is
for fimiting
the number of cases in which the matching
procedure must be used. Any necessary condition
for boolean
a logic
Finally,
is assigned
implementation
three
is partitioned
In the second
library
syn-
into
matching
Since the matching
phase is expensive,
reduce the number of cells we must match
syn-
of the final
divided
each sub-circuit.
cell in the technology
function.
step in logic
The
mu2).
7 E Y. and a boolean
such that y~ = g.
[5, 7] is a crucial
section
z~) = (nf)(z~(l)
y~ = g. The goal of the matching
using
technology
in this
The
multiplication
operation
so that
(nl, PI, al ) * (nz, P2, az)
is defined
63 ul(P2),
functions
that
the second.
Boolean
with
by ((n, p,u)f)(m,...,
@ h).
the matching
6
we are concerned
{(% P,a)ln GN, pGc;, a es.}.
Y. =
of the ISCAS
1). The examples were run on a DECis shown in seconds.
Because the first
However,
is large,
for Walsh
combinato-
representation
needs arithmetic
operations
that must be performed bit by blt, in most cases it requires
more time to
efficients
coefficients
178
Table
circuits,
distinct
IBDDI
C3540
100-bit
rial
2nd rep.
lBDDI
C5315
50-bit
puted
1st rep.
Iinput 1
w.f(~) = Wf(u(fj))
Foreachfunction
N.
by sorting
~ and
ficients
= ~.f(xl,...lzn).
59
W}.
~, let 1W; I denote
the absolute
From
values
the above
the sequence
of the kth order
properties,
obtained
Walsh
it is obvious
coefthat
Depth
Ceres
Me
time
time
Mw
Depth
3
Walsh
Circuit
C1355
532
687
968
372
639
840
C3540
1423
1993
3550
1714
1447
3506
1096
509
641
1068
1102
628
4401
4046
1570
7006
4855
16245
613
336
288
615
740
619
302
1503
813
1755
973
453
447
1214
1170
1170
460
2600
1329
4471
697
926
2374
1150
718
1544
3234
2394
1398
7564
4168
8298
1195
1510
4047
1964
1214
2350
5400
3981
2263
10699
6827
13230
ape$6
718
876
1682
835
730
1063
1778
1227
735
1621
1808
2533
f5,1m
329
442
1158
568
341
788
1550
1351
637
2920
1968
xl
2135
2489
8493
4269
2157
4309
13526
9288
5997
29244
17819
4550
24309
z4ml
265
325
933
417
274
682
1281
1033
608
2657
1700
3225
/
over the operators
in Yn.
Thus
2: LSI Library
the equiva-
depth of a circuit
inputs
is the maximum
to its output.
the sub-circuits
three,
filter
the runtime
does not
include
sis process.
of calls
date circuits.
time
After
matching
procedure
does not
provide
for the
other
were
The
with
phases
run
method
completely
for performing
range
filter,
In this paper,
functions
map
We have also shown
efficiently
are able
large
We would
function.
technique
we have shown
how
filters
will
problems
operations
that
the
be useful
in graph
for
theory
and hence can be
be clearly
be solved
using
these
boolean
hand,
[1]
Ceres
to the filters
can deal with
per-
C-35(8),
used
large
Techniques
very large
techniques
examples.
for boolean
Transactions
func-
on Computers,
D.
M.
in Digital
Miller,
to switching
and
Logic.
J. C. Muzio.
Academic
A transform
Transactions
and automata
approach
on Computers,
Press,
Spectml
Inc.,
to logic
C-19(7),
1985.
design.
1970.
F. Mailhot
and G. De Micheli.
Technology
mapping
using boolean
matching
and don’t care sets. In Proceedings
the integers.
of the 1990
European
Design
Automation
Confer-
ence, 1990.
operations
the power
in the paper
1986.
[3] S. L. Hurst,
for representing
arithmetic
for his help in
discussed
algorithms
IEEE
[2] M. A. Harrison.
Introduction
theory. McGraw-Hill,
1965.
[5]
into
Long of CMU
the paper.
Graph-based
manipulation.
[4] R. J. Lechner,
techniques
David
of the techniques
R. E. Bryant.
tion
research
vectors
like to thank
References
of candi-
and must
We have demonstrated
these
can
and for his help in writing
methods.
how to implement
on several
edges
compared
[6] G. De Micheli,
David
Ku,
F. Mailhot,
and T.K.
The olympus
synthesis
system for digital
design.
design and test of computers,
October
1990.
These techniques
are applied
to the problem
of
a concise representation
for the Walsh spectrum
of a boolean
Many
matrix
the implementation
on such functions.
By using these methods
we
to perform
many standard
operations
on integer
matrices.
computing
this
future
we have developed
that
using
operations
BDD technique.
For example,
the al-pairs–
problem
for extremely
large directed
graphs
5000/240,
all calls to the
On the other
effective
conventional
for
of problems.
weighted
IEEE
Directions
matrix
We also believe
Acknowledgements
considerably
filtering
our filter becomes increasingly
superior
by Ceres. This is expected
since BDDs
than
circuits.
problems
and
the synthe-
When
requires
the Walsh
are successful.
in
on a DEC
is due to effective
applying
phase
form many unnecessary
matches.
The runtime
performance
with the BDD-based
Walsh filter is usually lower for most
of the circuits
that we considered.
As the depth increases,
better
combinational
to other
techniques.
after
time column
matching
in milliseconds.
transform
This
can be applied
can be expressed
library
procedure
in the design
paper
solved using
shortest–path
to
For each depth,
are applied.
for
is given
matches.
with
how the ideas
in this
and MC gives the corresponding
examples
to Ceres, the Walsh
seven.
up boolean t ethnology
mapping.
In subsequent
papers, we plan to investigate
a wide
2.
attempts
Results
methods
of gates from
program
to the match
required
the
The
and the runtime
and
Ceres filters
measures
in table
by partitioning
five
is applied,
the
number
The
obtained
of depth
after
are summarized
Mapping
and testing
In our experiment
we used lW~ I and
they were easy to compute.
of our experiments
MW gives the number
7
time
alu4/’
the circuit’s
circuits
MC
367
The results
fewer
time
616
in the matching
phase.
IW; I as filters because
the Walsh
MW
272
lW~ I is invariant
number
time
429
lence of IW) I and IW,$ 1can be used as a necessary condition
for determining
whether
~ and g match and hence as a filter
match
Ceres
Mc
C880
Table
functions
7
Walsh
Ceres
C432
alu2
The
Depth
5
Walsh
MW
time
[7]
of
In addition,
can be used to speed
60
Truong.
IEEE
J. Yang and G. De Micheli.
technology
mapping.
Technical
Spectrrd
techniques
for
Report
CSL-TR-91-498,
Stanford
1991.
University,
December
© Copyright 2026 Paperzz