State machine in a programmable logic device

Electronic digital logic circuitry – Multifunctional or programmable – Sequential or with flip-flop

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C326S038000

Reexamination Certificate

active

06803787

ABSTRACT:

TECHNICAL FIELD
The present invention relates to programmable circuits. More particularly, the present invention relates to state machines in programmable logic devices.
BACKGROUND
Non-volatile memory devices, such as EPROM, EEPROM, and Flash EEPROM, store data even after power is turned off. One common application of EEPROMs is in programmable logic devices (PLDs). PLDs are standard semiconductor components purchased by systems manufacturers in a “blank” state that can be custom configured into a virtually unlimited number of specific logic functions. PLDs provide system designers with the ability to quickly create custom logic functions to provide product differentiation without sacrificing rapid time to market. PLDs may be reprogrammable, meaning that the logic configuration can be modified after the initial programming.
One type of PLD is known as a Field-Programmable Gate Array (FPGA). An FPGA is a general purpose device that can be programmed by an end user to perform one or more selected functions. An FPGA typically includes an array of individually programmable logic cells (PLCs), each of which is programmably interconnected to other PLCs and to input/output (I/O) pins via a programmable routing structure to provide the selected function. Examples of such devices are exemplified in U.S. Pat. Nos. 4,642,487; 4,706,216; and 4,758,985.
An FPGA device can be characterized as an integrated circuit that may include four major features:
(1) A user-accessible, configurable memory device, such as SRAM, EPROM, EEPROM, anti-fused, fused, or other, is provided in the FPGA device so as to be at least once-programmable by device users for defining user-provided configuration information. Static Random Access Memory or SRAM is a form of reprogrammable memory that may be differently programmed many times. Electrically Erasable programmable ROM or EEPROM is another example of nonvolatile reprogrammable memory. The configurable memory of an FPGA device may be formed of a mixture of different kinds of memory elements if desired (e.g., SRAM and EEPROM).
(2) Input/Output Blocks (IOBs) are provided for interconnecting other internal circuit components of the FPGA device with external circuitry. The IOBs may have fixed configurations or they may be configurable in accordance with user-provided configuration information.
(3) PLCs are provided for carrying out user-programmed logic functions (e.g., logic gates) as defined by user-provided configuration information. Typically, each of the many PLCs of an FPGA has at least one lookup table (LUT) that is user-configurable to define any desired truth table. A PLC may have other resources such as LUT input signal pre-processing resources and LUT output signal post-processing resources.
(4) An interconnect network is provided for carrying signal traffic within the FPGA device between various PLCs and/or between various IOBs and/or between various IOBs and PLCs. At least part of the interconnect network is typically configurable so as to allow for programmably-defined routing of signals between various PLCs and/or IOBs in accordance with user-defined routing information.
Using these features, traditional FPGA architectures implement state machines by using the LUT-based logic elements in a decoding structure and as register storage elements. The state machine typically includes multiple states that are cycled through based on input signals. Typically, every clock cycle, the state of the input signals dictates whether the state machine maintains its current state or changes to a new state. Although state machines may be easily constructed in an FPGA, as the state machine grows large, performance begins to suffer as logic elements invariably get located at greater distances apart, thereby slowing propagation times. Additionally, such state machines consume a lot of area.
Thus, it is desirable to provide a PLD that can free PLC resources while increasing overall functionality. It is also desirable to implement an efficient state machine within a PLD.
SUMMARY
A PLD is disclosed that includes a state machine integrated into a block memory. The state machine includes state machine logic and memory elements from the block memory. The state machine logic and memory elements together may be used as an instruction unit of a processor. In such a case, the instruction unit functions as a counter, instruction store, and possibly a decode that is coupled to a processor execution unit to form a high-performance, embedded processor.
In one aspect, the state machine logic includes a program counter and an adder coupled to memory elements within the block memory.
In another aspect, control logic may be added to the state machine to receive state machine inputs and to determine the next state of the state machine.
In another aspect, the state machine may further include a stack pointer that is used to implement a stack within the block memory.
In yet another aspect, the state machine allows for implementing certain classes of instructions, such as jumps, branches and calls. Additionally, processor interrupts can be handled within the memory block.
These and other aspects will become apparent from the following detailed description, which makes reference to the accompanying drawings.


REFERENCES:
patent: 4642487 (1987-02-01), Carter
patent: 4663545 (1987-05-01), Pumo et al.
patent: 4706216 (1987-11-01), Carter
patent: 4758985 (1988-07-01), Carter
patent: 5646544 (1997-07-01), Iadanza
patent: 5650734 (1997-07-01), Chu et al.
patent: 5705938 (1998-01-01), Kean
patent: 5754459 (1998-05-01), Telikepalli
patent: 5825199 (1998-10-01), Shelton et al.
patent: 5869980 (1999-02-01), Chu et al.
patent: 6011407 (2000-01-01), New
patent: 6259271 (2001-07-01), Couts-Martin et al.
patent: 6362650 (2002-03-01), New et al.
“Stratix: Programmable Logic Device Family,” Altera Corporation, Aug. 2002, Ver. 2.1 Data Sheet.
“Silicon,” Xilinx Products website, http://www.xilinx.c m/xlnx/xil_pr dc t_pr duct.jsp?title+silic n, printed Sep. 16, 2002, 3 pages.
Chameleon Systems — Your Communication Platform; from website www.chameleonsystems.com, 5 pages, Mar. 4, 2002.
“Tool suite supports reconfigurable processor” article by Richard Goering; published inEE Timeson Aug. 14, 2001, 6 pages.
Xilinx Home; Virtex-II Pro Platform FPGAs; The Platform for Programmable Systems; from website www.xilinx.com, 3 pages, Sep. 16, 2002.
Xilinx Home; PowerPC Embedded Processor Solution; from website www.xilinx.com, 2 pages, Mar. 4, 2002.
Xilinx Home; The First Platform FPGA Solution; from website www.xilinx.com, 2 pages, Mar. 4, 2002.
Xilinx Home; Virtex-II Platform FPGA Features; from website www.xilinx.com, 3 pages, Mar. 4, 2002.
QuickLogic Home; QuickRAM, Dual-Port Embedded RAM for Extremely High Performance Functions; from website www.quicklogic.com, 3 pages, Mar. 4, 2002.
QuickLogic Home; QuickDSP, Embedded DSP Building Blocks for High-Performance, Complex DSP Designs; from website www.quicklogic.com, 2 pages, Mar. 4, 2002.
QuickLogic Home; Eclipse, High Performance FPGAs with Enhanced Logic Supercell; from website www.quicklogic.com, 3 pages, Mar. 4, 2002.
“Re-configurable High Speed Arithmetic Functions in a Non-Volatile FPGA”, written by Rufino T. Olay III, Customer Engineer at QuickLogic, 6 pages, Mar. 4, 2002.
High Performance Multipliers in QuickLogic FPGAs, written by John Birkner, Jim Jian and Kevin Smith of QuickLogic, 9 pages, Mar. 4, 2002.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

State machine in a programmable logic device does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with State machine in a programmable logic device, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and State machine in a programmable logic device will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3313866

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.