Quantitative Measurements of FPGA Utility in
Special and General Purpose Processors
Barry S. Fagin
Thayer School of Engineering
Dartmouth College
Hanover, NH
03755
603-646-3060
barry.fagin@dartmouth.edu
ABSTRACT
We present experimental results on FPGA use in
special and general purpose processors, using as case studies a computational
accelerator for gene sequence analysis,
an integer implementation of the DLX microprocessor, and a real-time
signal processor for rocket telemetry.
All these devices have been successfully prototyped, and are now
completely functional. We present
detailed analysis of our experience with FPGAs in these machines, describing
savings in chip count, power consumption, area, and cost. For all quantities
except cost, measured savings were typically an order of magnitude improvement
over discrete IC implementations.
1.0 Introduction
Recent work at the Thayer School of
Engineering has investigated the use of FPGAs in a variety of digital
systems. We present here our results on
FPGA usage in three advanced designs: a special purpose processor for gene
sequence analysis, known as the GSP, an implementation of Patterson and
Hennessy's DLX 32-bit microprocessor architecture, and a real-time signal
processor for rocket telemetry know as the Plasma Frequency Tracker.
We first provide an overview of the
laboratory where these machines were constructed, and then give an overview of
the three processors. Architectural
tradeoffs concerning the use of FPGAs are discussed. We then present our
quantitative data and analyze it in detail. We compare our results in light of
the special purpose and general purpose nature of the respective designs, and
note similarities and differences.
Finally, we offer our conclusions on the utility of FPGAs for processor design.
Throughout this paper we assume the
reader is familiar with field programmable gate arrays. For background information on the devices
used, the reader is referred to [1] and [2].
2.0 The Thayer Rapid Prototyping Facility
The systems described here were built
at the Thayer Rapid Prototyping Facility, a laboratory for the rapid
construction and evaluation of digital systems.
The RPF emphasizes in-house prototype development using semi-custom
ASICs and printed circuit boards to avoid the lengthy turnaround time of a
VLSI-based approach. This approach uses
a new printing technology developed by Direct Imaging Inc. to produce PCB's
in-house, supporting 5 mil traces at 5 mil spacing, with up to 8 trace layers.
The goal of the RPF is to use this technology to produce prototypes as quickly
as possible.
The RPF has been involved in several
successful experiments in rapid digital system design. In addition to GSP, DLX, and the Plasma
Frequency Tracker, other systems include an FHT transform engine and a hardware
monitor for the 68000. For further
information on these and other projects, the reader is referred to references
[3] through [8]. All projects described in this paper have been prototyped and
are fully functional.
3.0 The Processors
To better understand the use of FPGAs
in our designs, we give brief overviews of each of the systems under
study. The GSP and the Plasma Frequency
Tracker are special purpose devices, while DLX is a general purpose 32-bit
microprocessor.
3.1 The Gene Sequence Processor
One of the more recent systems to be
prototyped at the RPF is the Gene Sequence Processor, a computational
accelerator for gene sequence comparison.
The GSP consists of two boards that connect to the NuBus slots of a Mac
II f/x computer, increasing its performance by 15x for certain problems. Gene sequence comparison is essentially a
dynamic programming algorithm with a particularly defined cost function. The GSP contains extra memory and special
hardware to support the fast execution of DP algorithms with these functions on
sequences of nucleotides. For more
information on gene sequence comparison, the reader is referred to [9].
A block diagram of the Gene Sequence
Processor is shown in Figure 1. The GSP
consists of five basic subsystems: DRAM, SRAM, a counter/comparator, the host
interface, and the Gene ALU.
The GSP contains 8 megabytes of DRAM,
organized as a 4M x 16-bit words. The
DRAM holds the dynamic programming array for the alignment
computation. The sequences to be
compared, cost function coefficients, and sequence lengths are downloaded into
a 4k x 8 SRAM. The counter/comparator is
used to generate DRAM addresses for the dynamic
programming calculation, and to halt the computation when the last entry in the
dynamic programming array has been calculated.
The processor interface is responsible for all interaction with the
host. Currently, this interface is
implemented with TI NuBus chips, although general interfaces can be designed to
interact with a variety of hosts.
3.2
The Plasma Frequency Tracker
The Plasma Frequency Tracker, or PFT,
is one of several instruments scheduled
to go on board a NASA rocket flight in January 1993. Its primary purpose is to detect the presence
of Langmuir solitons, high energy events in the ionospheric plasma. The PFT consists of three boards: an onboard
computer, an interface board, and the output board. The onboard computer is a dedicated Q88/B
microprocessor used for data acquisition and analysis. The interface board handles data format
conversion between the rocket-borne experiment and the microprocessor, and
consists primarily of an Altera EPLD and an AD575 analog to digital
converter. The output board contains
four Actel FPGAs, a 12-bit A/D converter, and some analog circuitry. For our purposes, the most interesting part
of the output board is the Soliton Detector.
A block diagram of this subsystem is shown in Figure 2.
The Soliton Detector receives data from
two sources: a radio receiver, and a companion instrument that calculates
plasma resonance frequencies. Data from
the radio receiver goes through a 12-bit A/D converter and is converted to
signed magnitude representation. The
Master Counter is a 20-bit counter used for grouping data, along with the
Counter Register Bank, a 10 x 20-bit FIFO.
The Data Register Bank is a 19 x 12-bit FIFO used in conjunction with
the Window Detector and the Length Generator to implement the soliton detection
algorithm. Soliton events are indicated
by large changes in the plasma electric field, typically about 60dB greater
than background emissions. These changes
can be distinguished from noise by their bipolar nature; true soliton events
will have both positive and negative magnitude changes. Thus soliton detection is accomplished by
first examining the most significant 4 magnitude bits of the sampled data. If any of these bits are non-zero, a 1 is shifted
in to one of two 19-bit shift registers, depending on the sign of the
sample. If at any time both shift
registers contain a 1, the beginning of a soliton event has been detected.
(Soliton events have typical durations of several milliseconds; the PFT system
is designed to record the entire event). This triggers a change in the gain
state of the experiment, to accommodate the increased magnitude of the electric
field, and sends the appropriate information to the router. The router coordinates multiple inputs and
hands them off to the Altera EP1900 on the interface board for output format
conversion.
While the output format conversion
could have been handled by an Actel FPGA similar to those employed elsewhere,
an EP1900 was employed for reasons of speed and expandability. Although EPLD's do not offer the integration
of FPGA's, they are considerably faster.
The parallel-to-serial conversion performed by the output converter
requires output bit rates 12 times faster than input, placing severe
performance constraints on the selected technology. While the current sampling rate specified by
the telemetry experiment is within the limits of existing FPGA technology,
factor increases of 2 or 4 are not. To accommodate possible rate changes in
future experiments, therefore, we decided to employ a smaller and faster EPLD.
For more information on the Plasma
Frequency Tracker, the reader is referred to [6].
3.3
The DLX Microprocessor
For our case study in general purpose
processor implementation, we selected the DLX microprocessor. The DLX
is a 32-bit CPU, described in detail in [10]. This architecture is emerging as a standard
machine to illustrate basic RISC principles.
For readers unfamiliar with DLX, we give a brief overview here.
DLX is a complete microprocessor
architecture, with 32 general purpose registers and a hard-wired zero in
R0. Memory is Big Endian byte
addressable, and all instruction accesses are aligned. The integer DLX integer instruction set has three basic classes: data
transfer, arithmetic/logical, and control flow. (A floating point extension of
DLX is described in [10], which we did not implement). The DLX instruction set is highly
streamlined; the number of instructions and instruction formats is small, and
instruction decoding is simple.
A block diagram of the Thayer DLX
datapath is shown in Figure 3. The
Thayer DLX employs a 2-bus architecture, driven by a 32 x 32 register file, a
32-bit ALU, 32K of static ram, and a so-called "universal unit", or
UU. (A 32-bit instruction register,
IR, holds the current instruction). We chose a 2-bus architecture for three
reasons: 1) to match our available
register files, which shared input and output pins, 2) to improve the
routability of the board, and 3) to simplify the machine. This decision reflects a consistent
willingness to tradeoff performance for the increased likelihood of producing a
working prototype under time constraints. For more details about this and other
design decisions regarding the prototyping of DLX, the reader is referred to
[4]. We discuss the Universal Unit in
the next section.
4.0 FPGA Usage
The GSP, PFT, and DLX processors all
make use of FPGAs to implement various design subsystems. The GSP employs five devices to implement all
non-memory subsystems, the PFT uses four, while DLX employs one. FPGA utilization in each of these processors
is shown in Table 1. The name of the
FPGA in the design is given, along with its functionality and the device
chosen.
We chose the Actel family of FPGAs for
a number of reasons. Our initial
experiences with routing software indicated that placement and routing of
designs would be very easy on Actel parts.
Additionally, the PFT was designed as a rocket payload, an environment
well suited to non-volatile write-once devices.
Finally, for this study we wanted to keep the device family constant
across implementations to prevent technology-related effects from biasing the
results.
All our systems employed the ACT1
series of FPGAs. Some of these devices
are available with different pin counts and routing resources, as shown in
Table 2. The part number of each device
appears in column 1; the last two digits indicate the number of pins (not all
of which are available to the user). All
the devices we used were packaged in Plastic Leadless Chip Carriers, or PLCC's.
Actel FPGAs contain two principal
resources: logic blocks for user circuitry and i/o blocks for pins. The total
number of these blocks for each device appears in the second and third columns
of Table 2. The area of each device in
square inches appears in the next column, followed by the cost. Resource and area information are taken from
[1]. Cost figures are for small
quantities, obtained from our Actel distributor in April 1992.
4.1
FPGAs in the GSP
FPGA utilization in the GSP is shown in
the first section of Table 3. The GSP
employs five Actel devices: three 1020's and two 1010's.
We see from Table 1 that the GSP
required very little glue logic: most of the logical subsystems of the GSP
proved implementable with FPGAs.
Comparing Figure 1, we see that the 16-bit Gene ALU was successfully bit
sliced into two bytes, each using one 1020 FPGA, while another 1020 implemented
the counter/comparator subsystem. The
larger of the 1010's served as the
interface to the SRAM, while the smaller was used for a 10-bit 2-1 mux. This device is the only one that could have
conceivably been replaced with its TTL equivalents. The remaining subsystems of Figure 1 are
either RAM modules or the host interface.
This latter component was implemented with standard NuBus chips, as
their seemed little be gained from reimplementing an existing commercial
product.
We note that since FPGAs are used for
the basic comparison, other algorithms can be implemented by simply replacing
the "actelbi4" parts with other FPGAs, or by using reprogrammable
parts and reconfiguring them dynamically.
We are investigating this as a topic for future research.
4.2
FPGAs in the PFT
FPGA utilization in the PFT is shown in
the second section of Table 3. Only a
single FPGA device type is employed; all FPGA's in the PFT are ACT1020-68's.
Like the GSP, the PFT was able to utilize
FPGA's quite successfully. Virtually all
the logic on the output board was implemented with FPGA's; due to space constraints on the rocket payload, the
device literally could not have been built without them. The FPGA "dagc_contl" is used for
the control section of the board; it contains the sign converter, window
detector, length generator, and router.
"master3a" holds the master 20-bit counter on the board, along
with some related interface logic.
"cntrega" holds the counter register bank, while
"regbank" holds the data register bank.
4.3
FPGAs in DLX
Unlike the special purpose machines,
the DLX was able to employ only a single FPGA, due to the increased complexity
of its component subsytems. Referring to
Figure 3, we see that DLX, like most general purpose microprocessors, required
a 32-bit register file and an ALU. Both of these components were sufficiently
complex as to make FPGA implementation difficult. Additionally, these subsystems could be
implemented with a small number of low cost commercial ICs, negating much of
the chip count reduction advantage of FPGA implementation.
We found, however, that the Universal
Unit of Figure 3 was an attractive target for FPGA implementation. The UU is implemented with an Actel1020 FPGA,
initially adopted to implement a 32-bit barrel shifter. As the design progressed, we discovered that
more and more logic could be added to it
without increasing chip count or power consumption. Thus the shifter became the UU, containing
both the nontrivial sign-extension logic required by the DLX instruction set
and the memory alignment circuitry. The
ability to incorporate new logic into our design quickly and easily was crucial
to its success; the use of a field programmable gate array was absolutely
essential.
5.0 Empirical Measurements
We have analyzed the utility of each of
the 9 FPGAs described in Table 1, and discuss our results here. We present measurements on IC equivalent chip
count, pin count, area, power, and cost, along with measurements of logic and
i/o utilization for each device.
IC equivalence measurements are shown
in Table 3. All IC information is taken
from [11] and [12], while FPGA data was obtained from [1]. We describe each column of Table 3 below.
Chip
count: We have estimated the
equivalent number of discrete IC's replaced by an FPGA by going through the
schematic and mapping the design onto discrete components. This process is approximate, in that a design
specifically targeted for discrete IC's can differ in subtle ways from an FPGA
implementation. Designs for FPGAs will
be influenced by the items in the FPGA macro library, which may differ from the
IC's listed in a databook. Logic
polarities may be changed, and parts of the design that are highly tuned to a
particular FPGA macro could change substantially if implemented in discrete
IC's. Nonetheless, our inspection of
our designs suggests that these effects will not make a significant difference
in the numbers presented here, nor do they affect our qualitative conclusions.
Area: Area values in Table 3 are shown in
square inches. These figures are
obtained by summing the area of each of the IC's used in determining the chip
count. We note that this figure
represents component area only. FPGA's
reduce interconnect area as well, as suggested by the next column.
Pins: The pin column is the sum of all the pins
of each of the IC's used in the chip count.
Reduction of pin count is an important advantage of FPGAs due to the
resultant savings in interconnect area and system complexity.
Power
consumption: With the resultant
savings in chip count comes a corresponding savings in power consumption. Figures here use the maximum power supply
current for each IC in the chip count as reported in [11] and [12], since this
is the value that would be used by conservative designers working within a
tight power budget. Power consumption is
reported in milliwatts.
Cost: The total cost of the IC's replaced by
each FPGA is shown in the last column of Table 3. Our costs are based on small quantity
pricing, from a standard IC catalog.
Table 4 shows the reduction in area,
power, pins, and cost due to FPGAs, obtained from data in Tables 1 through
3. We see that most of the results for
area, pin count, and power reduction are quite impressive, approximating an
order of magnitude reduction in each quantity.
Those with more modest reductions represent an inappropriate use of the
technology, and in our case were poor design choices.
Power figures for FPGAs are
approximate, and are calculated via an analytical formula based on clock rates,
logic module switching frequency, and i/o switching frequency. This formula is given in [1]; we follow the
recommendations there in making conservative worst-case power estimates for an
FPGA design.
Contrary to our initial expectations,
the component costs of discrete IC's and FPGAs were roughly equivalent. We note, however, that component costs are
only a fraction of total system costs.
FPGAs reduce costs in other ways, include shrinking total area, design
time, and system complexity.
Finally, Table 5 shows the utilization
of logic blocks and i/o blocks for each device.
We present these values separately as each may serve as a limiting
factor in FPGA use. Devices with 295 or 546 logic blocks were available, along
with 34, 57, or 69 i/o blocks.
6.0 Discussion
From the data in Tables 1 through 5, we
observe the following benefits from using FPGAs in processor design:
1)
Reduced chip count. FPGA's replaced
89, 150, and 34 IC's on the GSP, PFT,
and DLX processors respectively. For the
GSP, discrete IC's would have required a minimum of three extra boards. For the PFT, construction with discrete IC's
would have been impossible in light of the space constraints of the rocket
payload. Even the single FPGA on the DLX
saved 34 chips, and made possible a single board implementation.
We note, however, that a point of
diminishing returns exists.
"actelmx4", for example, does not represent a cost-effective
use of FPGAs due to the small number of TTL equivalent IC's it replaces. The use of FPGA's in this manner is an
artifact of the "bucketing" approach to design that FPGA's
encourage. FPGA devices may be regarded
as "buckets" into which varying portions of the design may be placed
and then removed as constraints and performance goals change. The least effective FPGAs in our designs once
held substantially more complex pieces of the system, left over from previous
design iterations.
2) Reduced board area. A reduction in chip count brings with it
a reduction in area, as shown in Table 4.
This reduction is at least a factor of 7 for all but 2 FPGAs we
examined. Note that this only a
reduction in component area; the savings in interconnect area, while not
directly measurable, would be even more significant.
3) Reduced power consumption. In every instance we examined, FPGAs consumed substantially less power than
the components they replaced, even those FPGAs that were otherwise poor design
choices. Reduction factors in power
consumption ranged from 9.8 up to 65.49.
Clearly FPGA's are a very attractive technology for systems on a tight
power budget.
Qualitatively, we have observed that
the use of FPGAs brings with it increased flexibility in the design
process. FPGAs in a design can be viewed
as unspecified components of the project whose contents change as the design
evolves. It was common in the design of
the GSP, for example, to migrate various pieces of the design on and off FPGAs
as the design changed. On the DLX board,
the "uuchip" FPGA originally
contained only the logic for the barrel shifter. Control logic was later added, then removed
to make room for sign extension and memory alignment circuitry.
It is difficult to specify detailed
aspects of this "bucketing" process, in which FPGAs serve as buckets
in which pieces of the design can be inserted and removed as needs permit. We can say, however, that its advantages
appear to be equivalent to modular programming in software system design. Like software modules, portions of the design
placed on FPGAs interact with the larger system through well-defined variables,
in this case the FPGA input and output signals.
We note, however, that in comparison with hardware engineers, software
engineers have always had more flexibility of deciding how to partition their
systems, and of changing that partition as system requirements evolve. FPGAs now appear to offer hardware engineers
a similar flexibility, and thus may reduce the "redesign gap" between
hardware and software systems.
The use of FPGAs also reduces bringup
time. All our FPGAs worked correctly the
first time they were programmed. The
reliability of the devices eliminates many sources of errors during system
bringup. The use of FPGAs to replace
large numbers of discrete components meant fewer connections, fewer nets, and
easier debugging.
We do note, however, some disadvantages
that appeared on all designs:
1)
Routing difficulties due to FPGA pin densities. The larger FPGA devices are the most
attractive from the point of view of system integration, but they place severe
demands on routing software due to their high pin densities. We hope to address this problem through the
use of multi-layer boards and improved routing software.
2)
Reduction in performance. For the
GSP and DLX, the critical path goes through an FPGA; faster versions could be
built if FPGAs were not used. The
performance consequences are not as severe for the GSP, as its highly tuned
architecture can make up for a slower critical path. For the DLX, however, no such advantage is
possible, due to its general purpose architecture. The DLX board is therefore quite slow,
running at 2 MHz. Performance was not an
issue for the Plasma Frequency Tracker, which ran off an externally specified
500kHz clock.
Both the GSP and DLX presented us with
a design choice many researchers in rapid prototyping face: "make it
fast" versus "make it now".
Since our interest is in the rapid production of functioning systems, we
opted for the latter. Our work clearly indicates, however, that FPGAs introduce
time penalties into digital systems that performance-critical designs may not
be able to accommodate. This is due to
both internal delays as signals are routed through the various logic blocks of
the device, and on/off chip delays when signals are used elsewhere in the
system. At this point in time, there
appears to be a definite tradeoff between performance and flexibility, with
FPGAs sacrificing the former to achieve the latter. We believe, however, that technological
advances will reduce this tradeoff, and propose a detailed investigation of the
relationship between these two qualities in FPGAs as a subject for future
research. For further results on the effects of FPGAs on digital system
performance, the reader is referred to [7] and [8].
Both the special purpose processors
were better able to utilize FPGAs than the general purpose one. We believe this is due to their reduced
subsystem complexity.
Special
purpose processors tend to be less complex than general purpose ones; their
designs discard all superfluous components, leaving only what is absolutely
necessary to solve a narrowly defined problem.
Accordingly, their subsystems, the logical candidates for FPGA
implementation, are less complex than those of general purpose devices, which
require suitable hardware to solve many basic computing tasks. This suggests that the subcomponents of a
special purpose system will be easier to implement than those of a general
purpose one.
Finally, we note that logic block
utilization is not the only limiting factor in subsystem partitioning with
FPGAs. When examining candidate devices, pin counts may become more
important. As shown in Table 5, 6 of the 9 devices were i/o-limited
rather than logic limited. We also found
it difficult to combine logic efficiency
with pin efficiency; in no case were we
able to obtain 90% utilization or higher of both logic modules and i/o.
7.0 Conclusions and Future Work
Our work has outlined some of the advantages and
disadvantages in employing FPGAs in digital systems, and presented quantitative
data in support of our conclusions. Our
results suggest that FPGAs may be more appropriate for special purpose devices
than general purpose ones, but that both can make excellent use of FPGAs.
Five years ago, the rapid construction
of working devices of the complexity described in this paper would have been
impossible in an academic setting. Our
ability to produce these systems and perform the appropriate experiments is due
completely to FPGAs. We believe that as the
technology advances further, systems of ever increasing complexity will become
feasible to prototype.
Readers interested in applying these
results to similar projects should examine various subsystems of their designs
for possible FPGA implementation.
Relevant parameters include complexity/gate count, I/O requirements, and
performance. It is important to
emphasize that both gate count and I/O are important factors in subsytem
analysis, as either one can render an FPGA implementation impossible. Subsystems
that are not in the critical path, or do not require aggressive clock rates,
are also preferable, as current FPGAs introduce performance penalties as the
price for design flexibility and reduced chip count. The challenge to designers is to match
subsystem requirements with an FPGA such that the gate and pin utilization on
the device is maximized. We believe this
to be an important area for future CAD research.
Work at the Thayer RPF is advancing on
a number of fronts. Some of our current
projects include 1) multi-layer design techniques, 2) an investigation of
different FPGA device families, 3) a more advanced computational accelerator for molecular
genetics, and 4) a pipelined DLX implementation. It is expected that FPGAs will be an
important part of these projects, and that their accompanying technology will
have advanced considerably by the time these projects are prototyped. We intend to further test the hypotheses
advanced here, to see if they hold under more advanced technological assumptions.
8.0 Acknowledgements
The author gratefully acknowledges the assistance
of Prof. James LaBelle and the Dartmouth College Physics Department, as well as
Gill Watt, Evan Gewirtz, and Pichet Chintrakulchai for their work on the
development of the GSP, PFT, and DLX processors. Support for the GSP project and the Thayer
Rapid Prototyping Facility was provided by the Whitaker Foundation, Sun
Microsystems, Direct Imaging, Actel Corporation, Xilinx Incorporated, National
Semiconductor, and Viewlogic. Support
was also provided by the National Science Foundation under award #CDA-8921062.
9.0 References
[1] ACT_ Family Field Programmable Gate Array
Databook, Actel Incorporated, March 1991.
[2] El Gamal, A. et. al., "An Architecture
for Electrically Configurable Gate Arrays", IEEE Journal of Solid State
Circuits, Vol. 24, No. 2, April 1989, pp 394-398.
[3] Erickson, A. and Fagin, B. "Calculating the FHT in Hardware",
to appear in IEEE Transactions on Signal
Processing, June 1992.
[4] Fagin, B. and Chintrakulchai, P.,
"Prototyping the DLX Microprocessor", Proceedings of the IEEE
International Workshop on Rapid System Prototyping, Research Triangle Park,
N.C., 1992.
[5], Fagin, B. and Watt, G., "A Special
Purpose Processor For Gene Sequence Analysis", Proceedings of the
International Conference on Computer Design, Cambridge, Mass., 1992.
[6] Gewirtz, E., "Digital Control of
Rocket-Borne Radio Instrumentation", Master's Thesis, Thayer School of
Engineering, Dartmouth College, Hanover NH
03755.
[7] Fagin, B., "Using Reprogrammable Gate
Arrays in Performance-Critical Digital Designs", Proceedings of the 3rd MSECE,
San Jose, CA, 1990, pp 43-60.
[8] Fagin, B., "Using Antifuse-Based FPGAs in
Performance-Critical Digital Designs",
Proceedings of the 4th MSECE, San Jose, CA, 1991. pp 225-234.
[9]
Kruskal, J., "An Overview of Sequence Comparison: Time Warps, String
Edits, and Macromolecules", SIAM
Review, April 1983, Vol 25, No 2, pp
201-237.
[10] D. Patterson and J. Hennessy, Computer Architecture: A Quantitative
Approach, San Mateo, CA, Morgan Kaufmann Publishers
Inc., 1990.
[11] FAST Databook, National Semiconductor
Corporation, 1991.
[12] ALS/AS Databook, Texas Instruments, 1991.
10.0 Figures
Figure 1:
GSP Block Diagram
Figure 2: Soliton Detector Block Diagram [6]
Figure 3: Thayer DLX Datapath
Table 1:
Processor FPGA Usage
FPGA
name function device type
GSP
actelbi4 special-purpose ALU ACT1020-68 (2)
actelcc counter/comparator ACT1020-68
actelsri static ram interface ACT1010-68
actelmx4 10 bit 2-1 mux ACT1010-44
PFT
dagc_contl sign, window, length, router ACT1020-68
master3a master counter ACT1020-68
cntrega counter register bank ACT1020-68
regbank data register bank ACT1020-68
DLX
uuchip universal unit for DLX ACT1020-84
Table 2: FPGA Module Count, Area, and Cost
Device
type logic i/o area
(in2) cost
ACT1010-44
PLCC 295 34 .43 23.25
ACT1010-68
PLCC 295 57 .91 23.25
ACT1020-44
PLCC 546 34 .43 43.30
ACT1020-68
PLCC 546 57 .91 43.30
ACT1020-84
PLCC 546 69 1.32 43.30
Table 3: IC Equivalents for FPGAs
FPGA name count area (in2) pins power (mW) cost
($)
actelbi4 53 10.54 874 12492.5 69.76
actelcc 26 7.03 502 8241 29.80
actelsri 7 1.61 128 2065 7.28
actelmx4 3 .55 48 345 2.64
dagc_contl 41 9.31 644 7882.5 57.97
master3a 33 14.36 624 5878 53.43
cntreg 34 7.88 624 5000 37.92
regbank 42 9.28 780 6560 46.84
uuchip 34 7.52 923 8768 72.27
Table 4: IC/FPGA Ratios
FPGA
name area power pins cost
actelbi4 11.58 65.49 12.85 1.61
actelcc 7.72 19.29 7.38 .69
actelsri 1.77 27.14 1.88 .31
actelmx4 1.29 9.80 1.09 .11
dagc_contl 10.89 15.46 9.47 1.34
master3a 58.71 11.50 9.18 1.23
cntrega 8.66 22.22 9.18 .88
regbank 10.20 24.94 11.47 1.08
uuchip 5.70 24.48 10.99 1.66
Table
5: FPGA Utilization
FPGA name logic/total % logic utilized io/total % i/o utilized
actelbi4 386/546 70.70 44/57 77.19
actelcc 444/546 81.32 55/57 96.49
actelsri 78/295 26.44 51/57 89.47
actelmx4 15/295 5.08 31/34 91.18
dagc_contl 276/546 50.55 56/57 98.24
master3a 501/546 91.76 44/57 77.19
cntrega 490/546 89.74 32/57 56.14
regbank 524/546 95.97 24/57 42.10
uuchip 484/546 88.64 65/69 94.20