Apparatus and Method For Memory Efficient, Programmable, Pattern Matching Finite State Machine Hardware
2 Assignments
0 Petitions
Accused Products
Abstract
A programmable finite state machine (FSM) includes, in part, first and second memories, and a selection circuit coupled to each of the memories. Upon receiving a (k+m)-bit word representative of the k-bit input symbol and the m-bit current state, the first memory supplies one ore more matching transition rules stored therein. The selection circuit selects the most specific of the supplied rules. The transition rules are stored in the first memory in a ranking order of generality. The second memory receives the selected transition rule and supplies the next state of the FSM. The first memory may be a ternary content addressable memory and the second memory may be a static random access memory. The contents of both the content addressable memory and the static random memory is determined by an algorithm which minimizes the number of terms required to represent the next-state transition functions.
-
Citations
31 Claims
-
1-25. -25. (canceled)
-
26. A method of generating state transition rules, the method comprising:
-
forming a plurality of Boolean logic functions each associated with a different one of a plurality of next states to which transitions are configured to occur;
performing logic minimization operation on number of minterms associated with each of the formed plurality of Boolean logic functions;
identifying at least one of the plurality of Boolean logic functions having a smallest number of minimized minterms;
storing the minimized minterms of the identified at least one of the plurality of Boolean logic functions;
adding expanded minterms corresponding to minimized minterms of the identified at least one of the plurality of Boolean logic functions to the remaining ones of the plurality of Boolean logic functions;
performing a second logic minimization operation on number of minterms associated with each of the remaining ones of the plurality of Boolean logic functions;
identifying at least another one of the plurality of Boolean logic functions having a smallest number of minimized minterms following the second logic minimization operation; and
storing the minimized minterms of the identified at least another one of the plurality of Boolean logic functions;
wherein the stored minterms define the state transition rules and are in a ranking order of generality. - View Dependent Claims (27, 28, 29, 30, 31)
-
Specification