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

*/



IsInverse IsSymmetricFunction IsSymmetricFunctionTo IsZeroFunction And Binary ToBinary GrayCode OneComplement StringToBinaryNumber ToDiagram ToTruthTable DigitalSystem Email logicvardef() Not LeastSignificantDigit object OrAnd SOP To2LayerNand ShortestInputsForDistinguishTwoStates Forwardly CreateCompactTable FastVerificationData GetSubTable CreateDummyLogicFunction ShannonExpansion Substitute Zero

Search This Website :

 
Buy website traffic cheap