nov. 13, 2002iccad 2002 simplification of non-deterministic multi-valued networks alan mishchenko...
Post on 21-Dec-2015
214 views
TRANSCRIPT
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Simplification of Non-Simplification of Non-Deterministic Multi-Valued Deterministic Multi-Valued
NetworksNetworks
Alan MishchenkoElectrical and Computer Engineering
Portland State University
Robert K. BraytonElectrical Engineering and Computer Science
University of California, Berkeley
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
OverviewOverview
• What is an ND network?What is an ND network?– Basic definitionsBasic definitions– MotivationMotivation
• Defining and comparing ND network Defining and comparing ND network behaviorsbehaviors
• Node Flexibility and Node MinimizationNode Flexibility and Node Minimization• Experimental observationsExperimental observations• Conclusions and future workConclusions and future work
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
What is an ND network?What is an ND network?
Similar to a Boolean Similar to a Boolean network network exceptexcept– Each node has a single Each node has a single
output output multi-valuedmulti-valued variable variable– Each node has a Each node has a non-non-
deterministic relationdeterministic relation relating its input and output relating its input and output values.values.
F
MV
ND
PI
PO
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Why consider ND networks?Why consider ND networks?
1.1. Don’t caresDon’t cares are a form of non-determinism. are a form of non-determinism. They generalize to non-determinism when They generalize to non-determinism when considering multi-valued logicconsidering multi-valued logic
2.2. Multi-valued domains can be used to Multi-valued domains can be used to explore larger explore larger optimizationoptimization spaces. spaces.
3.3. ND arises naturally when considering the ND arises naturally when considering the flexibilityflexibility of implementing a node in a of implementing a node in a networknetwork
4.4. Given a ND relation, the minimum well-Given a ND relation, the minimum well-defined ND sub-relation is defined ND sub-relation is always smalleralways smaller than the minimum deterministic onethan the minimum deterministic one
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
ReminderReminder: Boolean Network: Boolean Network
• Directed Acyclic GraphDirected Acyclic Graph• Each node represents a Boolean Each node represents a Boolean
functionfunction• Edge from node Edge from node jj to node to node kk if the if the
function at function at kk depends syntactically on depends syntactically on the variable the variable yyjj at the output of at the output of jj
• Primary inputs (PI) Primary inputs (PI) XX and outputs (PO) and outputs (PO) ZZ
• All signals are All signals are binarybinary• External specification provides External specification provides
allowed input and output allowed input and output combinations (combinations (external don’t caresexternal don’t cares))
j
F
PI
PO
yj
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
MV
ND
F
PI
PO
yn
DefinitionDefinition: ND Multi-Valued : ND Multi-Valued NetworkNetwork
• Network of MV-nodes (Network of MV-nodes (PI, PO, PI, PO, internalinternal))
• Each node is represented by Each node is represented by an an MVMV variable variable yynn with its own with its own rangerange{0, 1,…, |{0, 1,…, |ppnn|-1}|-1}
• Internal node is represented Internal node is represented by an MV by an MV non-deterministic non-deterministic relationrelation
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
ExamplesExamples: Ternary Relations: Ternary Relations
RR11 is is completely specified (deterministic)completely specified (deterministic)
RR22 is is incompletely specifiedincompletely specified
RR33 is is partially specifiedpartially specified, or , or non-non-deterministicdeterministic
RR11 is is contained contained inin RR22
RR22 is is notnot contained contained inin RR33
bb/a/a 00 11
00 00 22
11 00 00
22 11 00
bb//aa
00 11
00 0,1,0,1,22
22
11 00 00
22 0,1,0,1,22
00
bb//aa
00 11
00 0,10,1 1,1,22
11 0,10,1 00
22 0,1,0,1,22
0,0,11
RR11 RR22 RR33
RRa
b
22
All relations are well-defined, i.e.for each input minterm there existsat least one output value
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
OverviewOverview
• What is an ND network?What is an ND network?– Basic definitionsBasic definitions– MotivationMotivation
• Defining and comparing ND network Defining and comparing ND network behaviorsbehaviors
• Node Flexibility and Node MinimizationNode Flexibility and Node Minimization• Experimental observationsExperimental observations• Conclusions and future workConclusions and future work
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
ND Network BehaviorND Network Behavior• Given an ND network, what is its Given an ND network, what is its behaviorbehavior, ,
– i.e. what is the set of all PI/PO pairs that are related?i.e. what is the set of all PI/PO pairs that are related?– this question is not straightforward.this question is not straightforward.
• For a deterministic, well-defined network, there For a deterministic, well-defined network, there is exactly one PO vector for each PI vectoris exactly one PO vector for each PI vector– however, if there are some external don’t cares, however, if there are some external don’t cares,
then there may be several PO vectors for a PI vector, then there may be several PO vectors for a PI vector, – but don’t cares are well understood.but don’t cares are well understood.
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
ND Network Behaviors ND Network Behaviors (PI/PO Pairs)(PI/PO Pairs)
• Normal Simulation (Normal Simulation (NSNS))• Normal Simulation Normal Simulation
made Compatible (made Compatible (NSCNSC) ) – – will not be discussedwill not be discussed
• Set Simulation (Set Simulation (SSSS))– similar to similar to XX valued valued
simulation where simulation where X X ={0,1}={0,1}Note:Note: all these become the all these become the samesame when when
the network is deterministic.the network is deterministic.
DetDet
NSNSNSCNSC
SSSS
NDND
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
( , )NSR X ZThe The NS-behaviorNS-behavior is the set of all PI/PO vectors that is the set of all PI/PO vectors that can be obtained this way.can be obtained this way. is in general a is in general a MV Boolean relationMV Boolean relation
Normal SimulationNormal Simulation
• Network is evaluated in Network is evaluated in topologicaltopological orderorder
• At each node its fanins have a At each node its fanins have a specificspecific vector of values. vector of values.
• The relation at the node determines a The relation at the node determines a setset of possible output values of that of possible output values of that nodenode
• OneOne of these is chosen of these is chosen randomlyrandomly and and broadcast to all the fanoutsbroadcast to all the fanouts
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Normal SimulationNormal Simulation
faninsfanins
fanoutsfanouts
node with anon-deterministicrelation
3 11
2 2 2
{0,2}2
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Set SimulationSet Simulation• Done in Done in topologicaltopological order. order.• On each signal a On each signal a setset of values is of values is
obtainedobtained• At each node a vector of fanin At each node a vector of fanin setssets is is
known.known.• The output The output setset of values for a node is of values for a node is
the the unionunion of the sets obtained for all of the sets obtained for all fanin vectors in the fanin vectors in the cross productcross product of of the fanin setsthe fanin sets
The The SS-behaviorSS-behavior is the set of all PI/PO vectors in the is the set of all PI/PO vectors in the cross product of the PO sets that can be obtained cross product of the PO sets that can be obtained this way. can be expressed usingthis way. can be expressed using
( , )SSR X Z( , )SS
jR X z
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Set SimulationSet Simulation
faninsfanins
{3}{3}
{1}{1} {1}{1}
{0,2}{0,2}
POPO11 POPO22
{1,2,4}{1,2,4}
{0,2}{0,2}{0,2}{0,2}
{0,2}{0,2}
{1,4}{1,4} {0,1}{0,1} {1,3}{1,3}
{1,3}{1,3}
= {1,2,4}= {1,2,4} = {1,3}= {1,3}
PI/PO relation PI/PO relation containscontains
3 1 1 / 1 13 1 1 / 1 13 1 1 / 1 33 1 1 / 1 33 1 1 / 2 13 1 1 / 2 13 1 1 / 2 33 1 1 / 2 33 1 1 / 4 13 1 1 / 4 13 1 1 / 4 33 1 1 / 4 3
It is the cross It is the cross product of all PO product of all PO setssets
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
ComparisonsComparisons
• is a general MV Boolean relation is a general MV Boolean relation – relatively relatively hardhard to compute and store to compute and store
• . can be computed for each output: can be computed for each output: . It is . It is outputoutput symmetricsymmetric Boolean relation. Boolean relation.
• . can be obtained by elimination in can be obtained by elimination in topologicaltopological order order
• SSSS can be considered as an easy-to-compute can be considered as an easy-to-compute over-approximationover-approximation of normal simulation of normal simulation NSNS..
( , ) ( , )NS SSR X Z R X Z
( , )NSR X Z
( , )SSR X Z
( , )SSjR X z
( , )SSjR X z
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Computing Computing RRNSNS – input – input determinizationdeterminization
• At each ND node introduce one At each ND node introduce one MV parameterMV parameter ppii with the with the same range as the node output.same range as the node output.
• Relation at node Relation at node ii is replaced by is replaced by
– ppii controls the controls the output valueoutput value of node of node ii– the operatorthe operator is a special BDD is a special BDD projectionprojection operator, defined by operator, defined by
Bill Lin, that projects onto the smallest allowed output value.Bill Lin, that projects onto the smallest allowed output value.
• RRNS NS can be obtained by eliminating all internal nodes and can be obtained by eliminating all internal nodes and existentially quantifying all parameters existentially quantifying all parameters { { ppi i }}..
( , , ) ( , )( )
[ ( , )( )] ( ( , ))i
i i i i i i i i i
i i i y i i iy
R Y p y R Y y p y
R Y y p y R Y y
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
External SpecificationExternal Specification
• Can be specified byCan be specified by– The The initialinitial network plus don’t cares network plus don’t cares
•e.g. in Boolean networks, we can give e.g. in Boolean networks, we can give external don’t cares, one set for each output.external don’t cares, one set for each output.
– A A separateseparate specification (network or specification (network or BDD or other)BDD or other)
• Notation: Notation:
• Requirement: one behavior Requirement: one behavior conformsconforms
( , )specR X Z
( ,( , ) { , , })s ecB pR X ZR X Z B NS NSC SS
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Conformity with External Conformity with External SpecificationSpecification• Can use Can use any oneany one of the behaviors of the behaviors
– Just be consistentJust be consistent
• For example, we may have but For example, we may have but If we use consistently there If we use consistently there is no problem.is no problem.
• Ultimately, in most applications we want a Ultimately, in most applications we want a final final deterministicdeterministic network. network.
• If any behavior If any behavior conforms, conforms, thenthen it contains it contains only correctonly correct deterministic ones deterministic ones
eNS sp cRRSSR specR NSR
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
OverviewOverview
• What is an ND network?What is an ND network?– Basic definitionsBasic definitions– MotivationMotivation
• Defining and comparing ND network Defining and comparing ND network behaviorsbehaviors
• Node Flexibility and Node MinimizationNode Flexibility and Node Minimization• Experimental observationsExperimental observations• Conclusions and future workConclusions and future work
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Minimizing a NodeMinimizing a Node – – Computing the Flexibility at a Computing the Flexibility at a NodeNodeDefinition.Definition. A A flexibilityflexibility at node at node is a relation is a relation
such that replacing at such that replacing at any well- any well-defined defined deterministicdeterministic relation contained in relation contained in implies that the resulting network implies that the resulting network conforms to the external specification. conforms to the external specification.
Definition.Definition. The maximum possible flexibility The maximum possible flexibility at a node is called its at a node is called its ccomplete flexibility omplete flexibility ((CFCF))..
fR
fR
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Computing the Computing the GlobalGlobal CF CF
iy
X Z
[ ( , ,, )]) ( ,( ) sBB pZ
cjj
eR X y R XZR X y Z
( , , )BiR X y Z
{ , , }B NS NSC SS
ND network
Called the global Called the global B B - CF- CF of the node of the node
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Imaging into the Local Imaging into the Local SpaceSpace
( ( ,( , ) )[ ], )Bi i X
Bi
BiM Xy RYR XY y
iy
X ZjY ( , )BiM X YYi
Called the Called the B B - CF- CF of the node of the node
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Properties of FlexibilitiesProperties of Flexibilities
• If a current network “B-conforms”, If a current network “B-conforms”, BB {{NS,NSC,SS NS,NSC,SS }}, then any well-defined , then any well-defined deterministicdeterministic function contained in function contained in is acceptable at node is acceptable at node jj. .
• For NS or NSC, any For NS or NSC, any NDND relation will relation will alsoalso be be acceptable. acceptable.
• But for But for SSSS, it is possible that an , it is possible that an ND relationND relation contained in can cause the contained in can cause the network to network to notnot conform conform (important point)(important point)
( , )Bj jR Y y
( , )SSj jR Y y( , )SSj jR Y y
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
MeasuringMeasuringFlexibility Flexibility
T = 6 T = 10
T = 12F = 0% F =
33%F = 50%
bb/a/a 00 11
00 00 22
11 00 00
22 11 00
RR11
bb//aa
00 11
00 0,1,0,1,22
22
11 00 00
22 0,1,0,1,22
00
RR22
bb//aa
00 11
00 0,10,1 1,1,22
11 0,10,1 00
22 0,1,0,1,22
0,0,11
RR33
Examples: Examples: MM=6, =6, VV=3=3
MM is the number of the input is the number of the input mintermsmintermsVV is the is the sizesize of the output range. of the output range.tti i is the number of is the number of output valuesoutput values in in
the relation for input minterm the relation for input minterm mmii
1
M
ii
T t
1
M
ii
T t
100%( 1)
T MF
M V
100%
( 1)
T MF
M V
FF is equal to is equal to 0%0% for completely for completely specified functions and specified functions and 100%100% for for relations that take all values in any relations that take all values in any minterm.minterm.
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Amount of Flexibility Amount of Flexibility ((SDC, CODC, SS-CFSDC, CODC, SS-CF))
Global space, % Local space, % Benchmark
CODC SS-CF SDC SDC +CODC
SS-CF
4-arbit-cell.mv 7 38 7 7 15 bakery-proc.mv 12 68 17 20 36
coherence-cch.mv 6 64 17 17 26 coh-dir.mv 2 61 18 18 31 comp.mv 0 3 17 17 19
ele-ctr-det.mv 12 42 7 7 15 eisenberg-proc.mv 1 57 38 38 53
matmul.mv 0 0 0 0 0 slider-nsf.mv 0 2 0 0 0
sort.mv 0 0 49 49 49 Total 40 335 170 173 244
Ratio, % 12 100 70 71 100
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Node SimplificationNode Simplification
Compute and use complete flexibility (CF) to Compute and use complete flexibility (CF) to simplify the node. simplify the node. RecallRecall::1.1. CF in global space:CF in global space: 2.2. CF in local space:CF in local space:
• Use to optimize MV-SOP (heuristic, Use to optimize MV-SOP (heuristic, exact) at node exact) at node jj
( , ) [ ( , ) ( , )]B B Bj j X j jR Y y M X Y R X y ( , ) [ ( , ) ( , )]B B Bj j X j jR Y y M X Y R X y ( , ) [ ( , , ) ( , )]B B spec
j Z jR X y R X y Z R X Z ( , ) [ ( , , ) ( , )]B B specj Z jR X y R X y Z R X Z
( , )Bj jR Y y( , )Bj jR Y y
We will look at how to find the We will look at how to find the smallestsmallest well-defined SOP representation well-defined SOP representation contained in a given ND relation contained in a given ND relation
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Representing an ND relationRepresenting an ND relation
Definition:Definition: The The i i - set- set of an ND relation is of an ND relation is a binary function that is 1 for each a binary function that is 1 for each minterm that can output value minterm that can output value ii
Definition:Definition: A A minimum SOPminimum SOP representation of an ND relation is a representation of an ND relation is a well-defined sub-relation where all the well-defined sub-relation where all the i i - sets are represented by SOPs and - sets are represented by SOPs and the total number of cubes is minimum. the total number of cubes is minimum.
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Finding minimum Finding minimum deterministicdeterministic SOP representationSOP representation
• A deterministic SOP is A deterministic SOP is never smallernever smaller than than the smallest ND representation.the smallest ND representation.
• There is There is no knownno known algorithm for finding algorithm for finding the the minimumminimum deterministic deterministic representation.representation.– we have a few heuristic oneswe have a few heuristic ones
• In contrast, there In contrast, there isis a method for finding a method for finding the the smallest NDsmallest ND representation. representation.
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
P0 P1 P2 P3
all
min
term
s
Quine-McCluskey type Quine-McCluskey type exactexact NDND SOP relation minimization SOP relation minimization
• For each For each ii-set, generate -set, generate allall its its primes, primes, PPii
• Form covering table with Form covering table with – one column for each one column for each ppjj in in PPii for all for all ii
– one row for each minterm in the one row for each minterm in the input spaceinput space
• Solve minimum covering Solve minimum covering problemproblem– Primes chosen from Primes chosen from PPkk is the cover is the cover
for kfor kthth ii-set.-set.
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
OverviewOverview
• What is an ND network?What is an ND network?– Basic definitionsBasic definitions– MotivationMotivation
• Defining and comparing ND network Defining and comparing ND network behaviorsbehaviors
• Node Flexibility and Node MinimizationNode Flexibility and Node Minimization• Experimental observationsExperimental observations• Conclusions and future workConclusions and future work
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Experimental SetupExperimental Setup
• These ideas have been implemented These ideas have been implemented in a system, in a system, MVSISMVSIS
• The The SSSS behavior has been used behavior has been used throughout in the experiments.throughout in the experiments.– it is the it is the easiesteasiest to use computationally to use computationally– behavior can be expressed behavior can be expressed locallylocally at at
each node as a BDD of the PI. each node as a BDD of the PI. (SS-(SS-behavior is output symmetric)behavior is output symmetric)
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Experimental ObservationsExperimental ObservationsSSSS Behavior Behavior
• Conformity is rarely lost but it Conformity is rarely lost but it does happendoes happen. This usually . This usually happens during node minimization.happens during node minimization.– If we use an ND relation at the minimized node, then conformity If we use an ND relation at the minimized node, then conformity
is not guaranteed (only deterministic SOP guarantees is not guaranteed (only deterministic SOP guarantees conformity using SS)conformity using SS)
• Often conformity is automatically Often conformity is automatically regainedregained by by minimizing the next node.minimizing the next node.– If the CF at the next node is If the CF at the next node is well definedwell defined, this means that the , this means that the
network can be brought back to conformity.network can be brought back to conformity.– If it is not well defined, we leave the node relation alone and If it is not well defined, we leave the node relation alone and
move to the next node.move to the next node.
• We have We have nevernever experienced a final network that does experienced a final network that does not conform to the external specification.not conform to the external specification.
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
Future WorkFuture WorkWe believe NSC behavior will be superior.We believe NSC behavior will be superior.
– need to solve computation efficiency problemsneed to solve computation efficiency problems•equivalent to elimination in equivalent to elimination in reversereverse topological order topological order
– means that intermediate variables have to be used (rather than only means that intermediate variables have to be used (rather than only PI)PI)
– •means that it is easier to maintain conformity.means that it is easier to maintain conformity.
• implies that NSC-CF contains implies that NSC-CF contains more flexibilitymore flexibility than SS-CF than SS-CF
– however, however, eliminationelimination can cause non-conformity can cause non-conformity
NSC SSR R
( , ) [ ( , ) ( , )]B B Bj j X j jR Y y M X Y R X y ( , ) [ ( , ) ( , )]B B Bj j X j jR Y y M X Y R X y
( , ) [ ( , , ) ( , )]B B specj Z jR X y R X y Z R X Z ( , ) [ ( , , ) ( , )]B B specj Z jR X y R X y Z R X Z
Nov. 13, 2002Nov. 13, 2002 ICCAD 2002ICCAD 2002
The EndThe End