Electronic digital logic circuitry – Multifunctional or programmable – Array
Reexamination Certificate
2001-09-28
2004-09-28
Tan, Vibol (Department: 2819)
Electronic digital logic circuitry
Multifunctional or programmable
Array
C326S038000, C326S041000, C716S030000
Reexamination Certificate
active
06798239
ABSTRACT:
TECHNICAL FIELD OF THE INVENTION
This invention relates generally to programmable gate arrays and in particular to embedding fixed logic circuits within such programmable gate arrays.
BACKGROUND OF THE INVENTION
Programmable devices are a class of general-purpose integrated circuits that can be configured for a wide variety of applications. Such programmable devices have two basic versions, mask programmable devices, which are programmed only by a manufacture, and field programmable devices, which are programmable by the end user. In addition, programmable devices can be further categorized as programmable memory devices or programmable logic devices. Programmable memory devices include programmable read only memory (PROM), erasable programmable read only memory (EPROM) and electronically erasable programmable read only memory (EEPROM). Programmable logic devices include programmable logic array (PLA) devices, programmable array logic (PAL) devices, erasable programmable logic devices (EPLD) devices, and programmable gate arrays (PGA).
Field programmable gate arrays (FPGA) have become very popular for telecommunication applications, Internet applications, switching applications, routing applications, and a variety of other end user applications.
FIG. 1
illustrates a generic schematic block diagram of a field programmable gate array (FPGA)
10
. The FPGA
10
includes programmable logic fabric
12
(containing programmable logic gates and programmable interconnects) and programmable input/output blocks
14
. The programmable input/output blocks
14
are fabricated on a substrate supporting the FPGA
10
and are coupled to the pins of the integrated circuit, allowing users to access the programmable logic fabric
12
. The programmable logic fabric
12
may be programmed to perform a wide variety of functions corresponding to particular end user applications. The programmable logic fabric
12
may be implemented in a variety of ways. For example, the programmable logic fabric
12
may be implemented in a symmetric array configuration, a row-based configuration, a column-based configuration, a sea-of-gates configuration, or a hierarchical programmable logic device configuration.
FIG. 2
illustrates the programmable logic fabric
12
implemented in accordance with a symmetrical array configuration. As shown, a plurality of logic blocks
16
is configured as an array of rows and columns. Each of the plurality of logic blocks
16
may be programmed by the end user to perform a specific logic function. More complex logic functions may be obtained by interconnecting individually programmed logic blocks using a plurality of programmable interconnections
18
. Accordingly, between each of the logic blocks of each row and each column are programmable interconnections
18
.
The programmable interconnections
18
provide the selective connectivity between the logic blocks of the array of logic blocks
16
as well as between the logic blocks and the programmable input/output blocks
14
. The programmable interconnections
18
may be implemented using any programmable element, including static RAM cell technology, fuse and/or anti-fuse cell technologies, EPROM transistor technology, and/or EEPROM transistor technology. If the FPGA utilizes static RAM programmable connections, the connections can be made using a variety of components, including pass transistors, transmission gates, and/or multiplexors that are controlled by the static RAM cells. If the FPGA utilizes anti-fuse interconnections, the interconnections typically reside in a high impedance state and can be reprogrammed into a low impedance, or fused, state to provide the selective connectivity. If the FPGA utilizes EPROM or EEPROM based interconnections, the interconnection cells may be reprogrammed, thus allowing the FPGA to be reconfigured.
FIG. 3
illustrates a schematic block diagram of the programmable logic fabric
12
being implemented as a row based configuration. In this configuration, the programmable logic fabric
12
includes a plurality of logic blocks
16
arranged in rows. Between each row of the logic blocks are programmable interconnections
18
. The interconnections may be implementing utilizing any programmable storage elements, including RAMs (static, dynamic and NVRAM), fuse and/or anti-fuse technologies, EPROM technology, and/or EEPROM technology.
FIG. 4
illustrates a schematic block diagram of the programmable logic fabric
12
being implemented as a column-based configuration. Logic blocks
16
and programmable interconnections
18
in
FIGS. 3 and 4
are substantially similar.
FIG. 5
illustrates the programmable logic fabric
12
being implemented as a hierarchical programmable logic device. In this implementation, the programmable logic fabric
12
includes programmable logic device blocks
22
and programmable interconnections
18
. As shown, four programmable logic block devices
22
are in the corners with an interconnection block
18
in the middle of the logic device blocks. In addition, the interconnections include lines coupling the programmable logic device blocks
22
to the interconnection block
18
.
As is known, field programmable gate arrays allow end users the flexibility of implementing custom integrated circuits while avoiding the initial cost, time delay and inherent risk of application specific integrated circuits (ASIC). While FPGAs have these advantages, there are some disadvantages. For instance, an FPGA programmed to perform a similar function as implemented in an ASIC can require more die area than the ASIC. Further, the performance of a design using a FPGA may in some cases be lower than that of a design implemented using an ASIC.
One way to mitigate these disadvantages is to embed into an FPGA certain commonly used complex functions as fixed logic circuits. Therefore, a need exists for a programmable gate array that includes embedded fixed logic circuits yet retains programmable components.
REFERENCES:
patent: 4758985 (1988-07-01), Carter
patent: 4855669 (1989-08-01), Mahoney
patent: 5072418 (1991-12-01), Boutaud et al.
patent: 5142625 (1992-08-01), Nakai
patent: RE34363 (1993-08-01), Freeman
patent: 5274570 (1993-12-01), Izumi et al.
patent: 5311114 (1994-05-01), Sambamurthy et al.
patent: 5339262 (1994-08-01), Rostoker et al.
patent: 5347181 (1994-09-01), Ashby et al.
patent: 5361373 (1994-11-01), Gilson
patent: 5457410 (1995-10-01), Ting
patent: 5473267 (1995-12-01), Stansfield
patent: 5500943 (1996-03-01), Ho et al.
patent: 5504738 (1996-04-01), Sambamurthy et al.
patent: 5537601 (1996-07-01), Kimura et al.
patent: 5543640 (1996-08-01), Sutherland et al.
patent: 5550782 (1996-08-01), Cliff et al.
patent: 5552722 (1996-09-01), Kean
patent: 5574930 (1996-11-01), Halverson, Jr. et al.
patent: 5574942 (1996-11-01), Colwell et al.
patent: 5581745 (1996-12-01), Muraoka
patent: 5600845 (1997-02-01), Gilson
patent: 5652904 (1997-07-01), Trimberger
patent: 5671355 (1997-09-01), Collins
patent: 5705938 (1998-01-01), Kean
patent: 5732250 (1998-03-01), Bates et al.
patent: 5737631 (1998-04-01), Trimberger
patent: 5740404 (1998-04-01), Baji
patent: 5742179 (1998-04-01), Sasaki
patent: 5742180 (1998-04-01), DeHon et al.
patent: 5748979 (1998-05-01), Trimberger
patent: 5752035 (1998-05-01), Trimberger
patent: 5760607 (1998-06-01), Leeds et al.
patent: 5809517 (1998-09-01), Shimura
patent: 5825202 (1998-10-01), Tavana et al.
patent: 5835405 (1998-11-01), Tsui et al.
patent: 5874834 (1999-02-01), New
patent: 5889788 (1999-03-01), Pressly et al.
patent: 5892961 (1999-04-01), Trimberger
patent: 5914616 (1999-06-01), Young et al.
patent: 5914902 (1999-06-01), Lawrence et al.
patent: 5933023 (1999-08-01), Young
patent: 5970254 (1999-10-01), Cooke et al.
patent: 6011407 (2000-01-01), New
patent: 6020755 (2000-02-01), Andrews et al.
patent: 6026481 (2000-02-01), New et al.
patent: 6096091 (2000-08-01), Hartmann
patent: 6154051 (2000-11-01), Nguyen et al.
patent: 6163166 (2000-12-01), Bielby et al.
patent: 6172990 (2001-01-01), Deb et al.
patent: 6178541 (2001-01-01), Joly et al.
patent: 6181163
Douglass Stephen M.
Herron Nigel G.
Sowards Jane W.
Vashi Mehul R.
Young Steven P.
Chan H. C.
Liu Justin
Markison Timothy W.
Tan Vibol
Xilinx , Inc.
LandOfFree
Programmable gate array having interconnecting logic to... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Programmable gate array having interconnecting logic to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Programmable gate array having interconnecting logic to... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3196933