Linear finite state machines (LFSMs) such as linear feedback shift registers (LFSRs) and cellular automata (CA) are often used for generating pseudo-random sequences. Such devices are well known in the art and are amply described in a number of references such as V. N. Yarmolik and S. N. Demidenko, Generation and Application of Pseudorandom Sequences for Random Testing, J. Wiley and Sons, New York, 1988. An LFSR includes memory elements such as flip-flops and linear logic gates such as XOR or XNOR gates connected as shown in
An alternative LFSR implementation is shown in
When the output is taken from the last stage of a type I or type II LFSR constructed in accordance with the same primitive characteristic polynomial, then the resulting m-sequences are different. The same m-sequences can be obtained, however, if a given primitive characteristic polynomial and its reciprocal are use to implement the type I and type II LFSRs, respectively, and both registers are properly initialized.
LFSMs such as the LFSRs described above are employed in a vast variety of applications, including error detection and correction, data transmission, mobile telephony, cryptography, testing of very large scale integrated circuits, data compression, and hardware white noise generation. For high-performance applications, the required data generation and compression can only be achieved by high-performance circuits. The highest operating speeds of conventional LFSR-based generators, encoders, decoders or compactors are limited by the performance of their respective elements. For a type I LFSR, performance is limited by the depth (i.e., number of levels) of the combinational logic in its feedback path. For a type II LFSR, performance is limited by buffers in the feedback path needed to compensate for internal fan-out on the output of the last stage. In addition, the buffers slow the circuit's operation. In both types of LFSRs, the limitations are especially pronounced for LFSRs having a characteristic polynomial with a large number of terms.
Attempts have been made to improve the performance of conventional LFSRs. Several are described in P. H. Bardell, “Design Considerations for Parallel Pseudorandom Pattern Generators,” Journal of Electronic Testing: Theory and Applications, No. 1, pp. 73–87, 1990. Others are described in various U.S. patents. For example, a linear pseudo-random test pattern generator that is aimed at generating all 2n vectors using an LFSR enhanced by means of external circuitry is disclosed in the U.S. Pat. No. 4,974,184. The scheme employs a switching circuit added to the feedback network of the register to produce and insert into a suitable position the so-called “stuck-state” which cannot be obtained by means of the conventional linear finite state machines. Typically, the stuck-state consists of an all-0s pattern that can be conveniently employed in several testing approaches (e.g., a memory test).
U.S. Pat. No. 5,268,949 describes a pseudo-random test pattern generator having a higher operating speed than the conventional LFSRs. The speed of any LFSR is determined by the performance of the respective elements comprising the generator. In particular, an XOR feedback network may introduce significant delays if an LFSR features a large number of feedback taps. The patent proposes the use of a number of LFSRs connected in parallel fashion and operated at lower clock speed, wherein the actual output signals are produced on the multiplex basis. However, this architecture has much larger area overhead than typical LFSRs and its performance is still limited by multiplexers in the output function.
U.S. Pat. No. 5,412,665 describes another parallel-operation high-speed test pattern generation and test response compaction implemented by means of low-speed components. It utilizes a number of flip-flops and connected combinational logic networks. Each network provides a pseudo-random pattern which is output in parallel, thereby creating a high-speed data flow with an increased area of the circuitry.
U.S. Pat. No. 5,466,683 describes a programmable LFSR that produces pseudo-random patterns having a variable characteristic polynomial. Its sequence generator is driven by applying appropriate control signals in such a way that a given control signal has a value of 1 if the corresponding term of the characteristic polynomial has a coefficient of 1. Consequently, the proposed scheme places an XOR gate and associated two-way multiplexer in the front of each LFSR stage, thus incurring significant area overhead. A similar architecture of a programmable LFSR with a provision for an initialization circuitry is given in U.S. Pat. No. 5,090,035.
U.S. Pat. No. 5,790,626 describes a bi-directional LFSR employing latches having dual (forward and reverse) inputs. This LFSR can generate both state trajectories: the forward sequence of patterns, and the reverse one corresponding to an original feedback polynomial and its reciprocal counterpart, respectively. The register features two different linear feedback networks that operate exclusively at a time, but can intermix forward and reverse steps, thus allowing the vector generation process to follow the native sequence of the LFSR in both directions at any time. A similar concept is also disclosed in the U.S. Pat. No. 5,719,913, where the XOR gates in the feedback network are driven by multiplicity of two-way multiplexers.
None of these prior attempts, however, provides an optimal solution to the performance limitations noted above and found in presents LFSMs.
In one aspect of the invention, a method for synthesizing a linear feedback shift register (LFSR) includes the following steps. An original linear finite state machine circuit is obtained, the circuit including a plurality of memory elements and linear logic gates and capable of generating an output sequence. Feedback connections in the original circuit are determined, a feedback connection spanning a number of memory elements and including a source tap and destination tap connected by an associated feedback connection line. The source and destination taps of one or more of the feedback connection are then shifted across a number of memory elements in the same direction. These shifts transform the original circuit to a modified linear finite state machine circuit that is capable of providing the same output sequence as the original circuit, but with fewer levels of logic and a lower internal fan-out.
In another aspect of the invention, a method for synthesizing a linear finite state machine includes the following steps. An original linear finite state machine circuit is obtained, the circuit including a plurality of memory elements and linear logic gates and capable of generating an output sequence. At least first and second feedback connections in the original circuit are determined, each feedback connection spanning a number of memory elements and including a source tap and destination tap connected by an associated feedback connection line, the destination tap including a destination linear logic gate. The source and destination taps of the feedback connections are then shifted relative to one another such that the destination tap of the first feedback and the source tap of the second feedback connection cross. Another feedback connection line is then added between a source tap of the first feedback connection and a destination linear logic gate at a destination tap of the second feedback connection. These shifts and additional feedback line transform the original circuit to a modified linear finite state machine circuit that is capable of providing the same output sequence as the original circuit.
In another aspect of the invention, a linear finite state machine circuit comprises a plurality of memory elements and linear logic gates, wherein fan-out within the circuit is no greater than two and the number of level of linear logic within the circuit is no greater than one.
These and other aspects of the invention are described in further detail below, which description refers to the following drawings.
In the exemplary embodiments shown and described herein, methods for synthesizing LFSMs in accordance with the invention are implemented in software stored on a computer-readable medium and executed on a general-purpose computer system. Such a computer system is represented by block 18 in
The actions carried out by the above LFSR transformations are described more generally in
Transformations EL and ER can be extended to handle cases in which a destination gate (or a source tap) of a feedback connection being moved crosses another destination gate (or source tap), respectively. Examples of these situations are illustrated in
Transformation SDL is illustrated in
Transformation SDR is shown in
Transformation DSL is shown in
Transformation DSR is shown in
The transformations described (EL, ER, SDL, SDR, DSL, DSR) can be utilized one or more times in synthesizing a LFSM. They can also be combined with other transformations in a synthesis. Examples of these possible applications are described below. The architecture of the modified linear finite state machine that can be obtained from these transformations is characterized by an internal fan-out no greater than two, no more than one level of linear logic gates, and short feedback connection lines.
An LFSR can also be synthesized from other types of LFSMs. For example, the modified LFSR shown of
Having illustrated and described the principles of the invention in exemplary embodiments, it should be apparent to those skilled in the art that the illustrative embodiments can be modified in arrangement and detail without departing from such principles. For example, the invention may be practiced without the assistance of a computer if desired, so long as its application produces a useful, concrete, and tangible result. The invention can be used for synthesizing LFSMs other than LFSRs and cellular automata. In view of the many possible embodiments to which the principles of the invention may be applied, it should be understood that the illustrative embodiments are intended to teach these principles and not to limit the scope of the invention. We therefore claim as our invention all that comes within the scope and spirit of the following claims and their equivalents.
This application is a continuation of U.S. application Ser. No. 10/346,699, filed Jan. 16, 2003, now U.S. Pat. No. 6,708,192 B2, which is a continuation of U.S. application Ser. No. 09/957,701, filed Sep. 18, 2001, now U.S. Pat. No. 6,539,409 B2, which is a continuation of U.S. application Ser. No. 09/620,023, filed Jul. 20, 2000, now U.S. Pat. No. 6,353,842 B1, which claims the benefit of U.S. Provisional Application No. 60/167,445, filed Nov. 23, 1999.
Number | Name | Date | Kind |
---|---|---|---|
3614400 | Farnett | Oct 1971 | A |
3700869 | Low et al. | Oct 1972 | A |
4161041 | Butler et al. | Jul 1979 | A |
4320509 | Davidson | Mar 1982 | A |
4503537 | McAnney | Mar 1985 | A |
4513418 | Bardell, Jr. et al. | Apr 1985 | A |
4536881 | Kasuya | Aug 1985 | A |
4602210 | Fasang et al. | Jul 1986 | A |
4687988 | Eichelberger et al. | Aug 1987 | A |
4754215 | Kawai | Jun 1988 | A |
4785410 | Hamatsu et al. | Nov 1988 | A |
4801870 | Eichelberger et al. | Jan 1989 | A |
4860236 | McLeod et al. | Aug 1989 | A |
4959832 | Bardell, Jr. | Sep 1990 | A |
4974184 | Avra | Nov 1990 | A |
5072178 | Matsumoto | Dec 1991 | A |
5090035 | Murase | Feb 1992 | A |
5138619 | Fasang et al. | Aug 1992 | A |
5167034 | MacLean, Jr. et al. | Nov 1992 | A |
5173906 | Dreibelbis et al. | Dec 1992 | A |
5202889 | Aharon et al. | Apr 1993 | A |
5258986 | Zerbe | Nov 1993 | A |
5268949 | Watanabe | Dec 1993 | A |
5301199 | Ikenaga et al. | Apr 1994 | A |
5325367 | Dekker et al. | Jun 1994 | A |
5349587 | Nadeau-Dostie et al. | Sep 1994 | A |
5369648 | Nelson | Nov 1994 | A |
5394405 | Savir | Feb 1995 | A |
5412665 | Gruodis et al. | May 1995 | A |
5414716 | Bershteyn | May 1995 | A |
5416783 | Broseghini et al. | May 1995 | A |
5446683 | Mullen et al. | Aug 1995 | A |
5450414 | Lin | Sep 1995 | A |
5524114 | Peng | Jun 1996 | A |
5533128 | Vobach | Jul 1996 | A |
5574733 | Kim | Nov 1996 | A |
5586125 | Warner | Dec 1996 | A |
5592493 | Crouch et al. | Jan 1997 | A |
5608870 | Valiant | Mar 1997 | A |
5612963 | Koenemann et al. | Mar 1997 | A |
5614838 | Jaber et al. | Mar 1997 | A |
5617531 | Crouch et al. | Apr 1997 | A |
5631913 | Maeda | May 1997 | A |
5642362 | Savir | Jun 1997 | A |
5680543 | Bhawmik | Oct 1997 | A |
5694402 | Butler et al. | Dec 1997 | A |
5701308 | Attaway et al. | Dec 1997 | A |
5717701 | Angelotti et al. | Feb 1998 | A |
5717702 | Stokes et al. | Feb 1998 | A |
5719913 | Maeno | Feb 1998 | A |
5748497 | Scott et al. | May 1998 | A |
5790562 | Murray et al. | Aug 1998 | A |
5790626 | Johnson et al. | Aug 1998 | A |
5812561 | Giles et al. | Sep 1998 | A |
5831992 | Wu | Nov 1998 | A |
5848198 | Penn | Dec 1998 | A |
5867507 | Beebe et al. | Feb 1999 | A |
5870476 | Fischer | Feb 1999 | A |
5872793 | Attaway et al. | Feb 1999 | A |
5883906 | Turnquist et al. | Mar 1999 | A |
5899961 | Sundermann | May 1999 | A |
5905986 | Rohrbaugh et al. | May 1999 | A |
5938784 | Kim | Aug 1999 | A |
5974179 | Caklovic | Oct 1999 | A |
5974433 | Currie | Oct 1999 | A |
5983380 | Motika et al. | Nov 1999 | A |
5991898 | Rajski et al. | Nov 1999 | A |
5991909 | Rajski et al. | Nov 1999 | A |
6006349 | Fujisaki | Dec 1999 | A |
6014763 | Dhong et al. | Jan 2000 | A |
6026508 | Craft | Feb 2000 | A |
6041429 | Koenemann | Mar 2000 | A |
6055658 | Jaber et al. | Apr 2000 | A |
6061818 | Touba et al. | May 2000 | A |
6072823 | Takakusaki | Jun 2000 | A |
6122761 | Park | Sep 2000 | A |
6141669 | Carleton | Oct 2000 | A |
6158032 | Currier et al. | Dec 2000 | A |
6178532 | Pierce et al. | Jan 2001 | B1 |
6181164 | Miller | Jan 2001 | B1 |
6199182 | Whetsel | Mar 2001 | B1 |
6240432 | Chuang et al. | May 2001 | B1 |
6256759 | Bhawmik | Jul 2001 | B1 |
6272653 | Amstutz | Aug 2001 | B1 |
6286119 | Wu et al. | Sep 2001 | B1 |
6300885 | Davenport et al. | Oct 2001 | B1 |
6308291 | Kock et al. | Oct 2001 | B1 |
6327687 | Rajski et al. | Dec 2001 | B1 |
6330681 | Cote et al. | Dec 2001 | B1 |
6353842 | Rajski et al. | Mar 2002 | B1 |
6385750 | Kapur et al. | May 2002 | B1 |
6467058 | Chakradhar et al. | Oct 2002 | B1 |
6539409 | Rajski et al. | Mar 2003 | B2 |
6543020 | Rajski et al. | Apr 2003 | B2 |
6557129 | Rajski et al. | Apr 2003 | B1 |
6590929 | Williams | Jul 2003 | B1 |
6684358 | Rajski et al. | Jan 2004 | B1 |
6708192 | Rajski et al. | Mar 2004 | B2 |
6763488 | Whetsel | Jul 2004 | B2 |
6829740 | Rajski et al. | Dec 2004 | B2 |
6874109 | Rajski et al. | Mar 2005 | B1 |
20020112199 | Whetsel | Aug 2002 | A1 |
20020124217 | Hiraide et al. | Sep 2002 | A1 |
20030120988 | Rajski et al. | Jun 2003 | A1 |
20030131298 | Rajski et al. | Jul 2003 | A1 |
20040128599 | Rajski et al. | Jul 2004 | A1 |
20050015688 | Rajski et al. | Jan 2005 | A1 |
20050097419 | Rajski et al. | May 2005 | A1 |
Number | Date | Country |
---|---|---|
0372226 | Jun 1990 | EP |
0438322 | Jul 1991 | EP |
0481097 | Apr 1992 | EP |
0 549 949 | Mar 1998 | EP |
0887930 | Dec 1998 | EP |
63-286780 | Nov 1988 | JP |
01-239486 | Sep 1989 | JP |
03-002579 | Jan 1991 | JP |
03-012573 | Jan 1991 | JP |
4-236378 | Aug 1992 | JP |
05-215816 | Aug 1993 | JP |
05-249197 | Sep 1993 | JP |
07-174822 | Jul 1995 | JP |
08-015382 | Jan 1996 | JP |
9-130378 | May 1997 | JP |
11-030646 | Feb 1999 | JP |
11-153655 | Jun 1999 | JP |
11-264860 | Sep 1999 | JP |
WO 9110182 | Jul 1991 | WO |
WO 0138889 | May 2001 | WO |
WO 0139254 | May 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20040172431 A1 | Sep 2004 | US |
Number | Date | Country | |
---|---|---|---|
60167445 | Nov 1999 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10346699 | Jan 2003 | US |
Child | 10781031 | US | |
Parent | 09957701 | Sep 2001 | US |
Child | 10346699 | US | |
Parent | 09620023 | Jul 2000 | US |
Child | 09957701 | US |