Compatibility Simplification For Sequential Logic
In the reality, many sequential-logics may be defined with the state-transition-table with many unuse/irrelevant state-transitions. Let us call these as partly-defined state-transition-table.
We need the graph theory to simplify a partly-defined state-transition-table. At here, we skip the explanation of the graph theory. Nevertheless, we have a simple searching algorithm for finding the 'clique' of the state-transition-table.
[table]=StateTransition()
{
transitions
{
1: [1] -> 1/1'b0, [2] -> 4/1'b0, /* */ [4] -> 2/1'b1;
2: [1] -> 3/1'b1, /* */ /* */ [4] -> 2/1'b1;
3: [1] -> 3/1'b1, [2] -> 4/1'b0, /* */ [4] -> 2/1'b1;
4: [1] -> 1/1'b0, [2] -> 4/1'b0 /* */ /* */;
}
}
[simtable]=Simplification.Compatibility(table);
Print("result:");
Print(simtable);
/*
The result should be :
[table]=StateTransition()
{
transitions
{
1: [1] -> 1/1'b0, [2] -> 4/1'b0, [4] -> 2/1'b1;
2: [1] -> 3/1'b1, [4] -> 2/1'b1;
3: [1] -> 3/1'b1, [2] -> 4/1'b0, [4] -> 2/1'b1;
4: [1] -> 1/1'b0, [2] -> 4/1'b0 ;
}
simplification
{
tabletype = "incompletely-defined" ;
algorithm = "compatibility" ;
grouping
{
1:1,4;
2:2,3;
}
transitions
{
1: [1] -> 1/1'b0, [2] -> 1/1'b0, [4] -> 2/1'b1;
2: [1] -> 2/1'b1, [2] -> 1/1'b0, [4] -> 2/1'b1;
}
}
}
*/
IsBiUnateFunction IsSymmetricFunctionTo IsUnateFunction IsUnateFunctionTo ToAndOr binary() ToBinary NineComplement StringToBinaryNumber binaryioset() bool ToVariableInvertedFunction ToXORP Diagram Count long() Minus Not MostSignificantDigit PositiveDecimalToMantissa PositiveNumberToMantissa Or Realization To2LayerOrAnd SAT CreateCompactTableWithFullSimplification Balanced DontCare Normalization Zero