Sunteți pe pagina 1din 16

F I E L D - P R O G R A M M A B L E D E V I C E S

FPGA and CPLD


Architectures: A Tutorial

STEPHEN BROWN
RECENTLY, the development of of the various FPD architectures
JONATHAN ROSE
new types of sophisticated field- and discuss the most important
programmable devices (FPDs) has University of Toronto commercial products, emphasiz-
dramatically changed the process ing devices with relatively high log-
of designing digital hardware. ic capacity.
Unlike previous generations of
hardware technology in which This tutorial surveys commercially Evolution of FPDs
board level designs included large available, high-capacity field- The first user-programmable
numbers of SSI (small-scale inte- programmable devices. The chip that could implement logic cir-
gration) chips containing basic authors describe the three main cuits was the programmable read-
gates, virtually every digital design only memory (PROM), in which
categories of FPDs: simple and
produced today consists mostly of address lines serve as logic circuit
high-density devices. This is true complex programmable logic inputs and data lines as outputs.
not only of custom devices such as devices, and field-programmable Logic functions, however, rarely re-
processors and memory but also gate arrays. They then give quire more than a few product
of logic circuits such as state ma- architectural details of the most terms, and a PROM contains a full
chine controllers, counters, regis- important chips and example decoder for its address inputs.
ters, and decoders. When such PROMs are thus inefficient for real-
applications of each type of
circuits are destined for high-vol- izing logic circuits, so designers
ume systems, designers integrate device. rarely use them for that purpose.
them into high-density gate arrays. The first device developed
However, the high nonrecurring specifically for implementing log-
engineering costs and long manufac- The FPD market has grown over the ic circuits was the field-programmable
turing time of gate arrays make them past decade to the point where there is logic array, or simply PLA for short. A
unsuitable for prototyping or other low- now a wide assortment of devices to PLA consists of two levels of logic gates:
volume scenarios. Therefore, most pro- choose from. To choose a product, de- a programmable, wired-AND plane fol-
totypes and many production designs signers face the daunting task of re- lowed by a programmable, wired OR
now use FPDs. The most compelling searching the best uses of the various plane. A PLA’s structure allows any of
advantages of FPDs are low startup chips and learning the intricacies of its inputs (or their complements) to be
cost, low financial risk, and, because vendor-specific software. Adding to the ANDed together in the AND plane; each
the end user programs the device, difficulty is the complexity of the more AND plane output can thus correspond
quick manufacturing turnaround and sophisticated devices. To help sort out to any product term of the inputs.
easy design changes. the confusion, we provide an overview Similarly, users can configure each OR

42 0740-7475/96/$05.00 © 1996 IEEE IEEE DESIGN & TEST OF COMPUTERS


Inputs and flip-flop
feedbacks Terminology
D CPLD (complex PLD): an arrangement of multiple SPLD-like blocks on a single
D chip. Alternative names are enhanced PLD (EPLD), superPAL, and
megaPAL.
AND D FPD (field-programmable device): any integrated circuit used for implement-
plane Outputs
D ing digital hardware that allows the end user to configure the chip to re-
alize different designs. Programming such a device often involves placing
D
the chip into a special programming unit, but some chips can also be
D configured “in system.” Another name for FPDs is programmable logic de-
vices (PLDs); although PLDs are the same type of chips as FPDs, we pre-
Figure 1. PAL structure. fer the term FPD because historically PLD denoted relatively simple devices.
FPGA (field-programmable gate array): an FPD featuring a general structure
that allows very high logic capacity. Whereas CPLDs feature logic re-
plane output to produce the logical sources with a wide number of inputs (AND planes), FPGAs offer nar-
sum of any AND plane output. With this rower logic resources. FPGAs also offer a higher ratio of flip-flops to logic
structure, PLAs are well-suited for im- resources than do CPLDs.
plementing logic functions in sum-of- HCPLD (high-capacity PLD): term coined in trade literature refers to both CPLDs
products form. They are also quite and FPGAs. We do not use this term here.
versatile, since both the AND and OR Interconnect: the wiring resources in an FPD.
terms can have many inputs (product Logic block: a relatively small circuit block replicated in an FPD array. A circuit
literature often calls this feature “wide implemented in an FPD is first decomposed into smaller subcircuits that
AND and OR gates”). can each be mapped into a logic block. The term occurs mostly in the
When Philips introduced PLAs in the context of FPGAs but can also refer to a block of circuitry in a CPLD.
early 1970s, their main drawbacks were Logic capacity: the amount of digital logic that we can map into a single FPD,
expense of manufacturing and some- usually measured in units of the equivalent number of gates in a tradi-
what poor speed performance. Both tional gate array. In other words, we measure an FPD’s capacity as its
disadvantages arose from the two lev- comparable gate array size. Thus, we can refer to logic capacity as the
els of configurable logic; programma- number of two-input NAND gates.
ble logic planes were difficult to Logic density: the amount of logic per unit area in an FPD.
manufacture and introduced significant PAL (programmable array logic): a relatively small FPD containing a pro-
propagation delays. To overcome these grammable AND plane followed by a fixed-OR plane.
weaknesses, Monolithic Memories PLA (programmable logic array): a relatively small FPD that contains two lev-
(MMI, later merged with Advanced els of programmable logic—an AND plane and an OR plane. (Although
Micro Devices) developed PAL devices. PLA structures are sometimes embedded into full-custom chips, we refer
As Figure 1 shows, PALs feature only a here only to user-programmable PLAs provided as separate integrated cir-
single level of programmability—a pro- cuits.)
grammable, wired-AND plane that Programmable switch: a user-programmable switch that can connect a logic
feeds fixed-OR gates. To compensate element to an interconnect wire or one interconnect wire to another.
for the lack of generality incurred by the Speed performance: the maximum operable speed of a circuit implemented
fixed-OR plane, PALs come in variants in an FPD. For combinational circuits, it is set by the longest delay through
with different numbers of inputs and any path, and for sequential circuits, it is the maximum clock frequency
outputs and various sizes of OR gates. at which the circuit functions properly
To implement sequential circuits, PALs SPLD (simple PLD): usually a PLA or a PAL.
usually contain flip-flops connected to
the OR gate outputs.
The introduction of PAL devices pro- tectures that we will describe shortly. FPDs, including PLAs, PALs, and PAL-
foundly affected digital hardware de- Variants of the basic PAL architecture like devices, into the single category of
sign, and they are the basis of some of appear in several products known by simple programmable-logic devices
the newer, more sophisticated archi- various acronyms. We group all small (SPLDs), whose most important char-

SUMMER 1996 43
F I E L D - P R O G R A M M A B L E D E V I C E S

Logic fabricated transistors customized for the


block
user’s logic circuit by means of wire con-
nections. Because the silicon foundry
I/O block performs customization during chip fab-
rication, the manufacturing time is long,
and the user’s setup cost is high.
Although MPGAs are clearly not
FPDs, we mention them here because
they motivated the design of the field-
programmable equivalent, FPGAs. Like
MPGAs, an FPGA consists of an array of
uncommitted circuit elements (logic
blocks) and interconnect resources,
but the end user configures the FPGA
through programming. Figure 2 shows a
typical FPGA architecture. As the only
type of FPD that supports very high log-
ic capacity, FPGAs have engendered a
major shift in digital-circuit design.
Figure 3 illustrates the logic capaci-
ties available in each FPD category.
Figure 2. FPGA structure. “Equivalent gates” refers loosely to the
number of two-input NAND gates. The
chart serves as a guide for selecting a
ty is that the programmable-logic plane device for an application according to
40,000 *** structure grows too quickly as the num- the logic capacity needed. However, as
20,000
ber of inputs increases. The only feasi- we explain later, each type of FPD is in-
ble way to provide large-capacity herently better suited for some appli-
Equivalent gates

12,000 **
5,000 * devices based on SPLD architectures is cations than for others. There are also
2,000 to programmably interconnnect multi- special-purpose devices optimized for
1,000
ple SPLDs on a single chip. Many FPD specific applications (for example, state
products on the market today have this machines, analog gate arrays, large in-
200 basic structure and are known as com- terconnection problems). Since such
plex programmable-logic devices. devices have limited use, we do not de-
Altera pioneered CPLDs, first in their scribe them here.
SPLDs CPLDs FPGAs Classic EPLD chips, and then in the Max
5000, 7000, and 9000 series. Because of User-programmable switch
*** Altera Flex 10K, ATT&T ORCA 2 a rapidly growing market for large FPDs, technologies
** Altera Max 9000 other manufacturers developed CPLD User-programmable switches are the
* Altera Max 7000, AMD Mach, devices, and many choices are now key to user customization of FPDs. The
Lattice (p)LSI, Cypress Flash370,
Xilinx XC9500 available. CPLDs provide logic capaci- first user-programmable switch devel-
ty up to the equivalent of about 50 typi- oped was the fuse used in PLAs.
Figure 3. FPD logic capacities. cal SPLD devices, but extending these Although some smaller devices still use
architectures to higher densities is diffi- fuses, we will not discuss them here be-
cult. Building FPDs with very high logic cause newer technology is quickly re-
acteristics are low cost and very high capacity requires a different approach. placing them. For higher density
pin-to-pin speed performance. The highest capacity general-purpose devices, CMOS dominates the IC in-
Advances in technology have pro- logic chips available today are the tra- dustry, and different approaches to im-
duced devices with higher capacities ditional gate arrays sometimes referred plementing programmable switches are
than SPLDs. The difficulty with increas- to as mask-programmable gate arrays. necessary. For CPLDs, the main switch
ing a strict SPLD architecture’s capaci- An MPGA consists of an array of pre- technologies (in commercial products)

44 IEEE DESIGN & TEST OF COMPUTERS


Table 1. Summary of FPD programming technologies. +5V
Input wire Input wire
Switch type Reprogrammable? Volatile? Technology
Product
Fuse No No Bipolar wire
EPROM Yes No UVCMOS
(out of circuit)
EEPROM Yes No EECMOS
(in circuit)
SRAM Yes Yes CMOS EPROM EPROM
(in circuit)
Antifuse No No CMOS+ Figure 4. EPROM programmable
switches.

are floating gate transistors like those


used in EPROM (erasable programma-
ble read-only memory) and EEPROM Logic block SRAM
(electrically erasable PROM). For
Logic block
FPGAs, they are SRAM (static RAM) and
antifuse. Table 1 lists the most impor-
tant characteristics of these program-
ming technologies.
To use an EPROM or EEPROM tran-
sistor as a programmable switch for SRAM SRAM
CPLDs (and many SPLDs), the manu-
facturer places the transistor between
two wires to facilitate implementation
of wired-AND functions. Figure 4 shows
EPROM transistors connected in a
CPLD’s AND plane. An input to the AND
plane can drive a product wire to logic
level 0 through an EPROM transistor, if
Logic block
that input is part of the corresponding
product term. For inputs not involved Logic block
in a product term, the appropriate
EPROM transistors are programmed as
permanently turned off. The diagram of
an EEPROM-based device would look Figure 5. SRAM-controlled programmable switches.
similar to the one in Figure 4.
Although no technical reason pre-
vents application of EPROM or EEP- AND gate in the upper left corner) to an- gy. As an example, Figure 6 (next page)
ROM to FPGAs, current commercial other through two pass-transistor depicts Actel’s PLICE (programmable-
FPGA products use either SRAM or an- switches and then a multiplexer, all logic interconnect circuit element), an
tifuse technologies. The example of controlled by SRAM cells. Whether an tifuse structure.1 The antifuse, posi-
SRAM-controlled switches in Figure 5 il- FPGA uses pass transistors, multiplex- tioned between two interconnect wires,
lustrates two applications, one to con- ers, or both depends on the particular consists of three sandwiched layers:
trol the gate nodes of pass-transistor product. conductors at top and bottom and an
switches and the other, the select lines Antifuses are originally open circuits insulator in the middle. Unpro-
of multiplexers that drive logic block in- that take on low resistance only when grammed, the insulator isolates the top
puts. The figure shows the connection programmed. Antifuses are manufac- and bottom layers; programmed, the in-
of one logic block (represented by the tured using modified CMOS technolo- sulator becomes a low-resistance link.

SUMMER 1996 45
F I E L D - P R O G R A M M A B L E D E V I C E S

might use a small hardware description


language such as ABEL for some mod-
e Oxide
Wir Polysilicon ules, a symbolic schematic capture tool
Dielectric for others, and a full-featured hardware
Wire
description language such as VHDL for
Antifuse still others. Also, the device-fitting
process may require steps similar to
those described next for FPGAs, de-
n+ diffusion
Silicon substrate pending on the CPLD’s sophistication.
Either the CPLD manufacturer or a third
party supplies the necessary software
Figure 6. Actel’s PLICE antifuse structure. for these tasks.
The FPGA design process is similar to
that of CPLDs but requires additional
Fix errors tools to support increased chip com-
plexity. The major difference is in de-
vice fitting, for which FPGAs need at
Translate Optimize Device SPLD
and merge equations fitting simulation
least three tools: a technology mapper
Design entry: to transform basic logic gates into the
Text or
schematic Programming unit FPGA’s logic blocks, a placement tool
Configuration to choose the specific logic blocks, and
file a router to allocate wire segments to in-
terconnect the logic blocks. With this
added complexity, the CAD tools take a
Manual Automatic
fairly long time (often more than an
Figure 7. CAD process for SPLDs. hour or even several hours) to com-
plete their tasks.

PLICE uses polysilicon and n+ diffusion language, or combines these methods. Commercially available FPDs
as conductors and a custom-developed Since initial logic entry is not usually in This overview provides examples of
compound, ONO (oxide-nitride-ox- an optimized form, the system applies commercial FPD products and their ap-
ide),1 as an insulator. Other antifuses algorithms to optimize the circuits. plications. We encourage readers in-
rely on metal for conductors, with Then additional algorithms analyze the terested in more details to contact the
amorphous silicon as the middle lay- resulting logic equations and fit them manufacturers or distributors for the lat-
er.2,3 into the SPLD. Simulation verifies cor- est data sheets. Most FPD manufactur-
rect operation, and the designer returns ers provide data sheets on the World
CAD for FPDs to the design entry step to fix errors. Wide Web at http://www.company-
Computer-aided design programs are When a design simulates correctly, the name.com.
essential in designing circuits for im- designer loads it into a programming
plementation in FPDs. Such software unit to configure an SPLD. In most CAD SPLDs. As a staple of digital hard-
tools are important not only for CPLDs systems, the designer performs the orig- ware designers for the past two
and FPGAs, but also for SPLDs. A typi- inal design entry step manually, and all decades, SPLDs are very important de-
cal CAD system for SPLDs includes soft- other steps are automatic. vices. They have the highest speed per-
ware for the following tasks: initial The steps involved in CPLD design formance of all FPDs and are
design entry, logic optimization, device are similar to those for SPLDs, but the inexpensive. Because they are straight-
fitting, simulation, and configuration. CAD tools are more sophisticated. forward and well understood, we dis-
Figure 7 illustrates the SPLD design Because the devices are complex and cuss them only briefly here.
process. To enter a design, the designer can accommodate large designs, it is Two of the most popular SPLDs are
creates a schematic diagram with a more common to use different design the AMD (Advanced Micro Devices)
graphical CAD tool, describes the de- entry methods for different modules of 16R8 and 22V10 PALs. Both of these de-
sign in a simple hardware description a circuit. For instance, the designer vices are industry standards, widely sec-

46 IEEE DESIGN & TEST OF COMPUTERS


ond-sourced by other companies. The
designation 16R8 means that the PAL
has a maximum of 16 inputs (eight ded-
icated inputs and eight input/outputs) I/O
and a maximum of eight outputs, and block Logic
that each output is registered (R) by a D array
flip-flop. Similarly, the 22V10 has a max- block
PIA
imum of 22 inputs and ten outputs. The
V means versatile—that is, each output
can be registered or combinational.
Another widely used and second-
sourced SPLD is the Altera Classic
EP610. This device is similar in com-
plexity to PALs, but offers more flexibil-
ity in the production of outputs and has
larger AND and OR planes. The EP610’s
outputs can be registered, and the flip- Figure 8. Altera Max 7000 series architecture.
flops are configurable as D, T, JK, or SR.
Many other SPLD products are avail-
able from a wide array of companies. Array of 16
macrocells
All share common characteristics such
as logic planes (AND, OR, NOR, or Logic array block
NAND), but each offers unique features
suitable for particular applications. A
partial list of companies that offer SPLDs
includes AMD, Altera, ICT, Lattice,

I/O control block


Cypress, and Philips-Signetics. The com-
plexity of some of these SPLDs ap-
proaches that of CPLDs. PIA
To I/O cells
CPLDs. As we said earlier, CPLDs
consist of multiple SPLD-like blocks on
a single chip. However, CPLD products
are much more sophisticated than
SPLDs, even at the level of their basic Product term sharing
SPLD-like blocks. In the following de-
scriptions, we present sufficient details To other logic array blocks
to compare competing products, em-
From I/O pins
phasizing the most widely used devices.

Altera Max. Altera has developed


three families of CPLD chips: Max 5000, Figure 9. Altera Max 7000 logic array block.
7000, and 9000. We focus on the 7000
series because of its wide use and state-
of-the-art logic capacity and speed per- tecture of the Altera Max 7000 series. It and outputs connect directly to the PIA
formance. Max 5000 represents an older consists of an array of logic array blocks and to logic array blocks. A logic array
technology that offers a cost-effective and a set of interconnect wires called a block is a complex, SPLD-like structure,
solution; Max 9000 is similar to Max programmable interconnect array and so we can consider the entire chip
7000 but offers higher logic capacity (PIA). The PIA can connect any logic an array of SPLDs.
(the industry’s highest for CPLDs). array block input or output to any oth- Figure 9 shows the structure of a log-
Figure 8 depicts the general archi- er logic array block. The chip’s inputs ic array block. Each logic array block

SUMMER 1996 47
F I E L D - P R O G R A M M A B L E D E V I C E S

architecture supports wider functions


Inputs from other when necessary. Variable-size OR gates
macrocells in Global clock of this sort are not available in basic
logic array block SPLDs (see Figure 1), but similar fea-
Set tures exist in other CPLD architectures.
State
Max 7000 devices are available in
both EPROM and EEPROM technolo-
Product S gies. Until recently, even with EEPROM,
select D Q Max 7000 chips were programmable
PIA matrix only out of circuit in a special-purpose
R programming unit; in 1996, however,
Altera released the 7000S series, which
Array clock
is in-circuit reprogrammable.
Clear
(global clear To PIA AMD Mach. AMD offers a CPLD fam-
not shown)
ily comprising five subfamilies called
Local logic Mach. Each Mach device consists of
array block multiple PAL-like blocks (or optimized
interconnect
PALs). Mach 1 and 2 consist of opti-
Figure 10. Max 7000 macrocell. mized 22V16 PALs, Mach 3 and 4 con-
sist of several optimized 34V16 PALs,
and Mach 5 is similar to Mach 3 and 4
34V16 PAL-like block but offers enhanced speed perfor-
I/O (32)
mance. All Mach chips use EEPROM
technology, and together the five sub-
I/O (8) I/O (8)
families provide a wide range of selec-
tion, from small, inexpensive chips to
larger, state-of-the-art ones. We will fo-
I/O (8) I/O (8)
cus on Mach 4 because it represents the
most advanced currently available
Central switch matrix Clock parts in the family.
I (12)
(4)
Figure 11 depicts a Mach 4 chip,
showing the multiple 34V16 PAL-like
I/O (8) I/O (8)
blocks and the interconnect, called the
central switch matrix. The in-circuit
programmable chips range in size from
I/O (8) I/O (8)
6 to 16 PAL-like blocks, corresponding
roughly to 2,000 to 5,000 equivalent
I/O (32)
gates. All connections between PAL-like
Figure 11. AMD Mach 4 structure. blocks (even from a PAL-like block to
itself) pass through the central switch
matrix. Thus, the device is not merely a
consists of two sets of eight macrocells Any or all of the five product terms in collection of PAL-like blocks but a sin-
(shown in Figure 10). A macrocell is a the macrocell can feed the OR gate, gle, large device. Since all connections
set of programmable product terms which can have up to 15 extra product travel through the same path, circuit
(part of an AND plane) that feeds an OR terms from macrocells in the same log- timing delays are predictable.
gate and a flip-flop. The flip-flops can ic array block. This product term flexi- Figure 12 illustrates a Mach 4 PAL-like
be D, JK, T, or SR, or can be transpar- bility makes the Max 7000 series more block. It has 16 outputs and a total of 34
ent. As Figure 10 shows, the product se- efficient in chip area than classic SPLDs, inputs (16 of which are the fed-back out-
lect matrix allows a variable number of because typical logic functions need no puts), so it corresponds to a 34V16 PAL.
inputs to the OR gate in a macrocell. more than five product terms, and the However, there are two key differences

48 IEEE DESIGN & TEST OF COMPUTERS


between this block and a normal PAL: Clock generator
1) a product term (PT) allocator be-
tween the AND plane and the macro-
cells (the macrocells comprise an OR

Central switch matrix

Output/buried

switch matrix
PT allocator,

macrocells
(flip-flops)
AND plane

OR, EXOR
gate, an EXOR gate, and a flip-flop), and

I/O cells
34 80 8

Output
16 16
2) an output switch matrix between the I/O (8)
OR gates and the I/O pins. These fea-
tures make a Mach 4 chip easier to use
because they decouple sections of the
16
PAL-like block. More specifically, the Input
switch 16
product term allocator distributes and
matrix
shares product terms from the AND PAL-like block
plane to OR gates that require them, al-
lowing much more flexibility than the Figure 12. Mach 4 34V16 PAL-like block.
fixed-size OR gates in regular PALs. The
output switch matrix enables any
macrocell output (OR gate or flip-flop) Output Generic logic
to drive any I/O pin connected to the routing blocks
PAL-like block, again providing greater pools
flexibility than a PAL, in which each
macrocell can drive only one specific
I/O pin. Mach 4’s combination of in-sys-
tem programmability and high flexibil-
ity allow easy hardware design changes.
Global routing pool AND Product Macrocells
plane term
Lattice pLSI and ispLSI. Lattice offers allocator
a complete range of CPLDs, with two
main product lines: the pLSI and the
ispLSI. Each consists of three families of
EEPROM CPLDs with different logic ca-
pacities and speed performance. The Input bus
I/O pads
ispLSI devices are in-system program-
mable.
Lattice’s earliest generation of CPLDs Figure 13. Lattice pLSI and ispLSI architecture.
is the pLSI and ispLSI 1000 series. Each
chip consists of a collection of SPLD-
like blocks and a global routing pool to delays. Compared with the chips dis- small PAL-like blocks consisting of an
connect the blocks. Logic capacity cussed so far, the functionality of the AND plane, a product term allocator,
ranges from about 1,200 to 4,000 gates, 3000 series is most similar to that of the and macrocells. The global routing
and pin-to-pin delays are 10 ns. Lattice Mach 4. Unlike the other Lattice CPLDs, pool is a set of wires that span the chip
also offers the 2000 series—relatively the 3000 series offers enhancements to to connect generic logic block inputs
small CPLDs with between 600 and support more recent design styles, such and outputs. All interconnects pass
2,000 gates. The 2000 series features a as IEEE Std 1149.1 boundary scan. through the global routing pool, so tim-
higher ratio of macrocells to I/O pins Figure 13 shows the general structure ing between logic levels is fully pre-
and higher speed performance than the of a Lattice pLSI or ispLSI device. dictable, as it is for the AMD Mach
1000 series. At 5.5-ns pin-to-pin delays, Around the chip’s outside edges are devices.
the 2000 series provides state-of-the-art bidirectional I/Os, which connect to
speed. both the generic logic blocks and the Cypress Flash370. Cypress has re-
Lattice’s 3000 series consists of the global routing pool. As the magnified cently developed CPLD products simi-
company’s largest CPLDs, with up to view on the right side of the figure lar to the AMD and Lattice devices in
5,000 gates and 10- to 15-ns pin-to-pin shows, the generic logic blocks are several ways. Cypress Flash370 CPLDs

SUMMER 1996 49
F I E L D - P R O G R A M M A B L E D E V I C E S

Clock (4) directs from 0 to 16 product terms to


32 (macrocells
and I/O pins) each of 32 OR gates. The feedback path
I/Os I/Os I/O
from the macrocell outputs to the pro-
1

PT allocator
I/Os I/Os 2 I/O grammable interconnect matrix con-
PIM AND 3 I/O tains 32 wires. This means that a
I/Os I/Os 36 86
macrocell can be buried (not drive an
0 16 I/O
I/Os I/Os I/O pin), and yet the I/O pin that the
0-16 inputs macrocell would have driven can still
OR, bypassable
(D, T, latch) serve as an input. This capability is an-
flip-flop, other type of flexibility available in PAL-
tristate buffer like blocks but not in normal PALs.
Figure 14. Cypress Flash370 architecture. (PIM: programmable interconnect matrix.)
Xilinx XC7000. Although primarily a
manufacturer of FPGAs, Xilinx also of-
I/O I/O I/O I/O fers the XC7000 series of CPLDs. The two
main XC7000 families are the 7200 se-
ries (originally marketed by Plus Logic
CFB CFB CFB CFB
as Hiper EPLDs) and the 7300 series de-
veloped by Xilinx. The 7200s are mod-
In
Global interconnect matrix Clock erately small devices with about a 600
to 1,500 gate capacity, and they offer
CFB CFB CFB CFB speed performance of about 25-ns pin-
to-pin delays. Each chip consists of a
collection of SPLD-like blocks contain-
I/O I/O I/O I/O ing nine macrocells each. Unlike those
(a) in other CPLDs, a macrocell includes
two OR gates, each of which becomes
an input for a 2-bit arithmetic logic unit.
Data in CFB
The ALU can produce any functions of
CFB
its two inputs, and its output feeds a
Address SRAM
(128 words
configurable flip-flop. The 7300 series
× 10 bits) is an enhanced version of the 7200 with
Control greater capacity (up to 3,000 gates) and
10 higher speed performance. Xilinx also
Clock has announced a new CPLD family, the
Data out
XC9500, which will offer in-circuit pro-
(b) (c)
grammability with 5-ns pin-to-pin delays
and up to 6,200 logic gates.
Figure 15. Altera Flashlogic CPLD: general architecture (a); CFB in PAL mode (b); CFB
in SRAM mode (c). Altera Flashlogic. Previously known
as Intel’s Flexlogic, these devices feature
in-system programmability and on-chip
use flash EEPROM technology and of- The smallest parts have 32 macrocells SRAM blocks, a unique feature among
fer speed performance of 8.5 to 15 ns and 32 I/O pins; the largest have 256 CPLD products. Figure 15a illustrates the
pin-to-pin delays. The Flash370s are not macrocells and 256 pins. Flashlogic architecture, a collection of
in-system programmable. To meet the Figure 14 shows that Flash370s have PAL-like blocks called configurable
needs of larger chips, the devices pro- a typical CPLD architecture with multi- function blocks (CFBs), each of which
vide more I/O pins than competing ple PAL-like blocks connected by a pro- represents an optimized 24V10 PAL.
products, with a linear relationship be- grammable interconnect matrix. Each Flashlogic’s basic structure is similar
tween the number of macrocells and PAL-like block contains an AND plane to other products already discussed.
the number of bidirectional I/O pins. that feeds a product term allocator that However, one feature sets it apart from

50 IEEE DESIGN & TEST OF COMPUTERS


all other CPLDs: Instead of containing I/O Global Global preset
AND/OR logic, a CFB can serve as a pins clock
P To AND
10-ns SRAM block. Figure 15b shows a 80 AND array
D,T,J Q
CFB configured as a PAL, and Figure terms
Input
15c shows another configured as an pins K To I/O
80 Array R
SRAM. In the SRAM configuration, the logic cells Four
pins
PAL block becomes a 128-word by 10- sum
bit read/write memory. Inputs that 80 OR terms
Global reset
would normally feed the AND plane in terms
the PAL become address lines, data Figure 17. ICT PEEL Array logic cell
lines, or control signals for the memo- Group of four structure.
sum terms
ry. Flip-flops and tristate buffers are still
available in the SRAM configuration. Figure 16. ICT PEEL Array architecture.
In the Flashlogic device, the AND/OR can exploit wide AND/OR gates and do
logic plane’s configuration bits are not need a large number of flip-flops are
SRAM cells connected to EPROM or well into the CPLD category. good candidates for CPLD implemen-
EEPROM cells. Applying power loads Nevertheless, we include them here be- tation. Finite state machines are an ex-
the SRAM cells with a copy of the non- cause they exemplify PLA-based (rather cellent example of this class of circuits.
volatile EPROM or EEPROM, but the than PAL-based) devices and offer larg- A significant advantage of CPLDs is that
SRAM cells control the chip’s configu- er capacity than a typical SPLD. they allow simple design changes
ration. The user can reconfigure the The PEEL Array logic cell, shown in through reprogramming (all commer-
chips in system by downloading new in- Figure 17, includes a flip-flop, config- cial CPLD products are reprogramma-
formation into the SRAM cells. The user urable as D, T, or JK, and two multi- ble). In-system programmable CPLDs
can make the SRAM cell reprogram- plexers. Each multiplexer produces a even make it possible to reconfigure
ming nonvolatile by writing the SRAM logic cell output, either registered or hardware (for example, change a pro-
cell contents back to the EPROM cells. combinational. One logic cell output tocol for a communications circuit)
can connect to an I/O pin, and the oth- without powering down.
ICT PEEL Arrays. ICT PEEL (pro- er output is buried. An interesting fea- Designs often partition naturally into
grammable, electrically-erasable logic) ture of the logic cell is that the flip-flop the SPLD-like blocks in a CPLD, pro-
Arrays are large PLAs that include logic clock, preset, and clear are full sum-of- ducing more predictable speed perfor-
macrocells with flop-flops and feed- product logic functions. Distinguishing mance than a design split into many
back to the logic planes. Figure 16 il- PEEL Arrays from all other CPLDs, small pieces mapped into different ar-
lustrates this structure, which consists which simply provide product terms for eas of the chip. Predictability of circuit
of a programmable AND plane that these signals, this feature is attractive for implementation is one of the strongest
feeds a programmable OR plane. The some applications. Because of their advantages of CPLD architectures.
OR plane’s outputs are partitioned into PLA-like OR plane, PEEL Arrays are es-
groups of four, and each group can be pecially well suited to applications that FPGAs. As one of the fastest growing
input to any of the logic cells. The log- require very wide sum terms. segments of the semiconductor indus-
ic cells provide registers for the sum try, the FPGA marketplace is volatile.
terms and can feed back the sum terms CPLD applications. Their high The pool of companies involved
to the AND plane. Also, the logic cells speeds and wide range of capacities changes rapidly, and it is difficult to say
connect sum terms to I/O pins. make CPLDs useful for many applica- which products will be most significant
Because they have a PLA-like struc- tions, from implementing random glue when the industry reaches a stable
ture, the logic capacity of PEEL Arrays logic to prototyping small gate arrays. state. We focus here on products cur-
is difficult to measure compared to the An important reason for the growth of rently in widespread use. In describing
CPLDs discussed so far, but we estimate the CPLD market is the conversion of each device, we list its capacity in two-
a capacity of 1,600 to 2,800 equivalent designs that consist of multiple SPLDs input NAND gates as given by the ven-
gates. Containing relatively few I/O pins, into a smaller number of CPLDs. dor. Gate count is an especially
the largest PEEL Array comes in a 40-pin CPLDs can realize complex designs contentious issue in the FPGA industry,
package. Since they do not consist of such as graphics, LAN, and cache con- and so the numbers given should not
SPLD-like blocks, PEEL Arrays do not fit trollers. As a rule of thumb, circuits that be taken too seriously. In fact, wags

SUMMER 1996 51
F I E L D - P R O G R A M M A B L E D E V I C E S

C1 C2 C3 C4 2,000 to more than 15,000 equivalent


gates. The XC5000 family provides sim-
Selector CFB ilar features at a more attractive price
Inputs
G4 State with some penalty in speed. Xilinx has
Outputs recently announced an antifuse-based
G3 S
Lookup
table D Q Q2 FPGA family, the XC8100. The XC8100
G2
has many interesting features, but since
G1
E R it is not yet in widespread use, we do
Lookup not discuss it here.
table G
The XC4000 features a configurable
F4 State
S logic block (CLB) based on lookup ta-
F3 Lookup
table D Q Q1 bles. A lookup table is a 1-bit-wide mem-
F2
ory array; the memory address lines are
F1
E R logic block inputs, and the 1-bit mem-
VCC
ory output is the lookup table output. A
Clock F lookup table with K inputs corresponds
to a 2K × 1-bit memory, and the user can
Figure 18. Xilinx XC4000 CLB. realize any K-input logic function by
programming the logic function’s truth
table directly into the memory. In the
Vertical configuration shown in Figure 18, an
channels XC4000 CLB contains two four-input
not shown
lookup tables fed by CLB inputs, and a
third lookup table fed by the other two.
This arrangement allows the CLB to im-
CLB CLB CLB CLB CLB
plement a wide range of logic functions

Length 1 of up to nine inputs, two separate four-
 wires
 input functions, or other possibilities.

Length 2 Each CLB also contains two flip-flops.
 wires
 The XC4000 chips have features de-

Long signed to support the integration of en-

 wires tire systems. For instance, each CLB
contains circuitry that allows it to effi-
CLB CLB CLB CLB CLB ciently perform arithmetic (that is, a cir-
cuit that implements a fast carry
Figure 19. Xilinx XC4000 wire segments. operation for adder-like circuits). Also,
users can configure the lookup tables
as read/write RAM cells. A new addi-
have coined the term “dog gates,” a ref- Xilinx FPGAs. Xilinx FPGAs have an tion, the 4000E allows configuration as
erence to the often-cited ratio between array-based structure, each chip com- a dual-port RAM with a single write and
human and dog years, to indicate the prising a two-dimensional array of log- two read ports, and RAM blocks can be
dubiousness of vendors’ figures. ic blocks interconnected by horizontal synchronous RAM. Each XC4000 chip
The two basic categories of FPGAs on and vertical routing channels (see includes very wide AND planes around
the market today are SRAM- and anti- Figure 2). Xilinx introduced the first the periphery of the logic block array to
fuse-based FPGAs. In the first category, FPGA series, the XC2000, in about 1985 facilitate implementation of circuit
Xilinx and Altera lead in number of and now offers three more generations: blocks such as wide decoders.
users, their major competitor being XC3000, XC4000, and XC5000. Although Besides its logic, the other key feature
AT&T. For antifuse-based products, the XC3000 devices are still widely used, that distinguishes an FPGA is its inter-
Actel, Quicklogic, and Cypress are the we focus on the more recent and more connect structure. Horizontal and ver-
leading manufacturers. popular XC4000 family. The XC4000 de- tical channels characterize the XC4000
vices range in capacity from about interconnect. Each channel contains

52 IEEE DESIGN & TEST OF COMPUTERS


short wire segments that span a single
CLB (the number of segments in each
channel varies for each member of the I/O
XC4000 family), longer segments that
span two CLBs, and very long segments I/O
that span the chip’s entire length or FastTrack
width. Programmable switches are interconnect
available (see Figure 5) to connect CLB
inputs and outputs to the wire segments
or to connect one wire segment to an-
other. A small section of an XC4000
routing channel appears in Figure 19.
The figure shows only the wire seg-
ments in a horizontal channel—not the
vertical routing channels, CLB inputs Logic array block
(8 logic elements
and outputs, and the routing switches. and local
An important point about the Xilinx in- interconnect)
terconnect is that signals must pass
through switches to reach one CLB
from another, and the total number of Figure 20. Altera Flex 8000 architecture.
switches traversed depends on the par-
ticular set of wire segments used. Thus,
an implemented circuit’s speed perfor-
Cascade out
mance depends in part on how CAD Cascade in
tools allocate the wire segments to in-
Data1
dividual signals.
Data2 S Logic
Lookup Cascade D Q
Data3 element out
Altera Flex 8000 and Flex 10K. table
Data4 R
Altera’s Flex 8000 series combines
FPGA and CPLD technologies. The de-
vices consist of a three-level hierarchy Carry in Carry Carry out
much like that of CPLDs. However, the
lowest level of the hierarchy is a set of Control1 Set/clear
lookup tables, rather than an SPLD-like Control2
block, and so we categorize the Flex Control3 Logic
8000 as an FPGA. The SRAM-based Flex Control4 Clock element
8000 features a four-input lookup table
as its basic logic block. Logic capacity Figure 21. Flex 8000 logic element.
of the 8000 series ranges from about
4,000 to more than 15,000 gates.
Figure 20 illustrates the overall Flex This design groups logic elements into in the Xilinx XC4000, each FastTrack wire
8000 architecture. The basic logic sets of eight, called logic array blocks (a extends the full width or height of the de-
block, called a logic element, contains term borrowed from Altera’s CPLDs). As vice. However, a major difference be-
a four-input lookup table, a flip-flop, shown in Figure 22 on the next page, tween Flex 8000 and Xilinx chips is that
and special-purpose carry circuitry for each logic array block contains local in- FastTrack consists only of long lines,
arithmetic circuits (similar to the Xilinx terconnection, and each local wire can making the Flex 8000 easy for CAD tools
XC4000). The logic element also in- connect any logic element to any other to configure automatically. All FastTrack
cludes cascade circuitry that allows ef- logic element within the same logic ar- horizontal wires are identical. Therefore,
ficient implementation of wide AND ray block. The local interconnect also interconnect delays in the Flex 8000 are
functions. Figure 21 shows details of the connects to the Flex 8000’s FastTrack more predictable than in FPGAs that
logic element. global interconnect. Like the long wires employ many shorter segments because

SUMMER 1996 53
F I E L D - P R O G R A M M A B L E D E V I C E S

From
FastTrack
interconnect Control Cascade, carry
4 2
I/O
Data Logic To FastTrack
4 element interconnect I/O
Embedded
array
Local interconnect

Logic To FastTrack block


element interconnect

Logic To FastTrack Embedded


element interconnect array
block
To adjacent
logic array
Logic array block block

Figure 22. Flex 8000 logic array block.

Lookup DQ
table
Figure 23. Altera Flex 10K architecture.
Lookup DQ
table
Switch matrix

can configure an embedded array block serves as four 4-input lookup tables, sev-
Lookup DQ
table
to implement a complex logic circuit, eral of the lookup tables’ inputs must
such as a multiplier, by employing it as a come from the same programmable-
Lookup DQ large, multioutput lookup table. Altera function unit input. While this restraint
table
CAD tools provide several macrofunc- reduces the programmable-function
PFU
tions that implement useful logic circuits unit’s flexibility, it also significantly re-
in embedded array blocks. Counting the duces the chip’s wiring cost. The pro-
Figure 24. AT&T ORCA programmable- embedded array blocks as logic gates, grammable-function unit includes
function unit. Flex 10K offers the highest logic capaci- arithmetic circuitry, as do the Xilinx
ty of any FPGA, although obtaining an XC4000 and the Altera Flex 8000, and
accurate number is difficult. like the XC4000, is configurable as a
the longer paths contain fewer pro- RAM block. A recently announced ver-
grammable switches. Moreover, con- AT&T ORCA. AT&T’s SRAM-based sion of the ORCA chip also allows dual-
nections between horizontal and vertical FPGAs, called Optimized Reconfig- port and synchronous RAM.
lines pass through active buffers, further urable Cell Arrays (ORCAs), feature an ORCA’s interconnect structure is also
enhancing predictability. overall structure similar to that of Xilinx different from other SRAM-based
The Flex 10K family offers all the Flex FPGAs. The ORCA logic block contains FPGAs. Each programmable-function
8000 features with the addition of vari- an array of programmable-function unit connects to an interconnect con-
able-size blocks of SRAM called embed- units (Figure 24) based on lookup ta- figured in four-bit buses. This structure
ded array blocks. As Figure 23 shows, bles. A programmable-function unit is supports system level designs more ef-
each row of a Flex 10K chip has an em- unique among lookup-table-based log- ficiently, since buses are common in
bedded array block on one end. Users ic blocks: It is configurable as four 4-in- such applications.
can configure each embedded array put lookup tables, two 5-input lookup The ORCA2 series extends the fami-
block to serve as an SRAM block with a tables, or one 6-input lookup table. A ly, offering a capacity of up to 40,000
variable aspect ratio: 256×8, 512×4, key element of this architecture is that logic gates. ORCA2 features a two-level
1K×2, or 2K×1. Alternatively, CAD tools when the programmable-function unit hierarchy of programmable-function

54 IEEE DESIGN & TEST OF COMPUTERS


units based on the original ORCA I/O blocks
architecture.
Logic
block
Actel FPGAs. Actel offers three main Routing rows
FPGA families: Act 1, Act 2, and Act 3. channels
Although the three generations have

I/O blocks

I/O blocks
similar features, we focus on the most
recent devices. Unlike the FPGAs de-
scribed so far, Actel’s devices use anti-
fuse technology and a structure similar
to traditional gate arrays. Their design
arranges logic blocks in rows with hor-
izontal routing channels between adja-
I/O blocks
cent rows (Figure 25). Actel logic
blocks, based on multiplexers, are Figure 25. Actel FPGA structure.
small compared to those based on
lookup tables. Figure 26 illustrates the
Act 3 logic block, which consists of an to several other FPGAs: Like Xilinx
AND and an OR gate connected to a FPGAs, it has an array-based structure;
Multiplexer-based
multiplexer-based circuit block. In com- like Actel FPGAs, its logic blocks use Inputs circuit block Output
bination with the two logic gates, the multiplexers; and like Altera Flex 8000s,
arrangement of the multiplexer circuit its interconnect consists only of long
enables a single logic block to realize a lines. The pASIC2 is a recently intro-
wide range of functions. About half the duced enhanced version, which we will
logic blocks in an Act 3 device also con- not discuss here. Cypress also offers de-
tain a flip-flop. vices using the pASIC architecture, but
Actel’s horizontal routing channels we discuss only Quicklogic’s version. Inputs
consist of various-length wire segments Quicklogic’s ViaLink antifuse struc-
with antifuses to connect logic blocks ture (see Figure 27b) consists of a metal Figure 26. Actel Act 3 logic module.
to wire segments or one wire to anoth- top layer, an amorphous-silicon insulat-
er. Although not shown in Figure 25,
vertical wires also overlie the logic
blocks, forming signal paths that span
multiple rows. The speed performance
of Actel chips is not fully predictable be-
cause the number of antifuses traversed
by a signal depends on how CAD tools
allocate the wire segments during cir-
cuit implementation. However, a rich
selection of wire segment lengths in
each channel and algorithms that guar-
antee strict limits on the number of an- ViaLink
Logic cell at every
tifuses traversed by any two-point wire
connection improve speed perfor- crossing Amorphous silicon
mance significantly.
Metal 2

Quicklogic pASIC. Actel’s main com- Metal 1

petitor in antifuse-based FPGAs is I/O blocks Oxide


Quicklogic, which has two device fam-
(a) (b)
ilies, pASIC and pASIC2. The pASIC, il-
lustrated in Figure 27a, has similarities Figure 27. Quicklogic pASIC structure (a) and ViaLink (b).

SUMMER 1996 55
F I E L D - P R O G R A M M A B L E D E V I C E S

QS lation of entire large hardware systems References


A1
A2 via the use of many interconnected 1. E. Hamdy et al., “Dielectric-Based Anti-
A3 FPGAs. QuickTurn4 and others have de- fuse for Logic and Memory ICs,” Tech. Di-
A4 AZ
A5 veloped products consisting of the gest IEEE Int’l Electron Devices Meeting,
A6 FPGAs and software necessary to parti- IEEE, Piscataway, N.J., 1988, pp. 786-789.
B1 OZ tion and map circuits for hardware em- 2. J. Birkner et al., “A Very-High-Speed Field-
B2 0
C1 ulation. Programmable Gate Array Using Metal-
1 0 D SQ QZ
C2 An application only beginning devel- to-Metal Antifuse Programmable
1 R opment is the use of FPGAs as custom Elements,” Microelectronics J., Vol. 23,
D1
D2 0 computing machines. This involves us- 1992, pp. 561-568.
E1 1
E2
ing the programmable parts to execute 3. D. Marple and L. Cooke, “Programming
NZ
software, rather than compiling the soft- Antifuses in CrossPoint’s FPGA,” Proc.
F1
F2
ware for execution on a regular CPU. For IEEE Int’l Custom Integrated Circuits
F3 information, we refer readers to the pro- Conf., IEEE, Piscataway, N.J., 1994, pp.
F4 FZ
F5
ceedings of the IEEE Workshop on 185-188.
F6 FPGAs for Custom Computing Machines, 4. H. Wolff, “How QuickTurn Is Filling the
QC held for the last four years.5 Gap,” Electronics, Apr. 1990.
QR As mentioned earlier, pieces of de- 5. Proc. IEEE Symp. FPGAs for Custom Com-
Figure 28. Quicklogic pASIC logic cell. signs often map naturally to the SPLD- puting Machines, IEEE Computer Society
like blocks of CPLDs. However, designs Press, Los Alamitos, Calif., 1993-1996.
mapped into an FPGA break up into
ing layer, and a metal bottom layer. logic-block-size pieces distributed Suggested reading
Compared to Actel’s PLICE antifuse, through an area of the FPGA. Depending S. Brown et al., Field-Programmable Gate Ar-
ViaLink offers very low on-resistance— on the FPGA’s interconnect structure, rays, Kluwer Academic Publishers, Nor-
about 50 ohms (PLICE’s is about 300 the logic block interconnections may well, Mass., 1992. A general introduction
ohms)—and a low parasitic capaci- produce delays. Thus, FPGA perfor- to FPGAs.
tance. ViaLink antifuses are present at mance often depends more on how
every crossing of logic block pins and in- CAD tools map circuits into the chip than J. Oldfield and R. Dorf, Field Programmable
terconnect wires, providing generous does CPLD performance. Gate Arrays, John Wiley & Sons, New
connectivity. Figure 28 shows the pASIC York, 1995. A textbook-like treatment, in-
multiplexer-based logic block. It is more cluding digital logic design based on the
complex than Actel’s logic module, with THE LOW COST OF FPDS makes them Xilinx 3000 series and the Algotronix CAL
more inputs and wide (six-input) AND attractive to small firms and large com- chip.
gates on the multiplexer select lines. panies alike. Their fast manufacturing
Every logic block also contains a flip- turnaround is an essential element of J. Rose, A. El Gamal, and A. Sangiovanni-Vin-
flop. their market success. Although their centelli, “Architecture of Field-Program-
large, slow programmable switches pre- mable Gate Arrays,” Proc. IEEE, Vol. 81,
FPGA applications. FPGAs have vent FPDs from providing the speed per- No. 7, July 1993, pp. 1013-1029. Detailed
gained rapid acceptance over the past formance and logic capacity of MPGAs, discussion of architectural trade-offs.
decade because users can apply them improvements in architecture and CAD
to a wide range of applications: random tools will overcome these disadvantages. Field-Programmable Gate Array Technology,
logic, integrating multiple SPLDs, device Over time FPDs will become the domi- S. Trimberger, ed., Kluwer Academic
controllers, communication encoding nant technology for implementing digi- Publishers, Norwell, Mass., 1994. Discus-
and filtering, small- to medium-size sys- tal circuits. sion of three FPGA/CPLD architectures.
tems with SRAM blocks, and many more.
Another interesting FPGA application Up-to-date FPD research appears in the pub-
is prototyping designs to be implement- lished proceedings of several conferences:
ed in gate arrays by using one or more Acknowledgments Proc. IEEE Int’l Custom Integrated Circuits
large FPGAs. (A large FPGA corresponds We acknowledge students, colleagues, Conf., IEEE.
to a small gate array in terms of capaci- and acquaintances in industry who have con- Proc. Int’l Conf. Computer-Aided Design (IC-
ty). Still another application is the emu- tributed to our knowledge. CAD), IEEE CS Press, Los Alamitos, Calif.

56 IEEE DESIGN & TEST OF COMPUTERS


Proc. Design Automation Conference (DAC), trical engineering, computer engineering, and systems. He coauthored the book Field-
IEEE CS Press. and computer science courses. Brown is Programmable Gate Arrays. Rose holds a
FPGA Symp. Series: Third Int’l ACM Symp. the general and program chair for the PhD in electrical engineering from the Uni-
Field-Programmable Gate Arrays (FPGA Fourth Canadian Workshop on Field-Pro- versity of Toronto. He is the general chair
95) and Fourth Int’l ACM Symp. Field-Pro- grammable Devices (FPD 96), and is on the of the Fourth International Symposium on
grammable Gate Arrays (FPGA 96), Technical Program Committee for the Sixth FPGAs (FPGA 96) and serves on the tech-
Assoc. for Computing Machinery, New International Workshop on Field-Program- nical program committee for the Sixth
York. mable Logic (FPL 96). He is a member of International Workshop on Field-Program-
the IEEE and the Computer Society. mable Logic. In 1990, ICCAD awarded him
and coauthor Stephen Brown a Best Paper
Stephen Brown is an assistant professor of award. He is a member of the IEEE, the
electrical and computer engineering at the Computer Society, the Association for
University of Toronto. He holds a PhD in Computing Machinery, and SIGDA.
electrical engineering from that university;
his dissertation (on architecture and CAD
for FPGAs) won him the Canadian NSERC’s
1992 prize for the best doctoral thesis in
Canada. In 1990, the International Confer-
ence on Computer-Aided Design awarded Jonathan Rose is an associate professor Direct questions concerning this article
him and coauthor Jonathan Rose a Best Pa- of electrical and computer engineering at to Stephen Brown, Dept. of Electrical and
per award. A coauthor of the book Field- the University of Toronto. His research in- Computer Engineering, Univ. of Toronto, 10
Programmable Gate Arrays, he has also won terests are in the area of architecture and Kings College Rd., Toronto, ONT, Canada
four awards for excellence in teaching elec- CAD for field-programmable gate arrays M5S 3G4; brown@eecg.toronto.edu.

CALL FOR ARTICLES


IEEE Design & Test of Computers
Special Issue on Microprocessors
Submission deadline: June 15, 1996 Publication date: Spring 1997

D&T focuses on practical articles of near-term interest Interested authors should submit four copies of a double-
to the professional engineering community. D&T seeks ar- spaced manuscript no longer than 35 pages, in English, by
ticles of significant contribution that address the design, June 15, 1996. Each copy must contain contact informa-
test, debugging, manufacturability, and yield improvement tion (name, postal and e-mail addresses, and phone/fax
of microprocessors and microcontrollers. The areas of in- numbers). Final articles will be due October 15, 1996.
terest include but are not limited to For author guidelines, see D&T ’s Spring 1996 issue or Web
page at http://www.computer.org/pubs/d&t/d&t.htm.
➧ Circuit design and design methodologies
Submit manuscripts to:
➧ Logic design and design methodologies
➧ CAD tools and methodologies Marc E. Levitt
➧ Design-for-test techniques and applications Special Issue Guest Editor
➧ Debugging experiences, tools, and methodologies Sun Microelectronics, USUN02-301
➧ Yield improvement experiences, tools, and 2550 Garcia Avenue, Mountain View, CA 94043
methodologies phone (408) 774-8268; fax (408) 774-2099
➧ Project management marc.levitt@eng.sun.com

SUMMER 1996 57

S-ar putea să vă placă și