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;
    }
  }
}

*/



IsCovering IsInverse IsUnateFunctionTo ToAndOr Binary List BinaryNumberToString binary binaryioset() bool() ToAndXor Diagram Dimacs Eq Imply long minterm() POS Realization To2LayerNor SOP To2LayerAndXor Assign StateVariables StateTransitionBasedly string GetDontCareLogicFunction GetSubTable EnlargeLogicFunction Zero

Search This Website :

 
Buy website traffic cheap