410 likes | 428 Views
A Theory of Non-Deterministic Networks. R. K. Brayton EECS Dept. University of California Berkeley. Overview. What is an ND network Motivation Basic definitions Defining and comparing ND behaviors ND network operations and how they change behaviors Experimental observations
E N D
A Theory of Non-Deterministic Networks R. K. Brayton EECS Dept. University of California Berkeley Workshop on Boolean Problems
Overview • 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 Workshop on Boolean Problems
What 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 Workshop on Boolean Problems
Why consider ND networks? • Don’t 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 Workshop on Boolean Problems
PO F yj j PI Definition: 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 don’t cares) Workshop on Boolean Problems
PO F yn MV ND PI Definition: ND Multi-Valued Network • Network of MV-nodes (PI, PO, internal) • Each node is represented by an MV variable ynwith its own range{0, 1,…, |pn|-1} • Internal node is represented by an MV non-deterministic relation Workshop on Boolean Problems
a R b Example: Ternary Relations All relations are well-defined, i.e. for each input minterm there exists at least one output value R1 R2 R3 2 R1 is completely specified (deterministic) R2 is incompletely specified R3 is partially specified, or non-deterministic R1is contained inR2 R2is not contained inR3 Workshop on Boolean Problems
ND 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 don’t cares, then there may be several PO vectors for a PI vector, • but don’t cares are well understood. Workshop on Boolean Problems
SS NSC ND NS Det ND 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. Workshop on Boolean Problems
The NS-behavior is the set of all PI/PO vectors that can be obtained this way.is in general a MV Boolean relation Normal 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 Workshop on Boolean Problems
fanouts 2 2 2 node with a non-deterministic relation 1 3 1 fanins Normal Simulation {0,2} 2 Workshop on Boolean Problems
The NSC-behavior is the set of all PI/PO vectors that can be obtained this way. is expressed as NSC 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 Workshop on Boolean Problems
0 1 3 2 2 2 3 1 1 NSC 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} 0 0 2 2 fanins Workshop on Boolean Problems
The SS-behavior is the set of all PI/PO vectors in the cross product of the PO sets that can be obtained this way. can be expressed using Set 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 Workshop on Boolean Problems
= {1,3} = {1,2,4} {1,3} {1,3} {0,2} {0,2} {0,2} {3} {1} {1} Set 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 Workshop on Boolean Problems
= SS 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 Workshop on Boolean Problems
Comparisons • 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 Workshop on Boolean Problems
Computing RNS – input determinization • At each ND node introduce one MV parameterpi with the same range as the node output. • Relation at node i is replaced by • pi controls the output value of node i • the operatorm 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. Workshop on Boolean Problems
External Specification • Can be specified by • The initial network plus don’t cares • e.g. in Boolean networks, we can give external don’t cares, one set for each output. • A separate specification (network or BDD or other) • Notation: • Requirement: conformity Workshop on Boolean Problems
Conformity 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 Workshop on Boolean Problems
Goal 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 Workshop on Boolean Problems
Network Manipulations • Eliminate a node • Optimize a node • Decompose a node • Substitute one node into another • PartiallyEncode a node • Merge nodes Workshop on Boolean Problems
yk yk k k Yk yi i i Yi Yi Eliminating a node into a fanout i is eliminated into k yi If ihas been eliminated in all of its fanouts, it can be removed from the network Workshop on Boolean Problems
Elimination 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 Workshop on Boolean Problems
Elimination and NSC Behavior Theorem 11: Eliminating a node can increase a network’s NSC behavior if and only if the node is ND and has reconvergent fanout. ND node 4 Workshop on Boolean Problems
Elimination 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 Workshop on Boolean Problems
Minimizing a Node – Computing the Flexibility at a Node Definition. A flexibility at node is a relation Rfsuch that placing at any well-defined deterministic relation contained in Rfleads to a network thatconforms to the external specification. Definition. The complete flexibility (CF) is the maximum flexibility at a node. Workshop on Boolean Problems
Computing the Global CF Workshop on Boolean Problems
Imaging into the Local Space Yi Workshop on Boolean Problems
Properties 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 Workshop on Boolean Problems
M is the number of the input minterms Vis the size of the output range. ti is the number of output values in the relation for input minterm mi Flexibility The amount of flexibility is equal to 0% for completely specified functions and 100% for relations that take all values in any minterm. Examples: M=6, V=3 R1 R2 R3 T = 10 T = 12 T = 6 F= 0% F= 33% F= 50% Workshop on Boolean Problems
Amount of Flexibility (SDC, CODC, CF) Workshop on Boolean Problems
Node 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 Workshop on Boolean Problems
Finding 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 Workshop on Boolean Problems
P2 P1 P3 P0 all minterms Quine-McCluskey type exactND 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 Pkis the cover for kthi-set. Workshop on Boolean Problems
Comparing Changes in Behaviors Table 1. Comparing two computationally viable theories Workshop on Boolean Problems
Experimental 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 Workshop on Boolean Problems
Experimental 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. Workshop on Boolean Problems
node simplify elimination mapping decomposition resubstitution merging encoding bit pairing Goals of the Future Work • Develop efficient Boolean optimization algorithms working on ND networks • Explore common computational core of these algorithms core Workshop on Boolean Problems
Future 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 Workshop on Boolean Problems
The End Workshop on Boolean Problems