Design Feature: March 28, 1996
If you view reconfigurable FPGAs only as static-logic devices that accommodate design changes during prototyping and as occasional field upgrades, you are missing the latest frontier in digital design. The ability of infinitely reprogrammable FPGAs to dynamically redefine hardware provides performance improvements you can't afford to ignore.
Reconfigurable logic is not so much a new product as it is a new way thinking. Although SRAM-based FPGAs have been available for years, new devices are offering greater performance. Depending on the device used, you can reprogram an SRAM-based FPGA from several times a second to more than a thousand times a second. Despite the device's flexibility, most designers use the reprogrammable capability as a development aid to debug and refine designs and, occasionally, for field upgrades.
In the context of this article, reconfigurable logic refers to infinitely reprogrammable logic devices. Reconfigurable logic differs from reprogrammable logic, which includes devices with a limited reprogramming life, such as EPROM, EEPROM, or flash-technology-based devices. Reprogrammable devices offer many of reconfigurable logic's features, especially ease of development and field upgrades. These devices aren't suitable for dynamic-logic applications, however.
Many designers haven't used the inherent flexibility of reconfigurable logic devices. Engineers have static-logic-design education and experience. Reusing logic implies sharing resources and multiplexing functions. Two functions might use a counter at different times, provided that the functions don't simultaneously need the counter. This practice reflects the static-logic way to view the world.
The dynamic-logic view of the world offers more flexibility. Logic cells acting as counter can become an ALU. Later, the logic cells might perform video edge detection or act as a digital filter. You can think of reconfigurable FPGAs as uncommitted gates. You can use a gate for only one function at a time. When you no longer need that function for a period of time, you have free gates for performing other functions.
Cache logic
Atmel, a manufacturer of SRAM-based FPGAs, promotes the concept of cache logic, which is analogous to cache memory. You load the active logic needed from inexpensive memory. Logic that is temporarily not in use is overwritten with the logic the system currently needs. Dynamic logic performs the same function as static logicwith fewer total gates, which may also result in lower power consumption for a system.
The AT6000 family of FPGAs from Atmel has several features that suit cache logic. First, the devices are partially reconfigurable. You don't have to program the entire device when you want to change a function. You just program the logic elements you wish to change. You can partially reprogram the device at 100 nsec/cell, or you can reprogram an entire 10,000-gate device in 646 µsec.
Even when you are reprogramming the device, the FPGA doesn't have to sit idle. The device lets you reprogram inactive areas on the FPGA as active areas continue to operate. Clocks can continue cycling, and registers don't lose their contents. Devices that allow only full reconfiguration typically can't operate during reconfiguration. In addition, these devices lose register contents during reconfiguration.
| Competing in the Real World |
|---|
|
Reconfigurable logic is an interesting topic for academic research, but can it compete in the real world of no-holds-barred design and bottom-line costs? Consider this case as a possible answer. Metalithic Systems (Sausalito, CA) recently introduced Digital Wings, a 128-track digital-recording-studio ISA bus board that uses reconfigurable logic. The system features 64-voice synthesis with algorithmic synthesis capability, a professional breakout box, and complete software for $1895 ($1495 without the breakout box). Kent Gilson, president of Metalithic Systems, describes the heart of the system as two Xilinx XC3090 FPGAs. The FPGAs implement a RISC CPU and instruction-set extensions. The RISC processor quickly motors through simple operations and uses instruction-set extensions to perform complex processing operations that would otherwise slow the system. The instruction-set extensions are loaded into the reconfigurable logic as needed, using logic gates only when the function is required. According to Gilson, the product offers more features, runs faster, and costs less than the µP- and DSP-based competition. He says, "You tell people about the concept, and they say it isn't real. You show them a prototype, and they still say it isn't real. But, when you take market share, the competition's management says it's real."
The reconfigurable advantage Gilson attributes a variety of advantages to designing your own RISC in an FPGA with dynamic instruction-set extensions. Implementing designs in FPGAs is a world apart from using a mask-programmed ASIC. With ASICs, you need to specify exactly what your system will do in advance and then proceed to implement the design. Success is defined as an ASIC that meets the specification. When you are well into developing software, if you realize that another flip-flop would simplify the software or improve performance, it's too late. With an FPGA-based design, you just add the flip-flop. Similarly, when you realize that some software operation is really going to slow the system, you go back and add another extension to the instruction set to accelerate the operation. You create instruction-set extensions only when the use of the standard RISC instructions excessively slows execution. Gilson calls the capability to continually refine the hardware, even when generating the software, "continuous evolution." The rate at which a system can evolve into a better product significantly improves with reconfigurable logic. Typical system design ends up freezing the hardware long before the software is finished. Hardware evolution stops, and the only improvements possible are those made in software. It isn't until you design the next system, which may be months away, that hardware evolution can continue. In contrast, reconfigurable logic lets you continue to refine the hardware to work efficiently with the software. The result is that each generation of your product can offer greater improvements than would otherwise be possible. Another advantage of reconfigurable logic in this application is that everything is not needed at one time. Although there are more than 30 potential recording formats, you use them only one at a time, so you need to implement only the one you are using.
|
Reconfigurable coprocessing
One way to use cache logic is in a coprocessor mode. You use a CPU to perform functions, and you program the reconfigurable coprocessor to perform complex instructions (for which the CPU is inefficient). Reconfigurable logic is capable of implementing large pipelined processing operations or highly parallel operations (or both).
Xilinx designed its XC6200 family specifically for coprocessing applications. Members of the XC6200 family have a built-in µP interface that you can program to accommodate 8-, 16-, or 32-bit data. In addition, a high-speed interface provides instant read/write access to all internal registers of the FPGA.
The first member of the XC6200 family, the XC6216, will be available in the second quarter. The device has 4096 cells arranged in a uniform 64-row × 64-column structure. Each cell has a register and performs all types of two-input logic functions. Alternatively, you can use a logic cell as 2 bytes of synchronous RAM. The company estimates the gate utilization of each cell at four to six gates for a total of 16,000 to 24,000 gates per device.
The XC6216 suits applications that swap logic into and out of the device. The device has fast partial or full reconfiguration. It is fully configured in 200 µsec or partially reconfigured at 40 nsec/cell. Because the device can quickly read and write the contents of every register, you can save register values when swapping out a function. You can recover register values when you restore the logic configuration. The XC6200 family is similar to Atmel's AT6000 family in that you can simultaneously have reconfiguration on part of the device with a circuit running elsewhere.
A reconfigurable coprocessor works closely with a CPU and typically doesn't need a special operating system (OS). The next step up on the ladder of complexity is a reconfigurable computer, which can work with an extensible instruction set and a variable architecture. The computer is limited only by the flexibility of the reconfigurable devices you use. Reconfigurable computers require a special OS to deal with the potential complexity of such a system. In return for the complexity, you can benefit from the ability to bring in complex instructions, such as for image-processing algorithms, while most often working around a small core of simple instructions.
Reconfigurable computing lets you justify a complex instruction that your design may seldom use. The complex instruction, when used, substantially increases performance. Static-logic designs pay a permanent price in silicon area for implementing complex instructions. Reconfigurable logic requires only inexpensive memory to store the instruction implementation until the instruction is needed.
Reconfigurable logic isn't limited to processor- and coprocessor-type applications. Any application in which you could benefit from having logic implement functions at different times can potentially take advantage of reconfigurable logic.
| Are OTP FPGAs a dying breed? |
|---|
|
One-time-programmable (OTP) devices have always had the problem that any changes, whether in development or in production, lead to scrap parts. OTP FPGAs can't compete in the reconfigurable logic business. But, each type of FPGA technology tends to have certain advantages and disadvantages. Don't count OTP FPGAs out yet, because there are certain areas in which the devices have advantages over other devices. The OTP antifuse FPGA technologies typically offer better routing resources than RAM-based devices do. The much smaller antifuse switching elements vs RAM-based switches allow the antifuse vendors to add more routing resources when using less silicon area. Underscoring that point is QuickLogic's (Santa Clara, CA) pASIC II family, which guarantees routing. The company guarantees that if you fit the logic into the cells, you can route it. You won't have a lot of extremely long routing delays, either. No RAM-based FPGA company can make the same claim. RAM-based FPGAs don't provide the design security that is possible with OTP devices. If design security is important to you, RAM-based FPGAs are not a viable alternative.
|
When considering the use of reconfigurable logic for an application, determine whether you will reconfigure the FPGA once per function or multiple times per function. "Function" refers to some application or task that interfaces either with a human or with another system on human time scales.
With human time scales, changing to a new function typically should be faster than 1/4 sec but probably would seldom benefit from taking less than 10 msec. For example, activating a button to change operations on a test instrument could be considered calling up a new function. Whether the function takes 1 or 100 msec probably wouldn't affect the system's user.
Designs that configure logic only once per function can tolerate relatively long reprogramming times. These devices include those listed in Table 1 as well as some older devices from these manufacturers.
Designs that need to reprogram logic multiple times during a single function are substantially affected by long programming times. If you want to reconfigure an FPGA several hundred times a second, you need a device that reconfigures in a few milliseconds or less. Many of the devices in Table 1 can meet these requirements. Partially reconfigurable devices, such as the Atmel AT6000 family or the Xilinx XC6200 family, not only provide short reconfiguration times, but also allow the rest of the chip to operate productively during partial reconfigurations. Although partially reconfigurable, Lucent Technologies' (formerly, AT&T Microelectronics) 2Cxx FPGA family can't operate during reconfiguration. Devices that can't operate while being reconfigured are completely unproductive during the reconfiguration time.
| Embedded Memory |
|---|
|
Reconfigurable logic devices offer internal memories in three varieties. The Xilinx 4000 and 6200 devices and the Lucent devices in Table 1 let you convert the look-up table that normally performs logic functions into RAM for data storage and retrieval. To use it, you trade logic capacity for memory. Altera offers embedded-memory arrays in its Flex 10K family. These dedicated embedded-memory arrays do not reduce logic capacity. Atmel generates RAM for its AT6000 family from the D flip-flops.
|
It is difficult to know how much time you can afford to spend reprogramming. According to Brad Hutchings, an assistant professor of electrical and computer engineering at Brigham Young University (Provo, UT) and a researcher in reconfigurable systems, the time varies widely. For some applications, the efficiency of the device is so high after reconfiguration that even 20% processing and 80% reconfiguring has proven useful. Other applications demand a greater percentage of processing time for efficiency. Hutchings notes that pipelined operations are a case in which full reconfiguration tends to be inefficient. A pipeline keeps the gates working, and reconfiguring interrupts the operation.
In reconfigurable logic, the highest potential performance comes from devices that both reconfigure rapidly and offer partial reconfiguration capability to further enhance speed when making minor changes to the FPGA. This higher potential performance causes greater design complexity, however.
| Reconfigurable computing products |
|---|
|
Several companies provide reconfigurable logic boards and systems for reconfigurable computing applications. The products let you put reconfigurable logic to work on applications without developing the hardware yourself. In addition, the products also provide a variety of hardware to link a host processor to the reconfigurable computer and provide tools to help you develop and debug your applications. Typical applications in which reconfigurable computers have been successfully used include image processing, signal processing, application acceleration, database searching and analysis, rapid prototyping, cryptography, pattern matching, and data compression/decompression. Annapolis Micro Systems, a company that has provided Xilinx design services for years, offers the Wildfire family of custom configurable computers. The architecture is based on the SPLASH-2 technology transferred from the National Security Agency (Fort George G Meade, MD) and the Institute for Defense Analyses, Center for Computing Sciences (Alexandria, VA). The architecture lets you configure an array of Xilinx XC4000 FPGAs as a systolic array, a single-instruction, multiple-data (SIMD) engine, or a hybrid of the two. A Wildfire system uses as many as 16 array cards. Each array card has 16 XC4010 FPGAs, memory, and a crossbar switch that is reprogrammable among the clock cycles of 16 user-programmable configurations. The VMEbus-based system interfaces to a PCI- or S-bus-based host computer. The company also offers the Wild-one, a single-FPGA processing board that interfaces to the PCI bus and starts at $2430. Giga Operations offers the Spectrum reconfigurable computing platform for PCI, VL, and ISA buses. At the heart of the system are 2.4×3.65-in. modular daughterboards that contain two Xilinx XC4000 family FPGAs and memory. The daughterboards interface to each other and to the interface board through a 130-pin virtual-bus architecture. The virtual bus may be programmed for different bus bandwidths, protocols, and interconnect arrangements. Complete systems start at $7000, including software. You can also use the daughterboards in your own designs. Each daughterboard includes the FPGAs and 256 kbytes of SRAM. Optionally, you can add up to 8 Mbytes of DRAM to the daughterboards. The individual daughterboards start at $2800. Logic designs for reconfigurable systems are usually developed with the same tools as standard logic design, such as schematic entry and hardware-description languages (HDLs). Giga Ops also offers the XC Compiler, a C syntax HDL that generates the .XNF design files used by the Xilinx place-and-route software. Virtual Computer Corp (VCC) makes coprocessing boards that plug into the S-bus on Sun workstations. To use the board, you design the hardware functions for implementation by Xilinx XC4000 family FPGAs. Virtual Computer refers to the complete hardware-processing functions as "hardware objects." Once you have designed and implemented the hardware objects, you can use them as you would a software macro. The company's products are currently used for high-performance computing, particularly linear convolution algorithms and medical imaging. Products range from the EVC1 with a single XC4010 device ($2324) to boards with 52 XC4013 devices providing 676,000 reconfigurable logic gates. Altera offers the Reconfigurable Interconnect Peripheral Processor (RIPP) 10 for exploring reconfigurable logic designs. The PC-compatible ISA bus board provides up to 100,000 gates of reconfigurable logic. The board provides eight 232-pin PGA sockets that can accommodate either Flex EPF81188 devices or a modified field-programmable interconnect device based on the IQ160 from I-Cube Inc. Four 36-pin DIP sockets accommodate up to 2 Mbytes of SRAM. In addition, the board also has a Flex EPF8452 and an EP330 that provide bus-interface and -configuration logic. The board with downloadable software and interface logic (but without EPF81188s, programmable interconnect devices, and SRAM) costs $995.
|
Designs that use only full reconfigurations typically have a more limited set of configurations that you can thoroughly test when designing the system. The use of partial reconfigurations makes possible many combinations of circuits simultaneously present.
When using partial reconfigurations, you may not be able to apply the same physical location every time you implement the logic. Another group of logic functions may be using the location. To avoid the problem, the logic must be relocatable.
For example, Atmel's AT6000 family offers parameterized macro generators that produce hard macros. These macros provide worst-case speed, area, and power consumption and designate the logic cells used. The uniform cell structure in the AT6000 family lets you translate the hard macro or rotate it in 908 increments without changing the macro's performance. The relocation capability lets you move the macro function to an unused group of cells anywhere on the chip.
When partially reconfiguring FPGAs, you must avoid making the transition through potentially destructive configurations in which two outputs are driving the same network. To achieve partial reconfiguration without conflicts, Atmel and Lucent provide software that designates programming sequences to get from one state to the next. Xilinx designed its XC6200 family so that two outputs can't simultaneously drive the same network.
| Investing in Reconfigurable computing |
|---|
|
Xilinx believes reconfigurable computing will become a significant business, and the company is investing to encourage industry growth. Xilinx has created a Reconfigurable Computing Developer's Program that includes up to a 50% discount on the company's development systems, special discount pricing on devices prices to $100,000, a 50% discount on technical training, eligibility for commercial development grants of up to $20,000 (upon approval of a reconfigurable computing hardware-development proposal), and promotional support through product sales literature. The significant investment of this program not only indicates the importance the company attaches to the growth of reconfigurable computing, but also reflects the company's desire to stay on top of the business as it develops.
|
Connecting it all
Reconfigurable logic is not just a reconfigurable sea of gates. Commercially available RAM-based FPGAs don't offer unlimited connectivity. Connectivity involves whether you can connect the logic cells the way you want after you have found space for all logic functions. Furthermore, the connectivity issue can be split into an on-chip problem and a separate off-chip problem when using two or more reconfigurable devices.
FPGA designers have to make difficult choices between routing resources and logic. RAM-based FPGAs for a given silicon area have to trade usable logic gates for routing resources. More routing resources mean fewer usable logic gates, which, in turn, drive up the cost per gate. The end result of this trade-off is that designers of SRAM-based FPGAs try to design in adequate routing resources without leaving excess routing resources, which the designers could use more profitably as gates.
When trying to route a design that has filled up most or all of the logic cells, you may run into routing problems. In the worst case, you may find that the design simply does not route. A more likely scenario is that the design routes, but a certain number of paths are too slow. If you've used an FPGA that is too slow for your application, even when optimally routed, you have to use a faster device. Often, overworking the routing resources and forcing some networks to use long, slow routing paths cause speed problems on a few of the networks. To solve this problem, you need to use automatic or, in some cases, manual methods to force less critical networks onto the slower paths and use the fastest paths for the signals that need them.
Altera's Flex 8000 and 10K devices have an interconnect structure that offers more predictable timing before place and route than other devices. In fact, the company refers to its devices as "complex PLDs," because they have a routing structure with fixed delays. This structure relates more to PLDs than to the segmented routing resources of most FPGAs. You can still run out of routing resources, but you have to go out of your way to create slow routing paths.
If your design requires more than one FPGA, connectivity between the devices becomes an issue. Reconfigurable logic may require more than just reconnecting gates at a low level. The system may require altering the architecture of the design at a higher level. Larger designs typically place more demands on data flow and bus throughput to handle greater data rates.
| Usable Gates |
|---|
|
Use caution when comparing reconfigurable logic devices in Table 1 on the basis of usable gates. The problem isn't dishonesty on the part of the FPGA companies but the lack of any standard for evaluating usable gates in complex logic cells. Usable gates in the standard-gate-array world are two input gates. All functions are easily synthesized out of these gates. There are set ways to determine the gate equivalence of registers, flip-flops, and gates with more than two inputs. Most FPGAs have larger cells, often including registers and more than two inputs. If your design does not map efficiently into the FPGA, you may only be able to utilize one-half or one-third the advertised usable gate values.
|
For example, one application might favor linking devices in a linear pipeline arrangement, in which data is processed on one device and passed down to other devices for further processing. Another application might require highly parallel operations in which data is distributed among many identical processing elements. In addition, one application may favor localized memory, and another may favor global memory.
Reconfigurable logic scores high marks for allowing reconfigurable architectures. Compared with static-logic design, in which you have to select one type of bus and stick with it, reconfigurable logic offers a world of flexibility. You can actually use different busing schemes at different times for operations.
Reconfigurable logic does have limitations when you use multiple reconfigurable chips, however. Packaging technology limits the number of pins to a few hundred, yet these devices may have thousands of logic cells. The complete connectivity of a crosspoint-switch model is not possible on these larger designs, even if you could get enough I/O pins.One approach to the multichip interconnect problem is to keep a large, reconfigurable bus connecting the reconfigurable logic devices. Rather than committing to one busing architecture, you can use a reconfigurable bus that allows multiple bus types. When a bus interconnect exclusively uses reconfigurable devices, you can redefine the networks on an individual basis, using various busing schemes and connecting chips at different times.
To improve connectivity, especially in large designs, you can use field-programmable interconnect devices, such as those from I-Cube. The crosspoint switches let you quickly reconfigure connections, providing reconfigurability in your off-chip connections consistent with the on-chip flexibility of reconfigurable logic.
Although connectivity can be a problem for reconfigurable logic designs, especially large ones requiring arrays of FPGAs, careful analysis and design provide workable solutions. Cost, however, is a much more troublesome problem for reconfigurable logic and FPGAs.
An FPGA requires significantly more silicon area than does a mask-programmed gate array with the same number of gates. Static-logic designs are difficult to justify on FPGAs, except in low volumes in which NRE charges and low-volume manufacturing drive up the cost of mask-programmed devices to comparable levels. If you compare the device cost of FPGAs to that of mask-programmed devices, the crossover point is typically around a few thousand devices. Simple math might lead you to believe that FPGAs are good for prototyping and for extremely low production volumes, but the device will never be a high-volume product.
The real world tells a different story. Xilinx ranks as the 10th largest ASIC supplier worldwide, with $355 million in revenues for the fiscal year ending March 31, 1995. Xilinx's FPGA competitors are also growing rapidly. FPGAs have proven to be an economically viable method for implementing logic for a small, but fast-growing, part of the digital market. Some of the reasons for the popularity of FPGAs include short development time, low development cost, and the ability to respond quickly to market changes whether from customer needs or from compatibility with evolving standards. Designers find that just about every design keeps evolving, so the decision as to when to cast a design in silicon is a tough one to make.
The use of FPGAs in reconfigurable logic designs not only capitalizes on an FPGA's strong points, but also leverages the gates to improve the economic viability of FPGAs. The usable gates of a device might be multiplied by two, 10, or more, depending on how you take advantage of reconfiguration in your design. The end results are that the cost per gate drops and that reconfigurable logic can compete in a wider range of applications.
The other weak point for FPGAs is speed. FPGAs can't offer clock rates quite as high as mask-programmed devices. Furthermore, interconnect problems on some designs cause clock rates to drop further. Although there are some applications in which FPGAs are just too slow, the devices are fast enough for many applications. Nailing down specific clock speeds is difficult, because the speeds are so application-dependent. Applications that run on a single FPGA might typically run from 15 to 100 MHz. Designs spread across multiple FPGAs may suffer further speed reductions.
Using reconfigurable logic at maximum speed may require you to use pipelined-design and parallel-processing techniques at lower clock speeds than you would in a mask-programmed device. For very high-speed serial data rates, you may need to perform off-chip conversion, so that you can use lower speed parallel data paths on the FPGA.
If you think of reconfigurable logic as competing for speed with mask-programmed devices, the technique comes up a little short. Instead, consider the ability of reconfigurable logic to accelerate algorithms that would otherwise have to be performed in software. In this comparison, reconfigurable logic commonly provides more than an order-of-magnitude speed improvement.
| Configuration Memory |
|---|
|
When designing configurable logic, keep in mind that you'll need to store configuration data in memory. As the configuration data bits in Table 1 show, when you are designing with high-capacity FPGAs that have multiple configurations, you may need megabytes of memory per device. Reconfigurable logic systems that interface to a computer system can use the hard disk as a source of inexpensive memory for storing configuration data. If you're designing a reconfigurable logic system that won't interface to a computer, you'll need to provide another source of memory.
|
For years, the trade-off has always been that software has the best flexibility and lowest cost for executing algorithms, especially complex algorithms, and hardware offers the greatest speed, but at the greatest cost. Hardware design also takes more time to design and time to implement. Reconfigurable logic changes the landscape. Although reconfigurable logic is more expensive than mask-programmed gate arrays on a gate-per-gate basis, the ability of reconfigurable logic to reuse the gates alters the cost equation. Designers need to re-examine what should be done in software and in hardwarereconfigurable hardware.
I'd especially like to thank Brad Hutchings of Brigham Young University, Phil Kuekes of Hewlett-Packard Laboratories, and Nick Tredennick for conversations in preparing this article.

You can reach Technical Editor Doug Conner at (805) 461-9669; fax (805) 461-9640; or email at edndconner@mcimail.com
References
1. Athanas, Peter, and Kenneth Pocek, Editors, IEEE Symposium on FPGAs for Custom Computing Machines, 1995.
2. Schewel, John, Editor, SPIE Proceedings on Field Programmable Gate Arrays (FPGAs) for Fast Board Development and Reconfigurable Computing, 1995, Vol 2607.
3. http://www.reconfig.com on the Internet.
| Manufactureers of Reconfigurable Logic Devices | |||
|---|---|---|---|
| For free information on reconfigurable logic devices and computers such as those described in this article use EDN's Express Request service. When you contact any of the following manufacturers directly, please let thme know that you read about their products on EDN's web site. | |||
|
Altera Corp San Jose, CA (408) 894-7000 |
Annapolis Micro Systems Inc Annapolis, MD (410) 841-2514 |
Atmel Corp San Jose, CA (408) 441-0311 |
Giga Operations Corp Berkeley, CA (510) 528-8438 |
|
I-Cube Inc Santa Clara, CA (408) 986-1077 |
Lucent Technologies Allentown, PA (800) 372-2447 |
Virtual Computer Corp Reseda, CA, (818) 342-8294 |
Xilinx Inc San Jose, CA (408) 559-7778 |
| Table 1--Representative reconfigurable logic products | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Manufacturer | Device | Number of logic elements | Usable gates (1000) | Number of flip-flops | Maximum RAM bits | Maximum I/O | 3.3V | 5V | Price | Full reconfiguration time | Partial reconfiguration time | Configuration bits | Delivery status | |
| Altera | EPF8282A | 208 | 2.5 | 282 | NA | 78 | X | $5 (10,000) Note 2 | 6.4 msec | NA | 40,000 | Shipping | ||
| EPF8452A | 336 | 4 | 452 | NA | 120 | X | $7.50 (10,000) Note 2 | 10.2 msec | NA | 64,000 | Shipping | |||
| EPF8636A | 504 | 6 | 636 | NA | 136 | Note 1 | X | $13 (10,000) Note 2 | 15.4 msec | NA | 96,000 | Shipping | ||
| EPF8820A | 672 | 8 | 820 | NA | 152 | Note 1 | X | $19 (10,000) Note 2 | 20.5 msec | NA | 128,000 | Shipping | ||
| EPF81188A | 1008 | 12 | 1188 | NA | 184 | Note 1 | X | $29 (10,000) Note 2 | 30.7 msec | NA | 192,000 | Shipping | ||
| EPF81500A | 1296 | 16 | 1500 | NA | 208 | Note 1 | X | $49 (10,000) Note 2 | 40 msec | NA | 250,000 | Shipping | ||
| EPF10K10 | 576 | 10 | 720 | 6144 | 150 | Note 1 | X | $19 (10,000) Note 3 | 11.5 msec | NA | 115,000 | Shipping | ||
| EPF10K20 | 1152 | 20 | 1344 | 12,288 | 198 | Note 1 | X | $45 (10,000) Note 3 | 22.5 msec | NA | 225,000 | Q3 | ||
| EPF10K30 | 1728 | 30 | 1968 | 12,288 | 248 | Note 1 | X | $69 (10,000) Note 3 | 36.8 msec | NA | 368,000 | May | ||
| EPF10K40 | 2304 | 40 | 2576 | 16,384 | 278 | Note 1 | X | $109 (10,000) Note 3 | 48.8 msec | NA | 488,000 | Q4 | ||
| EPF10K50 | 2880 | 50 | 3184 | 20,480 | 310 | Note 1 | X | $150 (10,000) Note 3 | 60.9 msec | NA | 609,000 | Shipping | ||
| EPF10K70 | 3744 | 70 | 4096 | 18,432 | 358 | Note 1 | X | NA | 88.1 msec | NA | 881,000 | Q4 | ||
| EPF10K100 | 4992 | 100 | 5392 | 24,576 | 406 | Note 1 | X | NA | 117.2 msec | NA | 1,172,000 | June | ||
| Atmel | AT6002 | 1024 | 4 | 1024 | 292 | 96 | X | X | $10 (1000) | 214 µsec | 100 nsec/cell | 21,424 | Shipping | |
| AT6003 | 1600 | 6 | 1600 | 457 | 120 | X | X | $25 (1000) | 332 µsec | 100 nsec/cell | 33,232 | Shipping | ||
| AT6005 | 3136 | 10 | 3136 | 896 | 108 | X | X | $50 (1000) | 646 µsec | 100 nsec/cell | 64,624 | Shipping | ||
| AT6010 | 6400 | 20 | 6400 | 1828 | 204 | X | X | $125 (1000) | 1.312 msec | 100 nsec/cell | 131,152 | Shipping | ||
| Lucent Technologies | ATT2C04 | 100 | 3.5 to 4.3 | 400 | 6400 | 160 | X | $20.50 (1000) | 0.82 msec | 1.7 µsec/frame | 65,424 | Shipping | ||
| ATT2C06 | 144 | 5 to 6.2 | 576 | 9216 | 192 | X | $30.80 (1000) | 1.14 msec | 2.0 µsec/frame | 91,024 | Shipping | |||
| ATT2C08 | 196 | 7 to 8.8 | 784 | 12,544 | 224 | X | $40.80 (1000) | 1.44 msec | 2.2 µsec/frame | 115,600 | Shipping | |||
| ATT2C10 | 256 | 9 to 11.4 | 1024 | 16,384 | 256 | X | $49.50 (1000) | 1.86 msec | 2.5 µsec/frame | 148,944 | Shipping | |||
| ATT2C12 | 324 | 12 to 14.6 | 1296 | 20,736 | 288 | X | $67.10 (1000) | 2.25 msec | 2.7 µsec/frame | 79,856 | Shipping | |||
| ATT2C15 | 400 | 15 to 18 | 1600 | 25,600 | 320 | X | $113.10 (1000) | 2.76 msec | 3.0 µsec/frame | 220,944 | Shipping | |||
| ATT2C26 | 576 | 22 to 26 | 2304 | 36,864 | 384 | X | $152.50 (100) | 3.84 msec | 3.5 µsec/frame | 307,024 | Shipping | |||
| ATT2C40 | 900 | 35 to 40 | 3600 | 57,600 | 480 | X | $312.30 (1000) | 5.93 msec | 4.3 µsec/frame | 474,176 | Shipping | |||
| Xilinx | XC4003E | 100 | 3 | 360 | 3200 | 80 | X | $15 (10,000) | 5 msec | NA | 53,936 | Shipping | ||
| XC4005E | 196 | 5 | 616 | 6272 | 112 | X | $25 (10,000) | 10 msec | NA | 94,960 | Shipping | |||
| XC4006E | 256 | 6 | 768 | 8192 | 128 | X | $34 (10,000) | 12 msec | NA | 119,792 | Shipping | |||
| XC4008E | 324 | 8 | 936 | 10,386 | 144 | X | $42 (10,000) | 15 msec | NA | 147,544 | Shipping | |||
| XC4010E | 400 | 10 | 1120 | 12,800 | 160 | X | X | $48 (10,000) | 18 msec | NA | 178,136 | Shipping | ||
| XC4013E | 576 | 13 | 1536 | 18,432 | 192 | X | X | $79 (10,000) | 25 msec | NA | 247,920 | Shipping | ||
| XC4020E | 784 | 20 | 2016 | 25,088 | 224 | X | $150 (10,000) | 33 msec | NA | 329,304 | Shipping | |||
| XC4028EX | 1024 | 28 | 2560 | 32,768 | 256 | X | X | $390 (10,000) | 8 msec | NA | 665,000 | Shipping | ||
| XC4036EX | 1296 | 36 | 3168 | 41,472 | 288 | X | X | NA | 10 msec | NA | 828,973 | Q2 | ||
| XC4044EX | 1600 | 44 | 3840 | 51,200 | 320 | X | X | NA | 13 msec | NA | 1,010,993 | 1996 | ||
| XC4052EX | 1936 | 52 | 4576 | 61,952 | 352 | X | X | NA | 15 msec | NA | 1,211,061 | Q2 | ||
| XC4062EX | 2304 | 62 | 5376 | 73,728 | 384 | X | X | NA | 18 msec | NA | 1,428,480 | 1996 | ||
| XC4085EX | 3136 | 85 | 7168 | 100,352 | 448 | X | X | NA | 24 msec | NA | 1,912,960 | 1997 | ||
| XC40125EX | 4624 | 125 | 10,336 | 147,968 | 544 | X | X | NA | 35 msec | NA | 2,820,640 | 1997 | ||
| XC5202 | 256 | 2 to 3 | 256 | NA | 84 | Q3 | X | $7.50 (10,000) | <1 msec | NA | 72,704 | Shipping | ||
| XC5204 | 480 | 4 to 5 | 480 | NA | 124 | X | $12.50 (10,000) | 1 msec | NA | 72,704 | Shipping | |||
| XC5206 | 784 | 6 to 7 | 784 | NA | 148 | Q3 | X | $21 (10,000) | 1 msec | NA | 108,544 | Shipping | ||
| XC52010 | 1296 | 10 to 12 | 1296 | NA | 196 | X | $32.50 (10,000) | 2 msec | NA | 168,960 | Shipping | |||
| XC52015 | 1936 | 14 to 15 | 1936 | NA | 244 | Q3 | X | $65 (10,000) | 3 msec | NA | 241,664 | Shipping | ||
| XC6209 | 2304 | 9 to 13 | 2304 | 36,864 | 192 | X | NA | 120 µsec | 40 nsec/cell | 66,000 | Q3 | |||
| XC6216 | 4096 | 16 to 24 | 4096 | 66,560 | 256 | X | NA | 200 µsec | 40 nsec/cell | 120,000 | Q2 | |||
| XC6236 | 9216 | 36 to 55 | 9216 | 150,528 | 384 | X | NA | 450 µsec | 40 nsec/cell | 270,000 | Q3 | |||
| XC6264 | 16,384 | 64 to 98 | 16,384 | 268,288 | 512 | X | NA | 800 µsec | 40 nsec/cell | 480,000 | 1997 | |||
| Notes: 1. 5V power, 3.3V I/O; 2. Price projections for the end of 1996; 3. Price projections for the second half of 1997. | ||||||||||||||