| Publication number | US6820248 B1 | | Publication type | Grant | | Application number | 10/075,178 | | Publication date | 16 Nov 2004 | | Filing date | 14 Feb 2002 | | Priority date | 14 Feb 2002 | |
| Inventors | | | Original Assignee | | |
| U.S. Classification | | | International Classification | | | Cooperative Classification | | | European Classification | | |
| References | | | |
| External Links | | |
Method and apparatus for routing interconnects to devices with dissimilar pitches US 6820248 B1 Method for configuring a routing program for routing connections between an integrated circuit device and an embedded core is described. More particularly, horizontal and a vertical pitch are obtained for the integrated circuit device and the embedded core. A horizontal or a vertical pitch is selected from the embedded core to define pitch for the integrated circuit device to accommodate difference in pitch between the two. Additionally, an integrated circuit having interconnect layers using this compromise pitch are described.
What is claimed is:
1. A method for configuring a routing program for routing connections between an integrated circuit device and an embedded core, comprising:
obtaining a first horizontal pitch and a first vertical pitch for one of the integrated circuit device and the embedded core;
obtaining a second horizontal pitch and a second vertical pitch for the other of the integrated circuit device and the embedded core, the first vertical pitch and the second vertical pitch being different;
inputting a first connection layer input to the routing program, the first connection layer input including the first vertical pitch and a horizontal direction; and
inputting a second connection layer input to the routing program, the second connection layer input including the second horizontal pitch and a vertical direction.
2. The method of claim 1 wherein the one of the integrated circuit device and the embedded core is a programmable logic device.
3. The method of claim 2 wherein the other of the integrated circuit device and the embedded core is a microprocessor core.
4. The method of claim 3 wherein the programmable logic device is a field programmable gate array.
5. The method of claim 4 wherein the field programmable gate array and the microprocessor core are formed as separate integrated circuits which are interconnected, the field programmable gate array having a first plurality of metal layers, the microprocessor core having a second plurality of metal layers, at least one layer of the first plurality of metal layers having the first horizontal pitch and the first vertical pitch, and at least one layer of the second plurality of metal layers having the second horizontal pitch and the second vertical pitch.
6. A method for configuring a routing program for routing to an integrated circuit device having an embedded core, comprising:
providing a first horizontal pitch and a first vertical pitch for one of the integrated circuit device and the embedded core;
providing a second horizontal pitch and a second vertical pitch for the other of the integrated circuit device and the embedded core, the first horizontal pitch and the second horizontal pitch being different;
inputting a first connection layer input to the routing program, the first connection layer input including the first horizontal pitch and a vertical direction; and
inputting a second connection layer input to the routing program, the second connection layer input including the second vertical pitch and a horizontal direction.
7. The method of claim 6 wherein the one of the integrated circuit device and the embedded core is a programmable logic device.
8. The method of claim 7 wherein the other of the integrated circuit device and the embedded core is a microprocessor core.
9. The method of claim 8 wherein the programmable logic device is a field programmable gate array.
10. The method of claim 9 wherein the field programmable gate array and the microprocessor core are formed as separate integrated circuits which are interconnected, the field programmable gate array having a first plurality of metal layers, the microprocessor core having a second plurality of metal layers, at least one layer of the first plurality of metal layers having the first horizontal pitch and the first vertical pitch, and at least one layer of the second plurality of metal layers having the second horizontal pitch and the second vertical pitch.
11. An integrated circuit device, comprising:
a first device coupled to a second device;
the first device comprising a first horizontal pitch and a first vertical pitch;
the second device comprising a second horizontal pitch and a second vertical pitch; and
at least one interconnect layer for coupling the first device and the second device, the interconnect layer comprising a set of pitches selected from:
(i) the first vertical pitch and the second horizontal pitch; and
(ii) the first horizontal pitch and the second vertical pitch.
12. The integrated circuit device of claim 11 further comprising a plurality of logic blocks for interconnecting the first device and the second device.
13. The integrated circuit of claim 12 wherein the first device is a programmable logic device.
14. The integrated circuit of claim 13 wherein the programmable logic device is a field programmable gate array.
15. The integrated circuit of claim 13 wherein the second device is a microprocessor core.
16. The integrated circuit of claim 15 wherein the microprocessor core is embedded in the programmable logic device.
17. The integrated circuit of claim 16 wherein the programmable logic device comprises more metal interconnect layers than the microprocessor core.
18. The integrated circuit of claim 11 wherein the second device comprises a plurality of pins for interconnection thereto.
19. The integrated circuit of claim 11 wherein the interconnect layer was routed using a routing program having as inputs the set of pitches.
20. The integrated circuit of claim 19 wherein the set of pitches is divided for input to the routing program, wherein one pitch in the set of pitches is for one metal layer and the other pitch in the set of pitches is for another metal layer.
21. A system, comprising:
an external memory circuit having one or more configuration data output terminals; and
a programmable logic device (PLD), the PLD comprising:
a programmable logic portion having a first vertical pitch and a first horizontal pitch;
an internal configuration memory having one or more configuration data input terminals coupled to the configuration data output terminals of the external memory circuit, and further having output terminals coupled to the programmable logic portion of the PLD;
an embedded core having a second vertical pitch and a second horizontal pitch, wherein the first vertical pitch and the second vertical pitch are different; and
a first interconnect layer coupled between the programmable logic portion of the PLD and the embedded core, the first interconnect layer having a set of pitches selected from:
(i) the first vertical pitch and the second horizontal pitch; and
(ii) the first horizontal pitch and the second vertical pitch.
22. The system of claim 21, wherein the external memory circuit comprises one of a group of integrated circuits comprising: an EEPROM, an EPROM, and a PROM.
23. The system of claim 21, wherein the programmable logic portion of the PLD is a field programmable gate array (FPGA).
24. The system of claim 21, wherein the embedded core is a microprocessor.
25. The system of claim 21, wherein the interconnect layer was routed using a routing program having as an input the set of pitches.
26. The system of claim 25, wherein the PLD comprises a second interconnect layer coupled between the programmable logic portion of the PLD and the embedded core.
27. The system of claim 26, wherein the set of pitches is divided for input to the routing program, wherein one pitch in the set of pitches is used for the first interconnect layer and the other pitch in the set of pitches is used for the second interconnect layer.
28. The system of claim 21, wherein the first horizontal pitch and the second horizontal pitch are also different.
FIELD OF THE INVENTION The present invention relates generally to routing for devices with different pitch, and more particularly to routing of a core embedded in a programmable logic device where the core comprises a different pitch than the programmable logic device.
BACKGROUND OF THE INVENTION Programmable logic devices exist as a well-known type of integrated circuit that may be programmed by a user to perform specified logic functions. There are different types of programmable logic devices, such as programmable logic arrays (PLAs) and complex programmable logic devices (CPLDs). One type of programmable logic devices, called a field programmable gate array (FPGA), is very popular because of a superior combination of capacity, flexibility and cost.
An FPGA typically includes an array of configurable logic blocks (CLBs) surrounded by a ring of programmable input/output blocks (IOBs). The CLBs and IOBs are interconnected by a programmable interconnect structure. The CLBs, IOBs, and interconnect structure are typically programmed by loading a stream of configuration data (bitstream) into internal configuration memory cells that define how the CLBs, IOBs, and interconnect structure are configured. The configuration bitstream may be read from an external memory, conventionally an external integrated circuit memory EEPROM, EPROM, PROM, and the like, though other types of memory may be used. The collective states of the individual memory cells then determine the function of the FPGA.
A recent development in FPGA technology involves providing FPGAs comprising a plurality of what are known as “standard cells.” These “standard cells” are provided inside an FPGA as functional blocks and have a set height. Notably, the term “standard cell” is not to imply that any standard, de facto or otherwise, exists, as standard cell size may vary from company to company. So, for example, logic blocks, such as a flip-flop, a NAND gate, and an inverter, among other well-known logic circuits, each will lay out with a same height, but may have different lengths. This height is conventionally dependent on pitch of a company's integrated circuit process for one or more interconnect or metal layers. A standard cell may be made up of several logic blocks, each with a same height, but possibly with different lengths. Thus, each standard cell will have a same height but may have varying lengths. Standard cells may be assembled for providing interconnectivity logic or “glue logic.” Thus, an FPGA may be connected to an embedded device to carry out complex tasks.
However, an embedded device or core may not have the same layout pitch as an FPGA. Moreover, FPGA exclusive routing over an embedded core further complicates routing to an embedded core. A placement and routing database used by a routing program creates routing for connecting an FPGA to an embedded core. However, non-equivalent pitch between such an FPGA and embedded core causes design rule violations. These design rule violations heretofore were addressed by manual re-routing. However, checking a design for such violations and manually re-routing can delay production by one or more months depending on complexity and number of connections between the FPGA and embedded core.
Accordingly, it would be desirable and useful to provide a layout rules for implementation in a placement and routing database that would reduce design rule violations owing to differences in pitch between an FPGA and an embedded core.
SUMMARY OF THE INVENTION An aspect of the present invention is a method for configuring a routing program for routing connections between an integrated circuit device and an embedded core. More particularly, a first horizontal pitch and a first vertical pitch is obtained for one of the integrated circuit device and the embedded core, and a second horizontal pitch and a second vertical pitch is obtained for the other of the integrated circuit device and the embedded core, where the first vertical pitch and the second vertical pitch are not equal. A first connection layer input, including, but not limited to, the first vertical pitch and a horizontal direction, is provided to the routing program, and a second connection layer input, including, but not limited to, the second horizontal pitch and a vertical direction, is provided to the routing program.
An aspect of the present invention is an integrated circuit device comprising a first device coupled to a second device. The first device comprises a first horizontal pitch and a first vertical pitch. The second device comprises a second horizontal pitch and a second vertical pitch. At least one interconnect layer is for coupling the first device and the second device. The interconnect layer comprises a set of pitches selected from: (i) the first vertical pitch and the second horizontal pitch, and (ii) the first horizontal pitch and the second vertical pitch.
BRIEF DESCRIPTION OF THE DRAWINGS So that the manner in which the above recited features, advantages and objects of the present invention are attained and can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to the embodiments thereof which are illustrated in the appended drawings.
It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the present invention may admit to other equally effective embodiments.
FIG. 1 is a block diagram of an exemplary embodiment of an integrated circuit comprising an FPGA, standard cells for glue logic and a microprocessor core in accordance with one or more aspects of the present invention.
FIG. 2 is a block diagram of an exemplary embodiment of integrated circuit device cores are formed on a semiconductor wafer of the prior art.
FIGS. 3A and 3B are line diagrams of respective exemplary portions of interconnect layers from the FPGA and the microprocessor core of FIG. 1.
FIG. 4 is a cross-sectional diagram of exemplary portions of the FPGA and the microprocessor core of FIG. 1.
FIG. 5 is a line diagram of an exemplary portion of an interconnect layer from the FPGA of FIG. 1 in accordance with an aspect of the present invention.
FIG. 6 is a cross-sectional diagram of an exemplary portion of the FPGA and the microprocessor core of FIG. 1.
FIG. 7 is a flow diagram of an exemplary embodiment of a process in accordance with one or more aspects of the present invention
DETAILED DESCRIPTION OF THE DRAWINGS In the following description, numerous specific details are set forth to provide a more thorough understanding of the present invention. However, it will be apparent to one of skill in the art that the present invention may be practiced without one or more of these specific details. In other instances, well-known features have not been described in order to avoid obscuring the present invention.
Referring to FIG. 1, there is shown a block diagram of an exemplary embodiment of an integrated circuit 100 comprising an FPGA 10 and a microprocessor core 20 in accordance with one or more aspects of the present invention. Over FPGA 10 and microprocessor core 20 is grid 14. Grid 14 is shown to indicated that a plurality of metal interconnect lines are used for connecting FPGA 10 circuitry to microprocessor core 20 circuitry. As mentioned above, standard cells 19 may be used to provide glue logic to connect FPGA circuitry 10 and microprocessor core 20 circuitry. Vias or contacts 16 are formed to provide interconnection to desired locations of such circuitry and grid 14. Notably, grid 14 may comprise a plurality of interconnect layers, as described below in more detail.
Microprocessor core 20 comprises a plurality of pins 28. Because pins may be longer than contact pads as indicated by vias 16, there is more longitudinal variability for locating vias 16 to contact such pins 28. Though pins 28 are shown as having a longitudinal or horizontal orientation, they may have a latitudinal or vertical orientation or a combination of both. However, for purposes of clarity of explanation, a horizontal orientation is described.
In an embedded process, a plurality of microprocessor cores 20 is formed on a wafer 25, as shown in the block diagram of FIG. 2. Accordingly, there may be a region 15 between a microprocessor core 20 and an FPGA 10, as shown in FIG. 1, as FPGA 10 may be formed with a different process flow than microprocessor core 20. Region 15 may comprise standard cells 19 formed of one or more logic blocks 18.
FPGA 10 is built proximal to microprocessor core 20 on a same wafer 25 or other substrate member upon which microprocessor core 20 is located. However, owing to differences in processes, microprocessor core 20 may have a different pitch for one or more of its interconnect layers than that of FPGA 10. So, for example, suppose microprocessor core 20 was designed for a 0.13 micron process technology and laid out for a 0.57 micron horizontal and vertical pitch for its interconnect layers. And, suppose for example that FPGA 10 was designed for a 0.18 micron process technology and laid out for a 0.66 micron horizontal pitch and a 0.60 micron vertical pitch. Accordingly, automatic routing from microprocessor core 20 to FPGA 10 would be impracticable owing to design rule violations. To reduce such design rule violations with automatic routing, a neutral or compromise pitch set is employed.
Continuing the above example, reference is made to FIGS. 3A and 3B, where shown are line diagrams of respective exemplary portions of 30 and 31 of interconnect layers from FPGA 10 and microprocessor core 20, respectively, of FIG. 1. Grid portion 30 comprises vertical conductive lines 11 and horizontal conductive lines 12. Spacing between vertical conductive lines 11 is horizontal pitch H1, and spacing between horizontal conductive lines 12 is vertical pitch V1. Grid portion 31 comprises vertical conductive lines 21 and horizontal conductive lines 22. Spacing between vertical conductive lines 21 is horizontal pitch H2, and spacing between horizontal conductive lines 22 is vertical pitch V2. Continuing the above example, H1 and V1 are 0.66 microns and 0.60 microns, respectively, and H2 and V2 are each 0.57 microns.
Referring to FIG. 4, there is shown a cross-sectional diagram of exemplary portions of FPGA 10 and microprocessor core 20 of FIG. 1. FPGA 10 is shown with five interconnect layers 41, 42, 43, 44 and 45, though fewer or more interconnect layers may be used. Microprocessor core 20 is shown with three interconnect layers 51, 52 and 53, though fewer or more interconnect layers may be used. Region 15 may comprise standard cells or a filler material, such as a dielectric, or a combination thereof.
Vias 16 are shown connecting pins 28 to conductive lines 11 and 12. Notably, pins 28 are conventionally connected to at least one of lines 21 and 22, though not shown here for purposes of clarity. Moreover, spacing or vertical pitch of pins 28 is V2, as shown in FIG. 1.
As shown, a compromise pitch is used for interconnect layers 42 and 44, namely, V2, which is the vertical pitch used for microprocessor core 20 conductive lines 22 and pins 28. However, interconnect layers 41, 43 and 45 use a horizontal pitch H1 from FPGA 10 layout. In this manner, interconnect layers 42 and 44 are on vertical pitch V2 with pins 28 for connection thereto. This facilitates connecting to pins 28 without off-line line routing, namely, routing in between conductive lines, and thus reduces likelihood of design rule spacing violations. Moreover, if pins 28 form a bus, multiple vias 16 may be used to connect to pins 28 to provide bus connectivity.
Notably, FPGA 10 retains horizontal pitch H1 for layers 41, 43 and 45. This facilitates not violating design rules for FPGA 10. Moreover, as conductive lines of interconnect layers 41, 43 and 45 are not parallel with conductive lines of interconnect layers 42 and 45, vias 16 may couple conductive lines 11 and 12 without violating design rules.
Referring to FIG. 5, there is shown a line diagram of an exemplary portion 50 of an interconnect layer from FPGA 10 in accordance with an aspect of the present invention. Conductive lines 12 have a vertical pitch of V2, and conductive lines 11 have a horizontal pitch of H1. However, depending on orientation of pins 28 of FIG. 1, H1 may need to be substituted for H2. Thus, the present invention may be used to provide a pitch set (V1, H2) for FPGA 10. Moreover, if both vertically and horizontally oriented pins are present, then a plurality of interconnect layers of one pitch set (V1, H2) are used for the vertically oriented pins, and another plurality of interconnect layers of another pitch set (V2, H1) are used for the horizontally oriented pins.
Notably, substitution of either V1 or H1 with V2 or H2 for FPGA 10 layout and routing is used for interconnect layers, namely, layers for interconnecting microprocessor core 20 to FPGA 10. Though these interconnect layers may be used for FPGA location to FPGA location connectivity, other layers not used for interconnecting FPGA 10 to microprocessor core 20 may be present.
Referring to FIG. 6, there is shown a cross-sectional diagram of an exemplary portion of FPGA 10 and microprocessor core 20 in accordance with one or more aspects of the present invention. Metal layers 46, 47 and 48 are shown above interconnect layer 45. Metal layers 46, 47 and 48 comprise pitches H1 and V1. Use of FPGA 10 native pitches for non-interconnect layers to microprocessor core 20 facilitates automatic routing without design rule spacing violation.
Input to a conventional automatic routing program is done for each layer. With renewed reference to FIG. 5, inputs for an automatic routing program for each interconnect layer shown for FPGA 10 are set forth in Table I.
| |
TABLE I |
| |
|
| |
Layer Ref. |
|
|
| |
No. |
Pitch |
Direction |
| |
|
| |
41 |
H1 |
Vertical |
| |
42 |
V2 |
Horizontal |
| |
43 |
H1 |
Vertical |
| |
44 |
V2 |
Horizontal |
| |
45 |
H1 |
Vertical |
| |
|
Referring to FIG. 7, there is shown a flow diagram of an exemplary embodiment of a process 70 in accordance with one or more aspects of the present invention. At step 71, pitch from a first device is obtained or determined. At step 72, pitch from a second device is obtained. At step 73, pitch from the first device and pitch from the second device are provided to a database accessible by a routing program. And, at step 74, the routing program is run using the pitch from the first device and the second device.
Though exemplary pitches were described above, it should be understood that the present invention is not so limited. Conventionally, horizontal and vertical pitches vary depending at least in part on lithography. However, it should be appreciated that the present invention scales with lithography, and thus the present invention may be employed in semiconductor processes for embedding a core device into another device where both devices are designed to be manufactured using submicron lithographic processes.
While foregoing is directed to the preferred embodiment of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow. For example, though the present invention is described in terms of an FPGA and embedded processor core, it should be understood that constructs other than an FPGA and an embedded processor core may be used, including, but not limited to, combinations formed from at least two of a programmable logic device, a memory, an Application Specific Integrated Circuit, an Application Specific Standard Product, a Digital Signal Processor, a microprocessor, a microcontroller, and the like.
All trademarks are the respective property of their owners.
| Cited Patent | Filing date | Publication date | Applicant | Title |
|---|
| US4758985 | 28 Mar 1986 | 19 Jul 1988 | Xilinx, Inc. | Microprocessor oriented configurable logic element | | US4855669 | 7 Oct 1987 | 8 Aug 1989 | Xilinx, Inc. | System for scan testing of logic circuit networks | | US5072418 | 4 May 1989 | 10 Dec 1991 | Texas Instruments Incorporated | Series maxium/minimum function computing devices, systems and methods | | US5142625 | 13 Jan 1989 | 25 Aug 1992 | Minolta Camera Kabushiki Kaisha | One-chip microcomputer including a programmable logic array for interrupt control | | US5274570 | 16 Apr 1993 | 28 Dec 1993 | Mazda Motor Corporation | Integrated circuit having metal substrate | | US5311114 | 27 Oct 1992 | 10 May 1994 | Seeq Technology, Incorporated | Apparatus and method for full-duplex ethernet communications | | US5339262 | 10 Jul 1992 | 16 Aug 1994 | Lsi Logic Corporation | Method and apparatus for interim, in-situ testing of an electronic system with an inchoate ASIC | | US5347181 | 29 Apr 1992 | 13 Sep 1994 | Motorola, Inc. | Interface control logic for embedding a microprocessor in a gate array | | US5361373 | 11 Dec 1992 | 1 Nov 1994 | Wagner & Brown, Ltd. | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor | | US5457410 | 3 Aug 1993 | 10 Oct 1995 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits | | US5473267 | 3 Feb 1995 | 5 Dec 1995 | Sgs-Thomson Microelectronics Limited | Programmable logic device with memory that can store routing data of logic data | | US5500943 | 17 May 1995 | 19 Mar 1996 | Motorola, Inc. | Data processor with rename buffer and FIFO buffer for in-order instruction completion | | US5504738 | 15 Apr 1994 | 2 Apr 1996 | Seeq Technology Inc. | Apparatus and method for full-duplex ethernet communications | | US5537601 | 11 Jul 1994 | 16 Jul 1996 | Hitachi, Ltd. | Programmable digital signal processor for performing a plurality of signal processings | | US5543640 | 29 Sep 1995 | 6 Aug 1996 | National Semiconductor Corporation | Logical three dimensional interconnections between integrated circuit chips using a two dimensional multi-chip module | | US5550782 | 18 May 1994 | 27 Aug 1996 | Altera Corporation | Programmable logic array integrated circuits | | US5552722 | 7 Jun 1995 | 3 Sep 1996 | Xilinx, Inc. | Mask registor for a configurable cellular array | | US5574930 | 12 Aug 1994 | 12 Nov 1996 | University Of Hawaii | Computer system and method using functional memory | | US5574942 | 15 Feb 1996 | 12 Nov 1996 | Intel Corporation | Hybrid execution unit for complex microprocessor | | US5581745 | 17 Dec 1993 | 3 Dec 1996 | Fujitsu Limited | Apparatus for suspending the bus cycle of a microprocessor by inserting wait states | | US5600845 | 27 Jul 1994 | 4 Feb 1997 | Metalithic Systems Incorporated | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor | | US5652904 | 2 Jun 1995 | 29 Jul 1997 | Xilinx, Inc. | Non-reconfigurable microprocessor-emulated FPGA | | US5671355 | 13 Sep 1996 | 23 Sep 1997 | Predacomm, Inc. | Reconfigurable network interface apparatus and method | | US5705938 | 5 Sep 1995 | 6 Jan 1998 | Xilinx, Inc. | Programmable switch for FPGA input/output signals | | US5732250 | 20 Jan 1997 | 24 Mar 1998 | Intel Corporation | Multi-function microprocessor wait state mechanism using external control line | | US5737631 | 5 Apr 1995 | 7 Apr 1998 | Xilinx, Inc. | Reprogrammable instruction set accelerator | | US5740404 | 27 Sep 1993 | 14 Apr 1998 | Hitachi America Limited | Digital signal processor with on-chip select decoder and wait state generator | | US5742179 | 29 Dec 1995 | 21 Apr 1998 | Dyna Logic Corporation | High speed programmable logic architecture | | US5742180 | 10 Feb 1995 | 21 Apr 1998 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts | | US5748979 | 7 Jun 1995 | 5 May 1998 | Trimberger; Stephen M. | Reprogrammable instruction set accelerator using a plurality of programmable execution units and an instruction page table | | US5752035 | 7 Jun 1995 | 12 May 1998 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator | | US5760607 | 7 Jul 1997 | 2 Jun 1998 | Xilinx, Inc. | System comprising field programmable gate array and intelligent memory | | US5809517 | 7 Jun 1995 | 15 Sep 1998 | Canon Kabushiki Kaisha | Detachable memory apparatus capable of varying number of wait states for access based on stored timing information | | US5835405 | 10 Apr 1997 | 10 Nov 1998 | Lattice Semiconductor Corporation | Application specific modules in a programmable logic device | | US5874834 | 4 Mar 1997 | 23 Feb 1999 | Xilinx, Inc. | Field programmable gate array with distributed gate-array functionality | | US5889788 | 3 Feb 1997 | 30 Mar 1999 | Motorola, Inc. | Wrapper cell architecture for path delay testing of embedded core microprocessors and method of operation | | US5892961 | 29 Aug 1997 | 6 Apr 1999 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream | | US5914616 | 26 Feb 1997 | 22 Jun 1999 | Xilinx, Inc. | FPGA repeatable interconnect structure with hierarchical interconnect lines | | US5914902 | 14 Jul 1998 | 22 Jun 1999 | Tanisys Technology, Inc. | Synchronous memory tester | | US5933023 | 3 Sep 1996 | 3 Aug 1999 | Xilinx, Inc. | FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines | | US5970254 | 27 Jun 1997 | 19 Oct 1999 | Intel Corporation | Integrated processor and programmable data path chip for reconfigurable computing | | US6011407 | 13 Jun 1997 | 4 Jan 2000 | Xilinx, Inc. | Field programmable gate array with dedicated computer bus interface and method for configuring both | | US6020755 | 26 Sep 1997 | 1 Feb 2000 | Lucent Technologies Inc. | Hybrid programmable gate arrays | | US6026481 | 4 Nov 1997 | 15 Feb 2000 | Xilinx, Inc. | Microprocessor with distributed registers accessible by programmable logic device | | US6096091 | 24 Feb 1998 | 1 Aug 2000 | Advanced Micro Devices, Inc. | Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip | | US6154051 | 5 Nov 1998 | 28 Nov 2000 | Vantis Corporation | Tileable and compact layout for super variable grain blocks within FPGA device | | US6163166 | 26 May 1999 | 19 Dec 2000 | Altera Corporation | Programmable logic device with selectable schmitt-triggered and threshold-triggered buffers | | US6172990 | 12 Nov 1997 | 9 Jan 2001 | Xaqti Corporation | Media access control micro-RISC stream processor and method for implementing the same | | US6178541 | 30 Mar 1998 | 23 Jan 2001 | Lsi Logic Corporation | PLD/ASIC hybrid integrated circuit | | US6181163 | 21 Jan 1999 | 30 Jan 2001 | Vantis Corporation | FPGA integrated circuit having embedded SRAM memory blocks and interconnect channel for broadcasting address and control signals | | US6211697 | 25 May 1999 | 3 Apr 2001 | Actel | Integrated circuit that includes a field-programmable gate array and a hard gate array having the same underlying structure | | US6242945 | 7 Jun 2000 | 5 Jun 2001 | Xilinx, Inc. | Field programmable gate array with mask programmable I/O drivers | | US6272451 | 16 Jul 1999 | 7 Aug 2001 | Atmel Corporation | Software tool to allow field programmable system level devices | | US6279045 | 5 Oct 1998 | 21 Aug 2001 | Kawasaki Steel Corporation | Multimedia interface having a multimedia processor and a field programmable gate array | | US6282627 | 29 Jun 1998 | 28 Aug 2001 | Chameleon Systems, Inc. | Integrated processor and programmable data path chip for reconfigurable computing | | US6301696 | 30 Mar 1999 | 9 Oct 2001 | Actel Corporation | Final design method of a programmable logic device that is based on an initial design that consists of a partial underlying physical template | | US6343207 | 3 Nov 1998 | 29 Jan 2002 | Harris Corporation | Field programmable radio frequency communications equipment including a configurable if circuit, and method therefor | | US6353331 | 10 Jul 2000 | 5 Mar 2002 | Xilinx, Inc. | Complex programmable logic device with lookup table | | US6356987 | 10 Mar 1999 | 12 Mar 2002 | Atmel Corporation | Microprocessing device having programmable wait states | | US6389558 | 6 Jul 2000 | 14 May 2002 | Altera Corporation | Embedded logic analyzer for a programmable logic device | | US6434735 | 16 Dec 1999 | 13 Aug 2002 | Lsi Logic Corporation | Method for programming an FPGA and implementing an FPGA interconnect | | US6460172 | 21 Jun 2000 | 1 Oct 2002 | Semiconductors Investigacion Diseno, S.A. (Sidsa) | Microprocessor based mixed signal field programmable integrated device and prototyping methodology | | US6467009 | 14 Oct 1998 | 15 Oct 2002 | Triscend Corporation | Configurable processor system unit | | US6483342 | 25 May 2001 | 19 Nov 2002 | Lattice Semiconductor Corporation | Multi-master multi-slave system bus in a field programmable gate array (FPGA) | | US6507942 | 11 Jul 2000 | 14 Jan 2003 | Xilinx , Inc. | Methods and circuits for testing a circuit fabrication process for device uniformity | | US6510548 | 3 Aug 2001 | 21 Jan 2003 | Xilinx, Inc. | Method for providing pre-designed modules for programmable logic devices | | US6518787 | 21 Sep 2000 | 11 Feb 2003 | Triscend Corporation | Input/output architecture for efficient configuration of programmable input/output cells | | US6519753 | 30 Nov 1999 | 11 Feb 2003 | Quicklogic Corporation | Programmable device with an embedded portion for receiving a standard circuit design | | US6522167 | 9 Jan 2001 | 18 Feb 2003 | Xilinx, Inc. | User configurable on-chip memory system | | US6532572 | 14 Mar 2001 | 11 Mar 2003 | Lsi Logic Corporation | Method for estimating porosity of hardmacs | | US6539508 | 15 Mar 2000 | 25 Mar 2003 | Xilinx, Inc. | Methods and circuits for testing programmable logic | | US6541991 | 4 May 2001 | 1 Apr 2003 | Xilinx Inc. | Interface apparatus and method for testing different sized ball grid array integrated circuits | | US6578174 | 8 Jun 2001 | 10 Jun 2003 | Cadence Design Systems, Inc. | Method and system for chip design using remotely located resources | | US6587995 | 19 Apr 2000 | 1 Jul 2003 | Koninklijke Philips Electronics N.V. | Enhanced programmable core model with integrated graphical debugging functionality | | US6588006 | 16 Dec 1999 | 1 Jul 2003 | Lsi Logic Corporation | Programmable ASIC | | US6601227 | 27 Jun 2001 | 29 Jul 2003 | Xilinx, Inc. | Method for making large-scale ASIC using pre-engineered long distance routing structure | | US6604228 | 26 Oct 2000 | 5 Aug 2003 | Altera Corporation | Technique of fabricating integrated circuits having interfaces compatible with different operating voltage conditions | | US6611951 | 29 Jun 2001 | 26 Aug 2003 | Lsi Logic Corporation | Method for estimating cell porosity of hardmacs | | US20010049813 | 29 Jun 1998 | 6 Dec 2001 | Chan Chun | Integrated circuit incorporating a power mesh | | US20030062922 | 28 Sep 2001 | 3 Apr 2003 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry | | USRE34363 | 24 Jun 1991 | 31 Aug 1993 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects | | EP0375275A2 | 14 Dec 1989 | 27 Jun 1990 | BOMORO Bocklenberg & Motte GmbH & Co. KG | Vehicle door latches | | EP0905906A2 | 15 Sep 1998 | 31 Mar 1999 | Lucent Technologies Inc. | Hybrid programmable gate arrays | | EP1235351A1 | 14 Nov 2000 | 28 Aug 2002 | Matsushita Electric Industrial Co., Ltd. | Programmable logic device and programming method | | WO1993025968A1 | 10 Jun 1993 | 23 Dec 1993 | Furtek, Frederick, C. | A modular computer based on reconfigurable logic |
| Reference |
|---|
| 1 | Andre' Dehon, "DPGA-Coupled Microprocessors: Commodity ICs For The Early 21st Century," IEEE, Feb. 1994, pp. 31-39, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 2 | Andre′ Dehon, "DPGA-Coupled Microprocessors: Commodity ICs For The Early 21st Century," IEEE, Feb. 1994, pp. 31-39, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 3 | Cary D. Snyder and Max Baron; "Xilinx's A-to-Z-System Platform"; Cahners Microprocessor; The Insider's Guide to Microprocessor Hardware; Microdesign Resources; Feb. 6, 2001; pp. 1-5. | | 4 | Christian Iseli et al., "AC++ Compiler for FPGA Custom Execution Units Synthesis," 1995, pp. 173-179, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 5 | Christian Iseli et al., "Beyond Superscaler Using FPGA's," IEEE, Apr. 1993, pp. 486-490, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 6 | Christian Iseli et al., "Spyder: A Reconfigurable VLIW Processor Using FPGA's," IEEE, Jul. 1993, pp. 17-24, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 7 | G. Maki et al., "A Reconfigurable Data Path Processor," IEEE, Aug. 1991, pp. 18-4.1 to 18-4.4, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 8 | International business Machines, "PowerPC 405 Embedded Processor Core User Manual," 1996, 5th Ed., pp. 1-1 to X-16, International Business Machines, 1582 Rout 52, Bkdg. 504, Hopewell Junction, NY 12533-6531. | | 9 | International Business Machines, "Processor Local Bus" Architecture Specifications, 32-Bit Implementation, Apr. 2000, First Edition, V2.9, p. 1-76, IBM Corporation, Department H83A, P.O. Box 12195, Research Triangle Park, NC 27709. | | 10 | Jacob Davidson, "FPGA Implementation of Reconfigurable Microprocessor," IEEE, Mar. 1993, pp. 3.2.1-3.2.4, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 11 | Michael I. Wirthlin et al., "The Nano Processor: A Low Resource Reconfigurable Processor," IEEE, Feb. 1994, pp. 23-30, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 12 | Osama T. Albaharna, "Area & Time Limitations of FPGA-Based Virtual Hardware," IEEE, Apr. 1994, pp. 184-189, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 13 | P.C. French et al., "A Self-Reconfiguring Processor,"; IEEE, Jul. 1993, pp. 50-59, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 14 | Ralph D. Wittig et al., Onechip: An FPGA Processor with Reconfigurable Logic, Apr. 17, 1996, pp 126-135, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 15 | Sayfe Kiaei et al., "VLSI Design of Dynamically Reconfigurable Array Processor-Drap" IEEE, Feb. 1989, pp. 2484-2488, V3.6, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 16 | U.S. patent application Ser. No. 09/858,732, Schulz, filed May 15, 2001. | | 17 | U.S. patent application Ser. No. 09/861,112, Dao et al., filed May 18, 2001. | | 18 | U.S. patent application Ser. No. 09/917,304, Douglass et al., filed Jul. 27, 2001. | | 19 | U.S. patent application Ser. No. 09/968,446, Douglass et al., filed Sep. 28, 2001. | | 20 | U.S. patent application Ser. No. 09/991,410, Herron et al., filed Nov. 16, 2001. | | 21 | U.S. patent application Ser. No. 09/991,412, Herron et al., filed Nov. 16, 2001. | | 22 | U.S. patent application Ser. No. 10/001,871, Douglass et al., filed Nov. 19, 2001. | | 23 | U.S. patent application Ser. No. 10/043,769, Schulz, filed Jan. 9, 2002. | | 24 | Vason P, Srini, "Field Programmable Gate Array (FPGA) Implementation of Digital Systems: An Alternative to ASIC," IEEE, May 1991, pp. 309-314, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 25 | William B. Andrew et al., "A Field Programmable System Chip Which Combines FPGA & Asic Circuitry," IEEE, May 16, 1999, pp. 183-186, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. | | 26 | William S. Carter, "The Future of Programmable Logic and Its Impact on Digital System Design," Apr. 1994, IEEE, pp. 10-16, IEEE, 3 Park Avenue, 17th Floor, New York NY 10016-5997. | | 27 | Xilinx, Inc., "The Programmable Logic Data Book," 1994, Revised 1995, pp 2-107 to 2-108, Xilinx, Inc., 2100 Logic Drive, San Jose, CA. 95124. | | 28 | Xilinx, Inc., "The Programmable Logic Data Book," 1994, Revised 1995, pp 2-109 to 2-117, Xilinx, Inc. 2100 Logic Drive, San Jose CA. 95124. | | 29 | Xilinx, Inc., "The Programmable Logic Data Book," 1994, Revised 1995, pp 2-9 to 2-18; 2-187 to 2-199, Xilinx, Inc., 2100 Logic Drive, San Jose, CA. 95124. | | 30 | Xilinx, Inc., "The Programmable Logic Data Book," 1994, Revised 1995, Xilinx, Inc., 2100 Logic Drive, San Jose, CA. 95124. | | 31 | Xilinx, Inc., "The Programmable Logic Data Book," 2000, Ch. 3 pp 3-1 to 3-117, Xilinx, Inc. 2100 Logic Drive, San Jose, CA 95124. | | 32 | Xilinx, Inc., "The Programmable Logic Data Book," 2000, Ch. 3, pp 3-7 to 3-17; 3-76 to 3-87, Xilinx, Inc., 2100 Logic Dr., San Jose, CA. 95124. | | 33 | Xilinx, Inc., "The Programmable Logic Data Book," Jan. 27, 1999, Ch. 3, pp 3-1 to 3-50, Xilinx, Inc., 2100 Logic Drive, San Jose, CA 95124. | | 34 | Xilinx, Inc., Virtex II Platform FPGA Handbook, Dec. 6, 2000, v1.1, pp 33-75, Xilinx, Inc., 2100 Logic Drive, San Jose, CA. 95124. | | 35 | Yamin Li et al., "Aizup-A Pipelined Processor Design & Implemetnation on Xilinx FPGA Chip," IEEE, Sep. 1996, pp 98-106, 98-106, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016-5997. |
| Citing Patent | Filing date | Publication date | Applicant | Title |
|---|
| US7007264 | 2 May 2003 | 28 Feb 2006 | Xilinx, Inc. | System and method for dynamic reconfigurable computing using automated translation | | US7073154 | 21 May 2002 | 4 Jul 2006 | Altera Corporation | Apparatus and methods for interconnect zones and associated cells in integrated circuits | | US7885320 | 11 Sep 2003 | 8 Feb 2011 | Xilinx, Inc. | MGT/FPGA clock management system | | CN1881223B | 6 Apr 2006 | 12 May 2010 | Lsi g ltd luo ji | Integrated circuit with relocatable processor hardmac |
|