190 likes | 353 Views
Combinational and Sequential Flexibility in Logic Networks. 290N: The Unknown Component Problem Lecture 3. Overview. Logic networks Flexibility Complete vs. compatible flexibility Combinational case: Satisfiability don’t-cares Observability don’t-cares External don’t-cares
E N D
Combinational and Sequential Flexibility in Logic Networks 290N: The Unknown Component Problem Lecture 3
Overview • Logic networks • Flexibility • Complete vs. compatible flexibility • Combinational case: • Satisfiability don’t-cares • Observability don’t-cares • External don’t-cares • Complete combinational flexibility • Computational procedures • Implementation • Sequential case: • Input don’t-care sequences • Output don’t-care sequences • External specification • Complete sequential flexibility
Logic Network • Logic network is a direct acyclic graph Primary outputs (POs) Internal nodes Primary inputs (PIs)
Fanin/Fanout of a Node • Node has only one output. • Node can have any number of inputs (fanins) and can be an input to any number of nodes (fanouts) FO3 FO1 FO2 Fanouts N Node FI2 FI3 FI1 Fanins
Transitive Fanin/Fanout of a Node Transitive fanout (TFO) Node Transitive fanin (TFI)
Flexibility at a Node External specification • A flexibility at a node is a relation between the node’s inputs and outputs, such that any well-defined sub-relation used at the node leads to a logic network that conforms to the external specification. Logic Network
Complete vs Compatible Flexibility Definition. The complete flexibility (CF) is the maximum flexibility possible at a node, assuming that other nodes are fixed. Definition. A compatible flexibility (CF) is a flexibility at a node, assuming that other nodes can change, to some extent. • Typically, compatible flexibilities are assigned to all of the nodes in one pass over the network. Then, each node is minimized independently. • On the other hand, complete flexibility at a node, once computed, should be used before moving on to other nodes.
Flexibility of Nodes in the Network • Internal flexibility (don’t-cares) • Satisfiability don’t-cares • Some input combinations that never occur at a node • Observability don’t-cares • Under some input combinations, the value produced at the output of the node does not matter • External flexibility (don’t-cares) • Some input combinations never occur (unused codes, unreachable states) • Complete flexibility (don’t-cares) • The sum of the three above
z1 F y x c a b Satisfiability Don’t-Cares • (x,y)=(1,0) is a don’t-care for node F
Observability Don’t-Cares • (a,c)=(1,1) is a don’t-care for node F z1 z2 F a b c
Global and Local Flexiblity Local Space Global Space
Computing CF - global step Original network: Rspec( X, Z ) (can be also given as an external specification) Perturbed network: R( X, yi, Z )
yi Yi Yi Computing CF - local step
yi Yi yi Yi Computing CF - local step The same computation applies for multiple-output nodes, i.e. where
Sequential Flexibility for FSM • Output don’t-care sequences of Mx exist because Mo does not distinguish some string • observability don’t-cares Mo Mx • Input don’t-care sequences of Mx exist because Mi does not produce some strings • satisfiability don’t-cares Mi
FSM i1 FSM FSM FSM i2 o FSM FSM FSM FSM Networks • Problem: Given a network of finite state machines, compute the Complete Sequential Flexibility at a node
FSM FSM i1 FSM spec FSM i o context FSM FSM i2 o FSM v u unknown Problem Formulation Specification S (i,o) Context F (i,v,u,o) Unknown X (u,v) Problem: Given S and F, find the Most General Solution (MGS) of Solution:
u v CSF Definitions • Most General Solution (MSG) is the automaton solution of the language equation F X S, such that any other automaton solution is contained in it. • Complete Sequential Flexibility (CSF) is the maximum set of FSM behaviors (represented by a pseudo-non-deterministic FSM), such that implementing any sub-behavior of CSF, and replacing the sub-network by the implemented part, does not violate the specification of the total network. • CSF is maximum sub-behavior of MGS, which is prefix-closed and u-progressive • for unknown to be an FSM, it must be progressive in its inputs
Algorithm to Compute Algorithm:CompleteSequentialFlexibility Input: FSM F, FSM (or automaton) S Output: pseudo-non-deterministic FSM X begin 01 X := Complete( S,non-accepting ) 02 X := Complement( X ) 03 X := Support (X, (i,v,u,o)) –lift 03 X := Product( F, X ) 04 X := Support( X, (u,v) ) - restrict 05 X := Determinize & Complement(X) 06X := PrefixClose&uProgressive( X, u ) return X end