Multiple size memories in a programmable logic device

Information

  • Patent Grant
  • 6720796
  • Patent Number
    6,720,796
  • Date Filed
    Monday, May 6, 2002
    22 years ago
  • Date Issued
    Tuesday, April 13, 2004
    20 years ago
Abstract
A programmable logic device (PLD) includes a first memory block and at least a second memory block, where the two memory blocks have different memory sizes.
Description




BACKGROUND




1. Field of the Invention




The present invention generally relates to programmable logic devices, and more particularly to programmable logic devices with embedded memory blocks.




2. Description of the Related Art




Programmable memory devices (PLDs) typically have one standard size of embedded memory block. When a block of memory greater than the standard size is desired, these standard sized memory blocks are chained together. However, this can decrease the speed with which the memory can be accessed. When a block of memory less than the standard size is desired, a portion of the standard sized memory block is unused, this is an inefficient use of silicon area.




In some PLDs, look-up-tables may be used as “distributed memory.” In these PLDs, the logic elements of the PLD are used as memory rather than having distinct blocks of memory. One disadvantage to using logic elements as memory is that they can be slower than dedicated memory blocks. Additionally, the use of logic elements as memory reduces the logic capacity of the device.




SUMMARY




The present invention relates to a programmable logic device (PLD) with memory blocks. In one embodiment, the PLD includes a first memory block and at least a second memory block, where the two memory blocks have different memory sizes.











DESCRIPTION OF THE DRAWING FIGURES




The present invention can be best understood by reference to the following description taken in conjunction with the accompanying drawing figures, in which like parts may be referred to by like numerals:





FIG. 1

is a simplified block diagram of an exemplary programmable logic device (PLD);





FIG. 2

is a simplified block diagram of a portion of an exemplary PLD having multiple sized embedded memory blocks;





FIG. 3

is a portion of the PLD depicted in

FIG. 2

; and





FIG. 4

is another portion of the PLD depicted in FIG.


2


.











DETAILED DESCRIPTION




In order to provide a more thorough understanding of the present invention, the following description sets forth numerous specific details, such as specific configurations, parameters, and the like. It should be recognized, however, that such description is not intended as a limitation on the scope of the present invention, but is intended to provide a better description of exemplary embodiments.




With reference to

FIG. 1

, in one exemplary embodiment, a programmable logic device (PLD)


100


includes a plurality of functional blocks arranged in columns and rows. More particularly,

FIG. 1

depicts a plurality of logic array blocks (LABs)


102


. Each LAB


102


includes a plurality of programmable logic resources that can be configured or programmed to perform logical functions, such as AND, OR, NOT, XOR, NAND, NOR, and the like.




Although

FIG. 1

depicts a limited number of LABs


102


arranged in a particular configuration, it should be noted that PLD


100


can include any number of LABs


102


arranged in various configurations. Additionally, it should be noted that PLD


100


can include any digital logic circuit configured by an end-user, and can be known by various names or terms, such as PAL, PLA, FPLA, EPLD, CPLD, EEPLD, LCA, FPGA, and the like.




With continued reference to

FIG. 1

, PLD


100


includes a routing architecture that connects to each LAB


102


. As depicted in

FIG. 1

, in the present embodiment, the routing architecture includes an array of horizontal lines (“H-lines”)


104


and vertical lines (“V-lines”)


106


.




In one preferred embodiment, each H-line and V-line of the routing architecture include sets of lines that span different numbers of functional blocks of PLD


100


. More particularly, in the present embodiment, each H-line includes a set of H4, H8, and H24 lines that span 4, 8, and 24 functional blocks of PLD


100


, respectively. In a similar fashion, each V-line includes a set of V4, V8, and V16 lines that span 4, 8, and 16 functional blocks of PLD


100


, respectively. The H-lines and the V-lines can be staggered, i.e., the start and end points of each line can be offset by some number of functional blocks. Some of the H-lines can drive a signal to the right, while some can drive a signal to the left. Similarly, some of the V-lines can drive a signal upwards, while some can drive a signal downwards. For a more detailed description of the routing architecture, see co-pending U.S. patent application Ser. No. 10/057,232, titled SYSTEM AND METHOD FOR ASYMMETRIC ROUTING LINES, filed on Jan. 25, 2002, the entire content of which is incorporated herein by reference.




With reference now to

FIG. 2

, in one exemplary embodiment, PLD


100


includes more than one distinct size of embedded memory. More particularly, in one preferred embodiment, PLD


100


includes three distinct sizes of embedded memory. As depicted in

FIG. 2

, the present preferred embodiment of PLD


100


includes a Small-Embedded-memory Block (SEAB)


202


, a Medium-Embedded-memory Block (MEAB)


204


, and a Mega-RAM block (MRAM)


206


, each with its own set of control logic and circuits. It should be noted that the names assigned to these different memory blocks are arbitrary and provided primarily for the sake of clarity and convenience.




In the present embodiment, SEABs


202


and MEABs


204


can have configurable depth and width down to a width of 1, with a corresponding increase in depth, which facilitates their use for a number of data rate changing applications. MRAM


206


can be configured as a block of memory in the order of about 64 Kbytes, which facilitates its use for larger amounts of on-chip data storage.




In one preferred configuration, each SEAB


202


is configured with depth and width of 32×18 (32 words deep and 18 bits wide) for a total of 576 bits. Each MEAB


204


is configured with depth and width of 128×36 (128 words deep and 36 bits wide) for a total of 4608 bits. MRAM


206


is configured with depth and width of 64K×9 (64 Kilobytes deep and a minimum word width of 9 bits) for a total bit count of 589824 bits. The width of the words in MRAM


206


can be increased to 144 with a corresponding decrease in depth to 4K words. As noted earlier, it should be noted that SEABs


202


, MEABs


204


, and MRAM


206


can be configured with various depths and width. Additionally, groups or individual SEABs


202


, MEABs


204


, and MRAMs


206


can be configured to have different depth and width.




Although in this preferred configuration the difference in size between SEABs


202


and MEABs


204


is relatively small in comparison to the difference between MEABs


204


and MRAM


206


, it should be noted that this difference is somewhat arbitrary and can vary depending on the particular application. For example, in some applications, the difference in the sizes of SEABs


202


, MEABs


204


, and MRAM


206


can be proportionally even.




In one exemplary application, SEABs


202


can be used to perform functions that have relatively shallow depth of memory in comparison to MEABs


204


and MRAM


206


(i.e., fewer words can be stored at a time in SEABs


202


in comparison to MEABs


204


and MRAM


206


). For example, SEABs


202


can be used to build shallow FIFOs and shift registers. SEABs


202


can also be used to store the parity information for a larger separate memory, which can make the larger memory more reliable.




MEABs


204


can be used to perform larger depth and width functions than SEABs


202


. For example, MEABs


204


can also be used to build larger FIFOs and shift registers than SEAB


202


. Additionally, the larger width of MEABs


204


can support more parallel inputs into the memory.




MRAM


206


can be used for larger amounts of on-chip data storage than SEABs


202


and the MEABs


204


. Additionally, a block of data stored in MRAM


206


can be accessed faster than storing the block of data in multiple SEABs


202


or MEABs


204


. MRAM


206


can also be used as an on-chip cache and/or a scratch pad memory with PLD


100


for storing large amounts of data. This has the advantage of allowing a user of PLD


100


to access the memory faster than going off-chip to access a separate memory device.




Similar to the differences in their sizes, it should be noted that the functional distinctions described above for SEABs


202


, MEABs


204


, and NRAM


206


are somewhat arbitrary and can vary depending on the application. For example, in some applications, SEABs


202


, MEABs


204


, and MRAM


206


can be used to perform essentially the same functions.




Although the present embodiment of PLD


100


is depicted and described as having three distinct sizes of embedded memory, it should be recognized that PLD


100


can include two distinct sizes of embedded memory rather than three. For example, PLD


100


can include a combination of two of the three distinct sizes of memory mentioned above (i.e., SEAB


202


, MEAB


204


, and MRAM


206


). Additionally, PLD


100


can include more than three distinct sizes of memory.




As depicted in

FIG. 2

, in the present embodiment, PLD


100


is configured with multiple columns of SEABs


202


and MEABs


204


. More particularly, PLD


100


is depicted as having 6 columns, 27 rows of SEABs


202


and 2 columns, 27 rows of MEABs


204


. In contrast, PLD


100


is depicted as having a single MRAM


206


. As mentioned earlier, it should be recognized, however, that PLD


100


can include any number of SEABs


202


, MEABs


204


, and MRAMs


206


. For example,

FIG. 2

can be viewed as depicted just a portion, such as a single quadrant, of PLD


100


.




As further depicted in

FIG. 2

, similar to LABs


102


, SEABs


202


and MEABs


204


are connected to H-lines


104


and V-lines


106


. As such, SEABs


202


and MEABs


204


can be accessed in the same manner as LABs


102


through the routing architecture of PLD


100


. It should be noted, however, that PLD


100


can be configured with any number of SEABs


202


and MEABs


204


, including just one of each, in various configurations.




In contrast to SEABs


202


and MEABs


204


,

FIG. 2

depicts MRAM


206


spanning multiple H-lines


104


and V-lines


106


. As such, in the present embodiment, PLD


100


includes interface regions configured to interface MRAM


206


into the routing architecture of PLD


100


.




More particularly, in one preferred embodiment, MRAM


206


can be bordered on solely one, two, or three sides by an interface region. As an example,

FIG. 3

depicts a portion of an interface region along what is depicted as being the vertical side of MRAM


206


, and

FIG. 4

depicts a portion of an interface region along what is depicted as being the horizontal side of MRAM


206


. As depicted in

FIG. 2

, MRAM


206


spans multiple columns and multiple rows of LABs


102


, and therefore interfaces with many lines (“channels”) of routing lines. In the present embodiment, some of these routing lines do not cross MRAM


206


. Rather, some of the routing lines “dead ends” at the interface regions. More particularly, the H4, H8, V4, and V8 lines dead end at the interface regions, while the H24 and V16 lines cross MRAM


206


.




In the portion of the interface regions depicted in

FIGS. 3 and 4

, the H24 (

FIG. 3

) and V16 (

FIG. 4

) routing lines are buffered across MRAM


206


. With reference to

FIG. 3

, MRAM interface


302


connects MRAM


206


to an adjacent row. With reference to

FIG. 4

, MRAM interface


402


connects MRAM


206


to a pair of adjacent columns. One MRAM interface is provided for every row and every pair of columns that MRAM


206


spans. For a more detailed description of the interface regions, see co-pending U.S. application Ser. No. 10/057,442, titled PLD ARCHITECTURE FOR FLEXIBLE PLACEMENT OF IP FUNCTION BLOCKS, filed on Jan. 25, 2002, the entire content of which is incorporated herein by reference.




Although the present invention has been described in conjunction with particular embodiments illustrated in the appended drawing figures, various modifications can be made without departing from the spirit and scope of the invention. Therefore, the present invention should not be construed as limited to the specific forms shown in the drawings and described above.



Claims
  • 1. A programmable logic device (PLD) comprising:an array of logic elements; a first memory block having a set of control logic and circuits, wherein the first memory block is disposed within the array of logic elements; and at least a second memory block having a set of control logic and circuits, wherein the second memory block is disposed within the array of logic elements, and wherein the first and second memory blocks have different memory sizes.
  • 2. The PLD of claim 1, wherein the first memory device is a Random Access Memory.
  • 3. The PLD of claim 1 further comprising:a column of the second memory blocks disposed adjacent a column of logic elements, wherein each of the second memory blocks is connected to a vertical line and a horizontal line.
  • 4. The PLD of claim 1 further comprising:a third memory block having a set of control logic and circuits, wherein the first and third memory blocks have different memory sizes, and wherein the second and third embedded memory blocks have different memory sizes.
  • 5. The PLD of claim 4, wherein the first memory block has greater memory size than the second memory block, and wherein the second memory block has greater memory size the third memory block.
  • 6. The PLD of claim 4 further comprising:a column of the second memory blocks; and a column of the third memory blocks.
  • 7. The PLD of claim 4, wherein each one of the second and third memory blocks is connected to one vertical line and one horizontal line.
  • 8. A programmable logic device (PLD) comprising:an array of logic elements; a first embedded memory block disposed within the array of logic elements; and at least a second embedded memory block disposed within the array of logic elements, wherein the first memory block has greater memory size than the second embedded memory block.
  • 9. The PLD of claim 8 further comprising:a third embedded memory block, wherein the second embedded memory block has greater memory size than the embedded memory block.
  • 10. The PLD of claim 9, wherein a plurality of the second embedded memory blocks are arranged in a column.
  • 11. The PLD of claim 10, wherein a plurality of the third embedded memory blocks are arranged in a column.
  • 12. The PLD of claim 11, wherein the first embedded memory block is a Random Access Memory.
  • 13. A method of designing a programmable logic device (PLD), comprising:designing the PLD such that the PLD includes an array of logic elements; designing the PLD to embed a first memory block within the array of logic elements; and designing the PLD to embed a second memory block within the array of logic elements, wherein the first and second memory blocks each have a set of control logic and circuits, and wherein the first and second memory blocks have different memory sizes.
  • 14. The method of claim 13 further comprising:selecting a first memory block having a larger memory size than the second memory block.
  • 15. The method of claim 14 further comprising:designing the PLD to embed a third memory block within the array of logic elements, wherein the third memory block has a set of control logic and circuits, and wherein the third memory block has a different memory size than the first or second memory block.
  • 16. The method of claim 15 further comprising:selecting a third memory block having a smaller memory size than the second memory block.
CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of earlier filed provisional application U.S. Ser. No. 60/289,266, entitled MULTIPLE SIZE MEMORIES IN A PROGRAMMABLE LOGIC DEVICE, filed on May 6, 2001, the entire content of which is incorporated herein by reference.

US Referenced Citations (52)
Number Name Date Kind
4203159 Wanlass May 1980 A
4293783 Patil Oct 1981 A
4642487 Carter Feb 1987 A
4706216 Carter Nov 1987 A
4758985 Carter Jul 1988 A
4783606 Goetting Nov 1988 A
4818902 Brockmann Apr 1989 A
4825414 Kawata Apr 1989 A
4831591 Imazeki et al. May 1989 A
4835418 Hsieh May 1989 A
4855958 Ikeda Aug 1989 A
4870302 Freeman Sep 1989 A
4963770 Keida Oct 1990 A
4975601 Steele Dec 1990 A
5042004 Agrawal et al. Aug 1991 A
5073729 Greene et al. Dec 1991 A
5089993 Neal et al. Feb 1992 A
5099150 Steele Mar 1992 A
5122685 Chan et al. Jun 1992 A
5128559 Steele Jul 1992 A
5144582 Steele Sep 1992 A
5191243 Shen et al. Mar 1993 A
5204556 Shankar Apr 1993 A
5212652 Agrawal et al. May 1993 A
RE34444 Kaplinsky Nov 1993 E
5258668 Cliff et al. Nov 1993 A
5260610 Pedersen et al. Nov 1993 A
5260611 Cliff et al. Nov 1993 A
5313119 Cooke et al. May 1994 A
5315178 Snider May 1994 A
5329460 Agrawal et al. Jul 1994 A
5343406 Freeman et al. Aug 1994 A
5352940 Watson Oct 1994 A
5408434 Stansfield Apr 1995 A
5414377 Freidin May 1995 A
5426378 Ong Jun 1995 A
5436575 Pedersen et al. Jul 1995 A
5504875 Mills et al. Apr 1996 A
5506517 Tsui et al. Apr 1996 A
5550782 Cliff et al. Aug 1996 A
5559450 Ngai et al. Sep 1996 A
5566123 Freidin et al. Oct 1996 A
5668771 Cliff et al. Sep 1997 A
5705938 Kean Jan 1998 A
5717901 Sung et al. Feb 1998 A
5744980 McGowan et al. Apr 1998 A
5777489 Barbier et al. Jul 1998 A
5801547 Kean Sep 1998 A
5809281 Steele et al. Sep 1998 A
5835405 Tsui et al. Nov 1998 A
5991850 Ryan Nov 1999 A
6150839 New et al. Nov 2000 A
Foreign Referenced Citations (20)
Number Date Country
0 081 917 Jun 1983 EP
0 340 890 Nov 1989 EP
0 340 891 Nov 1989 EP
0 410 759 Jan 1991 EP
0 415 542 Mar 1991 EP
0 420 389 Apr 1991 EP
0 426 283 May 1991 EP
0 450 811 Oct 1991 EP
0 461 798 Dec 1991 EP
0 507 507 Oct 1992 EP
0 530 985 Mar 1993 EP
0 569 137 Nov 1993 EP
0 746 102 Dec 1996 EP
2 202 355 Sep 1988 GB
01 091 525 Apr 1989 JP
01 091 526 Apr 1989 JP
WO 9004233 Apr 1990 WO
WO 9217001 Oct 1992 WO
WO 9410754 May 1994 WO
WO 9516993 Jun 1995 WO
Non-Patent Literature Citations (55)
Entry
Dave Bursky, Shrik systems with one-chip decoder, EPROM, and RAM, Jul. 28, 1988, p. 91.*
Altera 1996 Data Book, “FLEX 10K Embedded Programmable Logic Family,” Jun. 1996, pp. 29-90.
Altera 1999 Device Data Book, “APEX 20K Programmable Logic Device Family,” May 1999, pp. 23-88.
“AT&T's Orthogonal ORCA Targets the FPGA Future,” 8029 Electronic Engineering, 64, No. 786, Jun. 1992, pp. 9-10.
AT&T Microelectronics Data Sheet, “Optimized Reconfigurable Cell Array (ORCA) Series Field-Programmable Gate Arrays,” Mar. 1994, pp. 1-100.
AT&T Microelectronics Preliminary Data Sheet, “Optimized Reconfigurable Cell Array (ORCA) 2C Series Field-Programmable Gate Arrays,” Apr. 1994,. 1-104.
Bennett, P.S. et al., “BiMOS Technology in Gate Arrays with Configurable RAM,” Proc. of 7th International Conf. on Custom and Semicustom ICs, Nov. 3-5, 1987, London, U.K., pp. 54/1-7.
Brinkman, “Evolution of the Logic Cell Array,” Elektronica, vol. 38, No. 17, Sep. 7, 1990, pp. 43-53.
Britton, et al., “Optimized Reconfigurable Cell Array Architecture for High-Performance Field Programmable Gate Arrays,” in IEEE 1993 Custom Integrated Circuits Conference.
Brown, S. et al., “FPGA and CPLD Architectures: A Tutorial,” IEEE Design & Test of Computers, vol. 13, No. 2, Jun. 1, 1996, pp. 42-57.
Bursky, Dave, “Shrink Systems with One-Chip Decoder, EPROM, and RAM,” Electronic Design, Jul. 28,1988, pp. 91-94.
Bursky, “Combination RAM/PLD Opens New Application Options,” Electronic Design, May 23, 1991, pp. 138-140.
Bursky, Dave, “FPGA Advances Cut Delays, Add Flexibility,” 2328 Electronic Design, 40, No. 20, Oct. 1, 1992, pp. 35-43.
Bursky, Dave, “Denser, Faster FPGAs Vie for Gate-Array Applications,” 2328 Electronic Design, 41, No. 11, May 27, 1993, pp. 55-75.
Casselman, “Virtual Computing and The Virtual Computer,” IEEE, Jul. 1993, p. 43.
Cliff, et al., “A Dual Granularity and Globally Interconnected Architecture for a Programmable Logic Device,” in IEEE 1993 Custom Integrated Circuits Conference. pp. 3.1-3.5.
Conner, “PLD Architectures Require Scrutiny,” in Electrical Digest News, Sep. 29, 1989.
Furtek, Frederick et al. “Labyrinth: A Homogenous Computational Medium,” in IEEE 1990 Custom Integrated Circuits Conference: 31.1.1-31.1.4.
Hallau, “More Than Mere Gate Logic,” in Electronik, vol. 40, No. 15, Jul. 23, 1991, pp. 95-99.
Hsieh et al., “Third Generation Architecture Boosts Speed and Density of Field Programmable Gate Arrays,” Proc. of IEEE CICC Conf., May 1990, pp. 31.2.1 to 31.2.7.
Intel Preliminary Datasheet, “iFX780: 10ns FLEXlogic FPGA with SRAM Option,” Nov. 1993, pp. 2-24 to 2-46.
Kautz, “Cellular Logic in Memory Arrays,” IEEE Trans. on Computers, vol. C-18, No. 8, Aug. 1969, pp. 719-727.
Kawana, Keiichi et al., “An Efficient Logic Block Interconnect Architecture for User-Reprogrammable Gate Array,” IEEE 1990 Custom Integrated Circuits Conf., May 1990, CH2860-5/90/0000-0164, pp. 31.3.1 to 31.3.4.
Landry, Steve, “Application -Specific ICs, Relying on RAM, Implement Almost Any Logic Function,” Electronic Design, Oct. 31, 1985, pp. 123-130.
Larsson, T, “Programmable Logic Circuits: The Luxury Alternatives are Coming Soon,” Elteknik-med-Aktuell Electronik, No. 4, Feb. 25-Mar. 9, 1988, pp. 37-38, (with English abstract).
Ling, X.-P. and H. Amano, “WASMII: A Data Driven Computer on a Virtual Hardware,” Proc. of IEEE Field Prog. Custom Computing Machines Conf., Napa, California, Apr. 1993, pp. 33-42.
Manning, Frank B. “An Approach to Highly Integrated Computer Maintained Cellular Arrays,” IEEE Trans. on Computers, vol. C-26, No. 6, Jun. 1977, pp. 536-552.
Marple, “An MPGA Compatible FPGA Architecture,” in IEEE 1992 Custom Integrated Circuits Conference.
Masumoto, Rodney T., “Configurable On-Chip RAM Incorporated into High Speed Logic Array,” IEEE Custom Integrated Circuits Conference, Jun. 1985, CH2157-6/85/0000-0240, pp. 240-243.
Miyahara, et al., “A Composite CMOS Gate Array with 4K RAM and 128K ROM,” in Proceeding of the IEEE 1985 Custom Integrated Circuits Conference, pp. 248-251.
Nelson, Rick, “Embedded Memory Enhances Programmable Logic for Complex, Compact Designs,” EDN Electrical Design News, vol. 41, No. 23, Nov. 7, 1996, pp. 91-106.
New IEEE Standard Dictionary of Electrical and Electronics Terms, 5th Edition, Jan. 15, 1993, p. 974.
Ngai, Kai-Kit Tony, “Field-Reconfigurable Memory (FRM),” Slide Presentation at University of Toronto, Canada, Jun. 1993, Slide Nos. 1-14.
Ngai, Kai-Kit Tony, “An SRAM-Programmable Field-Reconfigurable Memory,” Manuscript Thesis, The University of Toronto Library, Aug. 18, 1994, pp. 1-68.
Patil, Suhas S. et al., “A Programmable Logic Approach for VLSI,” IEEE Trans. on Computers, vol. C-28, No. 9, Sep. 1979, pp. 594-601.
Plus Logic “FPSL5110 Intelligent Data Buffer” Product Brief, Plus Logic, Inc., San Jose, California, Oct. 1990, pp. 1-6.
Prince, et al., Semiconductor Memories, 2nd Ed., 1991, pp. 149-151, 157-160, and 371-375.
Quenot et al., “A Reconfigurable Compute Engine for Real-Time Vision Automata Prototyping,” Proc. of IEEE FCCM Conf., Napa, California, Feb. 1994, pp. 91-100.
Quinnell, Richard A., “FPGA Family Offers Speed, Density, On-Chip RAM, and Wide-Decode Logic,” EDN Dec. 6, 1990, pp. 62-64.
Ramatschi, “Field-Programmable Integrated Circuits,” in Elecktronik Praxis, vol. 25, No. 19, Oct. 4, 1990, pp. 52-59.
Reddy, S. et al., “A High Density Embedded Array Programmable Logic Architecture,” Proc. of the IEEE 1996 Custom Integrated Circuits Conf. (CICC), San Diego, California, May 5-8, 1996, pp. 251-254.
Sano, et al., “A 20ns CMOS Functional Gate Array with a Configurable Memory,” in Proceedings of the 1983 IEEE International Solid State Circuits Conference.
Satoh, Hisayasu et al., “A 209K-Transistor ECL Gate Array with RAM,” IEEE Jor. of Solid State Circuits, vol. 24, No. 5, Oct. 1989, pp. 1275-1279.
Seitz, “Concurrent VLSI Architectures,” IEEE Trans. on Computers, vol. C-33, No. 12, Dec. 1984, pp. 1247-1265.
Shubat, Alexander et al., “A Family of User-Programmable Peripherals with a Functional Unit Architecture,” IEEE J. of Solid-State Circuits, vol. 27, No. 4, Apr. 1992, pp. 515-529.
Smith, Daniel, “Intel's FLEXlogic FPGA Architecture,” IEEE 1063-6390/93, 1993 pp. 378-384.
Spandorfer, “Synthesis of Logic Functions on Array of Integrated Circuits,” Final Report prepared for Air Force Cambridge Research Laboratories, Office of Aerospace Research, United States Air Force, 1965.
Stone, Harold S. “A Logic in Memory Computer,” IEEE Trans. on Computers, Jan. 1970, pp. 73-78.
Sugo, et al., “An ECL 2.8ns 16K RAM with 1.2K Logic Gate Array,” IEEE International Solid-State Circuits Conference, Feb. 21, 1986, pp. 256-257.
Takechi, et al., “A CMOS 12K-Gate Array with Flexible 10Kb Memory,” in Proceedings of the 1984 IEEE International Solid-State Circuits Conference, p. 258.
Weiss, “FPGA Targets Dynamically Reloadable Logic,” in Electrical Digest News, Mar. 17, 1994.
Weiss, “Intel CPLD Combines Flash Memory, SRAM-Based Logic,” in Electrical Digest News, Apr. 28, 1994.
Xilinx, Corporation Data Sheet, “Virtex™ 2.5 V Field Programmable Gates Arrays,” Jan. 28, 2000, pp. 1-72.
Xilinx Inc., “The Programmable Logic Data Book,” 1993.
Xilinx Inc., “The Programmable Logic Data Book,” 1994, pp. 2-5 to 2-102.
Provisional Applications (1)
Number Date Country
60/289266 May 2001 US