Method for synthesizing linear finite state machines
First Claim
1. A computer-readable medium storing computer-executable instructions for performing the following:
- obtaining a first layout of a linear finite state machine, the first layout of the linear finite state machine including a plurality of serially coupled memory elements and one or more first layout feedback connections, each of the one or more first layout feedback connections coupling an output of a respective one of the memory elements to inputs of one or more respective other ones of the memory elements, wherein the one or more feedback connections couple the output of a respective one of the memory elements to the inputs of the one or more respective other ones of the memory elements via respective logic gates; and
performing one or more transformations of the one or more feedback connections to transform the first layout of the linear finite state machine into a second layout of the linear finite state machine, the combined length of the one or more transformed feedback connections in the second layout of the linear finite state machine being less than the combined length of the feedback connections in the first layout of the linear finite state machine, the second layout of the linear finite state machine further being capable of providing a same output sequence as the first layout of the linear finite state machine.
2 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for synthesizing high-performance linear finite state machines (LFSMs) such as linear feedback shift registers (LFSRs) or cellular automata (CA). Given a characteristic polynomial for the circuit, the method obtains an original LFSM circuit such as a type I or type II LFSR. Feedback connections within the original circuit are then determined. Subsequently, a number of transformations that shift the feedback connections can be applied in such a way that properties of the original circuit are preserved in a modified LFSM circuit. In particular, if the original circuit is represented by a primitive characteristic polynomial, the method preserves the maximum-length property of the original circuit in the modified circuit and enables the modified circuit to produce the same m-sequence as the original circuit. Through the various transformations, a modified LFSM circuit can be created that provides higher performance through shorter feedback connection lines, fewer levels of logic, and lower internal fan-out.
156 Citations
19 Claims
-
1. A computer-readable medium storing computer-executable instructions for performing the following:
-
obtaining a first layout of a linear finite state machine, the first layout of the linear finite state machine including a plurality of serially coupled memory elements and one or more first layout feedback connections, each of the one or more first layout feedback connections coupling an output of a respective one of the memory elements to inputs of one or more respective other ones of the memory elements, wherein the one or more feedback connections couple the output of a respective one of the memory elements to the inputs of the one or more respective other ones of the memory elements via respective logic gates; and performing one or more transformations of the one or more feedback connections to transform the first layout of the linear finite state machine into a second layout of the linear finite state machine, the combined length of the one or more transformed feedback connections in the second layout of the linear finite state machine being less than the combined length of the feedback connections in the first layout of the linear finite state machine, the second layout of the linear finite state machine further being capable of providing a same output sequence as the first layout of the linear finite state machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable medium storing computer-executable instructions for performing the following:
-
obtaining a first layout of a linear finite state machine, the first layout of the linear finite state machine including a plurality of serially coupled memory elements and at least one feedback connection coupling an output of a source memory element in the linear finite state machine to respective inputs of two or more destination memory elements in the linear finite state machine via respective linear logic gates at the respective inputs of the two or more destination memory elements; and transforming the first layout of the linear finite state machine into a second layout of the linear finite state machine by performing one or more transformations to the at least one feedback connection, the one or more transformations reducing the fan-out of the at least one feedback connection by replacing an original connection between the output of the source memory element and the input of one of the destination memory elements with a shifted version of the original connection. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system, comprising:
-
means for obtaining a first layout of a linear finite state machine, the first layout of the linear finite state machine including a plurality of serially coupled memory elements and one or more first layout feedback connections, each of the one or more first layout feedback connections coupling an output of a respective one of the memory elements to inputs of one or more respective other ones of the memory elements, wherein the one or more feedback connections couple the output of a respective one of the memory elements to the inputs of the one or more respective other ones of the memory elements via respective logic gates; and means for performing one or more transformations of the one or more feedback connections to transform the first layout of the linear finite state machine into a second layout of the linear finite state machine, the combined length of the one or more transformed feedback connections in the second layout of the linear finite state machine being less than the combined length of the feedback connections in the first layout of the linear finite state machine, the second layout of the linear finite state machine further being capable of providing a same output sequence as the first layout of the linear finite state machine. - View Dependent Claims (19)
-
Specification