26
Why consider ND-MV Why consider ND-MV networks? networks? Multi-Values: Multi-Values: Multi-valued domains can be used to explore larger Multi-valued domains can be used to explore larger optimization optimization spaces. spaces. Several interesting direct applications – software, Several interesting direct applications – software, asynchronous, … asynchronous, … Non-Determinism: Non-Determinism: Is useful for compact representations Is useful for compact representations A minimum SOP ND-relation is A minimum SOP ND-relation is often much smaller often much smaller than a than a minimum deterministic one minimum deterministic one Don’t cares Don’t cares are a limited form of non-determinism. are a limited form of non-determinism. when considering when considering multi-valued multi-valued logic, they generalize to logic, they generalize to non-determinism non-determinism ND arises naturally when considering the ND arises naturally when considering the flexibility flexibility of of implementing a node in an MV network implementing a node in an MV network

Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Embed Size (px)

Citation preview

Page 1: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Why consider ND-MV Why consider ND-MV networks?networks?

Multi-Values:Multi-Values:Multi-valued domains can be used to explore larger Multi-valued domains can be used to explore larger optimizationoptimization

spaces.spaces.

Several interesting direct applications – software, asynchronous, …Several interesting direct applications – software, asynchronous, …

Non-Determinism:Non-Determinism:Is useful for compact representationsIs useful for compact representations

• A minimum SOP ND-relation is A minimum SOP ND-relation is often much smalleroften much smaller than a than a minimum deterministic one minimum deterministic one

Don’t caresDon’t cares are a limited form of non-determinism. are a limited form of non-determinism.

• when considering when considering multi-valuedmulti-valued logic, they generalize to non- logic, they generalize to non-determinismdeterminism

ND arises naturally when considering the ND arises naturally when considering the flexibilityflexibility of implementing of implementing a node in an MV networka node in an MV network

Page 2: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Definition: ND Multi-Valued Definition: ND Multi-Valued NetworkNetwork

• Directed Acyclic GraphDirected Acyclic Graph• Primary inputs (PI) Primary inputs (PI) XX and outputs and outputs

(PO) (PO) ZZ• External specification provides External specification provides

allowed input and output allowed input and output combinationscombinations

j

PIs - XX

POs - ZZ

yj

Page 3: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Definition: ND Multi-Valued Definition: ND Multi-Valued NetworkNetwork• Each node has a single output Each node has a single output

represented by an represented by an MVMV variable variable yyjj

with rangewith range {0, 1,…, |{0, 1,…, |PPjj|-1}|-1}

• Each internal node is represented Each internal node is represented by an MV by an MV non-deterministic non-deterministic relation, relation, RR– single MV output single MV output

• Edge exists from node Edge exists from node jj to node to node kk if relation if relation RR at node at node kk depends depends syntactically on the variable syntactically on the variable yyjj at at the output of the output of jj

MV

ND

PIs - XX

POs - ZZ

yn

RR

Page 4: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Example: Ternary RelationsExample: Ternary Relations

RR11 is is completelycompletely specified (well-defined and specified (well-defined and deterministic)deterministic)

RR22 is is incompletelyincompletely specified (well-defined with specified (well-defined with don’t cares)don’t cares)

RR33 is is partiallypartially specified, or specified, or non-deterministicnon-deterministic

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 All relations are well-definedwell-defined, i.e., i.e.for each input minterm there existsfor each input minterm there existsat least one output valueat least one output value

2

3

3

Page 5: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

ND Network BehaviorND Network Behavior• Given an ND network, what is its Given an ND network, what is its

behaviorbehavior? ? – behaviorbehavior is the set of all PI/PO vector is the set of all PI/PO vector

pairs that are related?pairs that are related?• i.e. is in general a multi-output MV relation i.e. is in general a multi-output MV relation

RR((X,Z X,Z ).).

– for a deterministic, well-defined network, for a deterministic, well-defined network, there is exactly there is exactly oneone PO vector for each PI PO vector for each PI vectorvector

Page 6: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

ND Network Behaviors ND Network Behaviors (PI/PO Pairs)(PI/PO Pairs)

• Normal Simulation (Normal Simulation (NSNS))– most realistic onemost realistic one

• Normal Simulation made Compatible Normal Simulation made Compatible ((NSCNSC))– one output at a timeone output at a time

• Set Simulation (Set Simulation (SSSS))– like X-valued (or “3-valued”) simulationlike X-valued (or “3-valued”) simulation

Page 7: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

0 0 0

Normal Simulation (NS)Normal Simulation (NS)

faninsfanins

POsPOs

node with anon-deterministicrelation

3 11

2 2 2

{0,2}2

PI/PO relation PI/PO relation containscontains

3 1 1 / 2 1 03 1 1 / 2 1 0

21

0

0

01

2

PI/PO relation PI/PO relation containscontains

3 1 1 / 2 1 03 1 1 / 2 1 03 1 1 / 0 1 23 1 1 / 0 1 2

( , )NSR X Z

Page 8: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Normal Simulation made Normal Simulation made compatible (NSC)compatible (NSC)

fanins

3 1

1

2 2 2

{0,2}2

PO1 PO2

2

10

3

3

= 2

0

01

= 1

PI/PO relation PI/PO relation containscontains

3 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 product It is the cross product of all PO sets. Thus of all PO sets. Thus the MV relation for the MV relation for the network is the network is output-symmetricoutput-symmetric

0

4

2

3PO1 PO2

( , )NSCR X Z0

1

Page 9: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Set Simulation (SS)Set Simulation (SS)

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 sets. Thus the MV sets. Thus the MV relation for the relation for the network is network is output-output-symmetricsymmetric

( , )SSR X Z

Page 10: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

ComparisonsComparisons

• is a general MV Boolean relation is a general MV Boolean relation – relatively hard to compute and storerelatively hard to compute and store

• and can be computed and can be computed for each output andfor each output and

• can be obtained by elimination can be obtained by elimination in in reversereverse topological order topological order

• can be obtained by elimination can be obtained by elimination in in topologicaltopological order order

( , ) ( , ) ( , ) NS NSC SSR X Z R X Z R X Z

( , )NSR X Z

( , )NSCR X Z ( , )SSR X Z

( , )NSCjR X z

( , )SSjR X z

( , )NSCjR X z ( , )SS

jR X z

Page 11: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

External SpecificationExternal Specification

• Can be specified byCan be specified by– The The initialinitial network plus compatible don’t network plus compatible don’t

carescares•e.g. in Boolean networks, we can give e.g. in Boolean networks, we can give

compatible external don’t cares, one set for compatible external don’t cares, one set for each output.each output.

– A A separateseparate specification (ND-network or specification (ND-network or BDD or other)BDD or other)

• Requirement:Requirement: ( ,( , ) { , , })s ecB pR X ZR X Z B NS NSC SS

( , )specR X Z

Page 12: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Network ManipulationsNetwork Manipulations

• Eliminate Eliminate a nodea node

• Optimize Optimize a nodea node

• Decompose/extract Decompose/extract a nodea node

Analyzed for SS and NSCAnalyzed for SS and NSC

Page 13: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Eliminating a node into a Eliminating a node into a fanoutfanout

(( . , ) ( , ))iy

k i i i k kk k kR YY yR R Yy yIf If ii has been eliminated in all of its fanouts, it has been eliminated in all of its fanouts, it can be can be removedremoved from the network from the network

i is eliminatedinto k

k

Yi

yk

ikY

yi

i

k

Yk

Yi

yi

yk

( , )i i iR Y y

( , )k k kR Y y

Page 14: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

EliminationEliminationSS:SS: Eliminating a node can never Eliminating a node can never increaseincrease the the SS behaviorSS behavior of a network. of a network.

NSC:NSC: Eliminating a node Eliminating a node cancan increaseincrease a a network’s network’s NSC behaviorNSC behavior if and only ifif and only if the the node is node is

• ND and ND and • has reconvergent fanout.has reconvergent fanout.

2

14

3

ND node

Page 15: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Decomposition/ExtractionDecomposition/Extraction

NSC: The NSC-behavior of a network can’t increase due to an decomposition/extraction

SS: The SS-behavior of a network is can increase only if the non-disjoint variables of the decomposition have an ND node in their TFIs.

Decompose BB

A

B’

A

C

Page 16: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Minimizing a Node – Minimizing a Node – Computing the Flexibility at a Computing the Flexibility at a NodeNodeDefinition.Definition. A A flexibilityflexibility is a node is a node relationrelation

such that any well-defined such that any well-defined sub-relationsub-relation used at the node used at the node leads to a network thatleads to a network that conforms to the external specification. conforms to the external specification.

Definition.Definition. The The ccomplete flexibility (omplete flexibility (CFCF)) is is the the maximummaximum flexibility possible at a flexibility possible at a node.node.

Page 17: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Computing the Computing the GlobalGlobal CF for a CF for a Behavior of type Behavior of type BB

iy

X Z

[ ( , ,, )]) ( ,( ) sBB pZ

cii

eR X y R XZR X y Z

( , , )BiR X y Z

There is a slight modification of this for SS-behavior

Page 18: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Computing CF - Imaging into Computing CF - Imaging into the the LocalLocal Space Space

(( , ( , )[ ,) ]) BiX

Bi

Bi iC R Xy XF M YY y

iy

X ZjY ( , )BiM X YYi

Page 19: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Properties of CFsProperties of CFs

TheoremTheorem: If a network conforms, then : If a network conforms, then any well-defined any well-defined relationrelation contained in contained in is acceptable at node is acceptable at node jj, for, for

( , )Bj jCF Y y

{ , , }B NS NSC SS

NoteNote: the sub-relation can be : the sub-relation can be non-deterministicnon-deterministic..

Page 20: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

ExampleExamplemvsis 115> mfs -k m1Original MV Relation of Node <m1>. 0 1 2 3 4 +----------+----------+----------+----------+----------+0 | --2----- | ---3---- | ---3---- | -1------ | ---3---- | +----------+----------+----------+----------+----------+1 | ------6- | ---3---- | -------7 | -----5-- | -------7 | +----------+----------+----------+----------+----------+2 | ------6- | ---3---- | -------7 | -----5-- | -------7 | +----------+----------+----------+----------+----------+3 | ----4--- | 0------- | ----4--- | ----4--- | ----4--- | +----------+----------+----------+----------+----------+Derived CF Relation of Node <m1>. 0 1 2 3 4 +----------+----------+----------+----------+----------+0 | 012345-- | 012345-- | 01234567 | 012345-- | -1-3-5-- | +----------+----------+----------+----------+----------+1 | ------6- | -1-3-5-- | -------7 | -1-3-5-7 | ------67 | +----------+----------+----------+----------+----------+2 | ------6- | -1-3-5-- | -1-3-5-7 | -1-3-5-7 | ------67 | +----------+----------+----------+----------+----------+3 | 0-2-4--- | 0-2-4--- | 0-2-4-6- | ----4--- | 012345-- | +----------+----------+----------+----------+----------+

DefinitionDefinition: An: An i-set i-set is the set of minterms which is the set of minterms which can produce valuecan produce value i i

Page 21: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Node SimplificationNode Simplification

Problem:Problem: find the smallest well-find the smallest well-defined SOP representation defined SOP representation contained in CFcontained in CF– Size is measured by the total number of cubes in Size is measured by the total number of cubes in allall

i-seti-set SOPs SOPs

Exact Algorithms: Exact Algorithms: Deterministic Deterministic –– There is There is no knownno known algorithm for this algorithm for this

case.case.Non-deterministicNon-deterministic – A Quine-McCluskey type method – A Quine-McCluskey type method

existsexists

Page 22: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

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 Form one one covering table with 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 is the

cover for kcover for kthth ii-set.-set.

Page 23: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Comparing Changes in Comparing Changes in BehaviorsBehaviors

OperationOperation NSC-behaviorNSC-behavior SS-behaviorSS-behavior

eliminationelimination Can increaseCan increase Can’t increase

node minimizationnode minimization Can’t increase Can’t increase

decompositiondecomposition Can’t increase Can increaseCan increase

node flexibilitynode flexibility more less

Nothing’s perfect

Page 24: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Experimental SetupExperimental Setup

• These ideas have been implemented These ideas have been implemented in a system, in a system, MVSIS 2.0 (source code MVSIS 2.0 (source code released May 31, 2003.)released May 31, 2003.)

• The The SSSS behavior has been used behavior has been used primarily throughout.primarily throughout.– SSSS is the computationally efficient is the computationally efficient

• Some experiments with using Some experiments with using NSCNSC behaviorbehavior

Page 25: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Experimental ObservationsExperimental ObservationsSS BehaviorSS Behavior

• Conformity was rarely lost but it Conformity was rarely lost but it did did happenhappen. . – This is because we have not modified This is because we have not modified

decomposition yetdecomposition yet..

• Conformity can be Conformity can be regainedregained by minimizing by minimizing nodes using CFs.nodes using CFs.– Theorem:Theorem: If the CF at a node is If the CF at a node is well definedwell defined, ,

then using any well-defined sub-relation then using any well-defined sub-relation contained in CF, brings the network back to contained in CF, brings the network back to conformity for the outputs in the node’s TFO.conformity for the outputs in the node’s TFO.

Page 26: Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications

Status and Future WorkStatus and Future WorkStatus:Status:• Initial implementation of MVSIS 2.0Initial implementation of MVSIS 2.0

• Source release May 31, 2003Source release May 31, 2003

• 3-5x faster than SIS3-5x faster than SIS

• Experiments with using NSC behaviorExperiments with using NSC behavior

• Provides only about 1% more flexibility than SS, Provides only about 1% more flexibility than SS,

• Is computationally much more complexIs computationally much more complex

Future:Future:• Develop Develop efficientefficient BooleanBoolean optimization algorithms optimization algorithms

and explore their common computational coreand explore their common computational core

• Add sequential synthesisAdd sequential synthesis

• Add technology mappingAdd technology mapping