Download presentation
Presentation is loading. Please wait.
Published byMadisen Lynne Modified over 9 years ago
1
Outline Node minimization dcmin complete combinational behavior? using latch_expose FSM “Windowing”
2
FSM networks - Node Minimization Given a NDFSM CSF, find the “smallest” FSM Y, such that Y is well-defined and Y is called a reduction of CSF If we want Y to be a FSM, then it must be prefix closed and u-progressive.
3
State graph of X It typically looks like non-accepting don’t care state
4
dcmin We look at a minimization procedure, dcmin, which used the don’t cares in a special way It works particularly well when some state information of F is an input to X.
5
C-compatibility - dcmin Two states and are c-compatible if their care sets do not intersect, i.e. the care set of one is completely contained in the don’t care set of the other. s1s1s1s1 s2s2s2s2 states u u -space Careset Careset RemainingDC X (cs,u,v,ns) u v This is the care set for cs assuming that DC state is not present
6
A simple state reduction method-dcmin Let be the relation for the incomplete CSF X, and compute –i.e. those states and inputs for which there exists a next state and output (the next state can be either accepting or not). Order this BDD with the u variables first, and let be the unique functions below the u variables that are pointed to. Two states and are c-incompatible if and only if there exists i, i.e. they have a minterm u in common. So is a clique of states that can't be made equivalent, i.e. they must have different “colors” which will correspond to equivalent sts. Then the c-incompatibility graph is which has to be colored. Suppose is the assignment of states s to colors c. The new automaton relation for X is then
7
Simple state reduction Merged states Note that this is a “simple” coloring problem in contrast to the compatibilities problem normally associated with state minimization for incompletely specified FSMs. In contrast, here a group of states is “c-compatible” iff they are pair-wise c- compatible. u u -space Careset Careset Careset Remaining DC
8
Example – latch splitting Usage: _split [-v] splits the current network S into two parts: F and X generates the script to solve the equation F * X = S -v : toggles verbose [default = no] : the list of latches to be included in X no spaces are allowed in the latch list the numbers of latches are zero-based for example: 0,3,5-7,9 mvsis 01> rl s27.blif mvsis 02> _split 0-1 Creates two files – s27a.blif and s27f.blif, and 4 scripts F X particular solution fixed part
9
# Language solving script (partitioned) generated by MVSIS # for latch splitting of sequential network "s27.blif" on Tue Mar 23 10:27:49 2004 # Command line was: "_split 0-1". echo "Solving the language equation... " solve s27f.blif s27.blif G0,G1,G2,G3,G7 G5,G6 s27xs.aut psa s27xs.aut s27S.script (“solve script”) echo "Verifying the (partitioned) composition in the spec... " support G0,G1,G2,G3,G7,G5,G6,G17 s27xs.aut suppx.aut X read_blif s27f.blif latch_expose stg_extract s27f.aut support G0,G1,G2,G3,G7,G5,G6,G17 s27f.aut suppf.aut F product suppx.aut suppf.aut prod.aut XF support G0,G1,G2,G3,G17 prod.aut prod.aut determinize prod.aut prod.aut read_blif s27.blif S stg_extract s27s.aut support G0,G1,G2,G3,G17 s27s.aut supps.aut check prod.aut supps.aut check containment s27SC.script (verification script)
10
mvsis 02> source s27S.script Solving the language equation... Progressive = 0.00 sec "csf": incomplete (6 st), deterministic, non-progressive (6 st), and non-Moore (6 st). 7 inputs (7 FSM inputs) 7 states (7 accepting) 32 trans Inputs = { G0,G1,G2,G3,G7,G5,G6 } mvsis 02> source s27SC.script Verifying the (partitioned) composition in the spec... The STG with 2 states and 4 transitions is written to file "s27f.aut". Product: (7 st, 32 trans) x (2 st, 4 trans) -> (6 st, 25 trans) The automaton is deterministic; determinization is not performed. The STG with 6 states and 25 transitions is written to file "s27s.aut". Warning: Automaton "csf*s27" is completed before checking. Warning: Automaton "s27" is completed before checking. "csf*s27" and "s27" are sequentially equivalent mvsis 05> Running the scripts
11
s27xs.aut
12
S27a_supp.aut mvsis 06> rl s27a.blif mvsis 07> stg_extract s27a.aut mvsis 08> support G0,G1,G2,G3,G7,G5,G6 s27a.aut s27a_supp.aut mvsis 08> check s27a_supp.aut s27xs.aut The behavior of "s27" is contained in the behavior of "csf". F X
13
S27xs_dcmin.autS27a_supp.aut Dcmin used the don’t cares in a different way than s27a. S27a_supp.aut is not contained in s27xs_dcmin.aut G0, G1, G2, G3, G7, G5, G6 inputsoutputs mvsis 08> check s27a_supp.aut s27xs_dcmin Warning: Automaton "s27" is completed before checking. There is no behavior containment among "s27" and "csf". dcmin applied to X
14
Another Idea: Extracting Global Combinational Behavior.model s27a.blif.inputs G0 G1 G2 G3 G10 G11 G13 G17a.outputs G17 G5 G6 G7.latch G10a G5 0.latch G11a G6 0.latch G13a G7 0.names G10 G10a 1.names G11 G11a 1.names G13 G13a 1.names G17a G17 1.end S27a.blif (Latches only) X (All comb. logic) G0 G1 G2 G3 G5 G6 G7 G10 G11 G13 G17a G17 S27.blif
15
S27xs.aut 49 states, 1649 transitions
16
s27xs_dcmin.aut
17
Using latch_expose on s27.blif # Language solving script (partitioned) generated by MVSIS # for latch splitting of sequential network "s27.blif" on Sat Mar 20 12:36:16 2004 # Command line was: "_split 0-2". echo "Solving the language equation... " solve s27a.blif s27x.blif G0,G1,G2,G3,G5,G6,G7 G10,G11,G13,G17a s27xxs.aut psa s27xxs.aut mvsis 01> source s27Sx.script Solving the language equation... Progressive = 0.00 sec "csf": incomplete (48 st), deterministic, non-progressive (48 st), and non-Moore (48 st) 11 inputs (11 FSM inputs) 49 states (49 accepting) 1649 trans Inputs = { G0,G1,G2,G3,G5,G6,G7,G10,G11,G13,G17a }
18
The question is whether this is anything different than the original combinational logic?
19
Other ideas on reduction of CSF CFThis problem is similar to SOP minimization when using CF to minimize the node in the combinational network. CSFMany cost functions are possible. If we try to minimize the number of states in CSF, it is the problem of minimizing a PNDFSM – –T. Kam et. al., DAC 1994. We might want to look for a good implementation directly, rather than first minimizing the number of states. –Similarly, for a node in the combinational circuit, looking for a small SOP, or the minimum number of literals in FF, may be misleading. A specialized algorithm has been developed to check whether a combinational solution (a single-state reduction) exists.A specialized algorithm has been developed to check whether a combinational solution (a single-state reduction) exists. –The problem is reduced to SAT with as many variables as there are states + transitions in the CSF. Solution is practical for, say, 100 states and 500 transitions. –A similar algorithm can be developed to check whether a 2 or 3 state solution exists more variables, the SAT problem is hardermore variables, the SAT problem is harder
20
Iterative language solving The problem of computing the CSF can be iterative. 1.Given F, let S = F 2.Split F into F 1 and F 2 3.Solve F 1 * X = S. 4.If we can reduce X to a smaller implementation than F 2, replace F 2 5.Solve F 2 * X = S 6.If we can reduce X to a smaller implementation than F 1, replace F 1 7.Set F = F 1 * F 2 8.If either F 1 or F 2 has changed, go to 2
21
FSM Windowing X FSM 3 FSM 2 FSM 1 i X1X1X1X1 X2X2X2X2 X3X3X3X3 X = X 1 * X 2 * X 3 conjecture: How does this generalize for different topologies? Can we use abstraction?
22
Future developments Objective is to push to the limit, the size of application that can be done –Keep multi-level MV structure, given in MVSIS, as long as possible (lecture on this later) –Use SAT in subset construction The bottleneck looks to be extracting good sub-behavior of CSF (reduction) –A sub-graph of the CSF usually not good enough –“Simplified” (dcmin) state minimization of CSF may be good first step if coloring can be controlled better? Try for a good sub-behavior more directly without constructing CSF Try hierarchy and windowing applied to FSM network
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.