Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger...

Preview:

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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..

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

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

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.

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

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

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.

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

Recommended