Huffman Simplification For Sequential Logic

For a well-defined State-Transition-Table, the Huffman Simplification is the common algorithm to simplify state-transition.

[table]=StateTransition()
{
	transitions
	{
	    1: [1] -> 1/1'b0, [2] -> 3/1'b0;
	    2: [1] -> 2/1'b1, [2] -> 4/1'b0;
	    3: [1] -> 3/1'b1, [2] -> 5/1'b0;
	    4: [1] -> 4/1'b0, [2] -> 1/1'b1;
	    5: [1] -> 5/1'b0, [2] -> 1/1'b1;
	}
}
[simtable]=Simplification.HuffmanMealy(table);

Print("result:");
Print(simtable);

/*
The result should be :
result:
StateTransition()
{
  transitions
  {
    1: [1] -> 1/1'b0, [2] -> 3/1'b0;
    2: [1] -> 2/1'b1, [2] -> 4/1'b0;
    3: [1] -> 3/1'b1, [2] -> 5/1'b0;
    4: [1] -> 4/1'b0, [2] -> 1/1'b1;
    5: [1] -> 5/1'b0, [2] -> 1/1'b1;
  }
  simplification
  {
    tabletype = "well-defined" ;
    algorithm = "equivalance" ;
    grouping
    {
      1:1;
      2:2,3;
      3:4,5;
    }
    transitions
    {
      1: [1] -> 1/1'b0, [2] -> 2/1'b0;
      2: [1] -> 2/1'b1, [2] -> 3/1'b0;
      3: [1] -> 3/1'b0, [2] -> 1/1'b1;
    }
  }
}

*/



PermuteLogicFunction IsBlankFunction IsCovering IsLinearFunction IsMonotonicFunction IsPositiveFunction AndOr AndXor FromBinary BCDEx3 ToNotFunction ToPOS ToVariableInvertedFunction Imply MantissaToPositiveDecimal PositiveNumberToMantissa PermutationMatrix Print real() Realization ToFullAnd MaxSAT ShortestInputsForDistinguishTwoStates Compatibility ROBDD GetNegativeLogicFunction Normalization Substitute var Zero

Search This Website :

 
Buy website traffic cheap