Title: A Theory of Non-Deterministic Networks
1A Theory of Non-Deterministic Networks
R. K. Brayton EECS Dept. University of
California Berkeley
2Overview
- What is an ND network
- Motivation
- Basic definitions
- Defining and comparing ND behaviors
- ND network operations and how they change
behaviors - Experimental observations
- Conclusions and future work
3What is an ND network?
PO
- Similar to a Boolean network except
- Each node has a single output multi-valued
variable - Each node has a non-deterministic relation
relating its input and output values.
F
MV
ND
PI
4Why consider ND networks?
- Dont cares are a form of non-determinism. They
generalize to non-determinism when considering
multi-valued logic - Multi-valued domains can be used to explore
larger optimization spaces. - ND arises naturally when considering the
flexibility of implementing a node in a network - Given a ND relation, the minimum well-defined ND
sub-relation is always smaller than the minimum
deterministic one - Can be used to compile software to evaluate logic
5Definition Boolean Network
- Directed Acyclic Graph
- Each node represents a Boolean function
- Edge from node j to node k if the function at k
depends syntactically on the variable yj at the
output of j - Primary inputs (PI) X and outputs (PO) Z
- All signals are binary
- External specification provides allowed input and
output combinations (external dont cares)
6Definition ND Multi-Valued Network
- Network of MV-nodes (PI, PO, internal)
- Each node is represented by an MV variable yn
with its own range0, 1,, pn-1 - Internal node is represented by an MV
non-deterministic relation
7Example Ternary Relations
All relations are well-defined, i.e. for each
input minterm there exists at least one output
value
R1
R2
R3
b/a 0 1
0 0 2
1 0 0
2 1 0
b/a 0 1
0 0,1,2 2
1 0 0
2 0,1,2 0
b/a 0 1
0 0,1 1,2
1 0,1 0
2 0,1,2 0,1
2
R1 is completely specified (deterministic) R2 is
incompletely specified R3 is partially specified,
or non-deterministic R1 is contained in R2 R2 is
not contained in R3
8ND Network Behavior
- Given an ND network, what is its behavior, i.e.
what is the set of all PI/PO pairs that are
related? - this question is not straightforward.
- For a deterministic, well-defined network, there
is exactly one PO vector for each PI vector - however, if there are some external dont cares,
then there may be several PO vectors for a PI
vector, - but dont cares are well understood.
9ND Network Behaviors (PI/PO Pairs)
- Normal Simulation (NS)
- Normal Simulation made Compatible (NSC)
- Set Simulation (SS)
Note all these become the same when the network
is deterministic.
10Normal Simulation
- Network is evaluated in topological order
- At each node its fanins have a specific vector of
values. - The relation at the node determines a set of
possible output values of that node - One of these is chosen randomly and broadcast to
the fanouts
11Normal Simulation
0,2
2
12NSC Simulation
- Like normal simulation except that each PO is
handled separately. - Take one PO, j, and look at the transitive fanin
cone. - Compute (X, zj ) pairs using NS.
- Repeat for all PO
13NSC Simulation
1
3
PO2
PO2
PO1
2
4
PO1
2
3
PI/PO relation contains 3 1 1 / 2 1 3 1 1 / 2
3 3 1 1 / 4 1 3 1 1 / 4 3 It is the cross
product of all PO sets
1
0
0,2
2
0
0
2
fanins
14Set Simulation
- Done in topological order.
- On each signal a set of values is obtained
- At each node a vector of fanin sets is known.
- The output set of values for a node is the union
of the sets obtained for all fanin vectors in the
cross product of the fanin sets
15Set Simulation
PO2
PO1
1,2,4
1,4
0,1
PI/PO relation contains 3 1 1 / 1 1 3 1 1 / 1
3 3 1 1 / 2 1 3 1 1 / 2 3 3 1 1 / 4 1 3 1 1 / 4
3 It is the cross product of all PO sets
0,2
fanins
16SS is not Scattered Simulation
- Scattered simulation
- for each fanout one value is selected from the
acceptable set. - each fanout may have different values
- Example
0
0,1
0,1
0
1
0,1
0
1
0,1
1
0
0,1
0
17Comparisons
- is a general MV Boolean relation
- relatively hard to compute and store
- and can be
computed for each output and
They are symmetric Boolean relations. - can be obtained by elimination
in reverse topological order - can be obtained by elimination in
topological order
18Computing RNS input determinization
- At each ND node introduce one MV parameter pi
with the same range as the node output. - Relation at node i is replaced by
- pi controls the output value of node i
- the operator m is a special BDD projection
operator, defined by Bill Lin, that projects onto
the smallest allowed output value. - RNS can be obtained by eliminating all internal
nodes and existentially quantifying all
parameters.
19External Specification
- Can be specified by
- The initial network plus dont cares
- e.g. in Boolean networks, we can give external
dont cares, one set for each output. - A separate specification (network or BDD or
other) - Notation
- Requirement conformity
20Conformity with External Specification
- Can use any one of the behaviors
- Just be consistent
- For example, we may have but
If we use consistently there
is no problem. - Ultimately, in most applications we want a final
deterministic network. - If any behavior conforms, then it contains only
correct deterministic ones
21Goal of this paper
- Develop a theory of ND networks where
- a network can be manipulated using classical
operations, - eliminate, optimize, decompose,
- all the intermediate networks conform to the
external specification. - we need to understand when a particular network
operation may increase a particular type behavior - this might cause the network to not conform
22Network Manipulations
- Eliminate a node
- Optimize a node
- Decompose a node
- Substitute one node into another
- Partially Encode a node
- Merge nodes
23Eliminating a node into a fanout
i is eliminated into k
yi
If i has been eliminated in all of its fanouts,
it can be removed from the network
24Elimination can increase behavior
Theorem 10 Eliminating a node can increase the
NS or NSC behaviors of a network only if the node
is ND and has more than one fanout.
Increased behavior because there are now two
copies in the network
25Elimination and NSC Behavior
Theorem 11 Eliminating a node can increase a
networks NSC behavior if and only if the node is
ND and has reconvergent fanout.
ND node
4
26Elimination and SS behavior
Corollary 1 Eliminating a node can never
increase the SS behavior of a network.
- Corollary 2 Eliminating a node A can decrease
the SS behavior of a network only if - A has an ND node B in its TFI and
- a fanin C of A in the TFO of B is also a fanin
of a fanout of A
C
B
A
27Minimizing a Node Computing the Flexibility at
a Node
- Definition. A flexibility at node ? is a relation
Rf? such that placing at ? any well-defined
deterministic relation contained in Rf? leads to
a network that conforms to the external
specification. - Definition. The complete flexibility (CF) is the
maximum flexibility at a node.
28Computing the Global CF
29Imaging into the Local Space
Yi
30Properties of Flexibilities
- If a network conforms, then any well-defined
deterministic function contained in
is acceptable at node j, for - For NS or NSC, any ND relation will also be
acceptable - But for SS, it is possible that an ND relation
contained in can cause the
network to not conform
31Flexibility
M is the number of the input minterms V is the
size of the output range. ti is the number of
output values in the relation for input minterm
mi
The amount of flexibility is equal to 0 for
completely specified functions and 100 for
relations that take all values in any minterm.
Examples M6, V3
R1
R2
R3
b/a 0 1
0 0,1 1,2
1 0,1 0
2 0,1,2 0,1
b/a 0 1
0 0 2
1 0 0
2 1 0
b/a 0 1
0 0,1,2 2
1 0 0
2 0,1,2 0
T 10
T 12
T 6
F 0
F 33
F 50
32Amount of Flexibility (SDC, CODC, CF)
33Node Simplification
- Compute and use complete flexibility (CF) to
simplify the node. Recall - CF in global space
- CF in local space
- Use to optimize MV-SOP (heuristic,
exact) at node j
We will look at how to find the smallest
well-defined SOP representation contained in a
given ND relation
34Finding minimum deterministic SOP representation
- It is never smaller than the smallest ND
representation - There is no known algorithm for finding it.
- In contrast, there is a method for finding the
smallest ND representation
35Quine-McCluskey type exact ND SOP relation
minimization
- Given an ND relation, e.g. the complete
flexibility, its i-set is the set of input
minterms that can produce output value i. - For each i-set, generate all its primes, Pi
- Form covering table with
- one column for each pj in Pi for all i
- one row for each minterm in the input space
- Solve minimum covering problem
- Primes chosen from Pk is the cover for kth i-set.
36Comparing Changes in Behaviors
Table 1. Comparing two computationally viable
theories
Operation NSC-behavior SS-behavior
elimination non-compliance compliance
node minimization compliance non-compliance
decomposition compliance non-compliance
merging cant change cant increase
node flexibility more less
37Experimental Setup
- These ideas have been implemented in a system,
MVSIS - The SS behavior has been used throughout.
- it is the easiest to use computationally
- global behavior can be expressed locally at each
node as a BDD of the PI - In the future we will experiment with using NSC
behavior
38Experimental ObservationsSS Behavior
- Conformity is rarely lost but it does happen.
This usually happens during node minimization. - If we use an ND relation at the minimized node,
then conformity is not guaranteed (only
deterministic SOP guarantees conformity using SS) - Often conformity is automatically regained by
minimizing the next node. - If the CF at the next node is well defined, this
means that the network can be brought back to
conformity. - If it is not well defined, we leave the node
relation alone and move to the next node. - We have never experienced a final network that
does not conform to the external specification.
39Goals of the Future Work
- Develop efficient Boolean optimization algorithms
working on ND networks - Explore common computational core of these
algorithms
core
40Future Work
- We believe NSC behavior will be superior.
- need to solve computation efficiency problems
- elimination in reverse topological order means
that intermediate variables have to be used
(rather than only PI) - which means that it is easier to
maintain conformity. - implies that NSC-CF contains more flexibility
than SS-CF - however, elimination can cause non-conformity
41The End
42Partial Encoding (Value Reducing)
- R2 is a wire, a cube, or a given function
- e.g. a library element (technology mapping)
- Transformation is accepted if
- ?log2Â v2? ?log2Â v1? ? ?log2Â v? or
- v2 v1? v
43Merging
- Inverse of partial encoding
merge v1 and v2
44Decomposition (extraction) and Encoding
- Select bound set XB
- Imagine that a block B1 has v1 values. (v1 is the
product of values in XB) - Compute the CF of block B1
- Encode B1 using value-reducing encoding to get B2
- Inputs in XC are shared, which leads to
non-disjoint decomposition