Issue
109, August 1999
Using
System-on Chip Design with Virtual components
Cores in
FPGA Devices
As I mentioned,
its common for FPGA and ASIC vendors to provide
hard macros for common core functions. Traditionally,
these offerings have been limited, but the increasing
speed and size of FPGAs means a broader scope of core
offerings.
For example,
33-MHz PCI cores are readily available, and some FPGA
vendors even claim fully-compliant 66-MHz cores. Such
cores require a great deal of hand-tuning during the
design and layout stages so they are optimized for a
particular technology.
Like their
ASIC counterparts, FPGA designers may desire flexibility
and portability and can therefore benefit from synthesizable
designs. Theres no reason that synthesizable cores
cant be targeted to FPGA designs, but mapping
a core to an FPGA technology does present challenges.
In general,
commercial synthesis tools are less efficient at mapping
to complex programmable logic blocks than to relatively
simple ASIC cell libraries. The effect of routing length
is usually greater for FPGAs, producing unanticipated
delays on critical paths.
The design-tool
flows for most FPGA vendors do not have a tight loop
from layout back to synthesis. So, the synthesis process
usually cant take into account useful layout information
(e.g., a chip floorplan specifying the location of timing-critical
blocks.
The result:
less correlation between the preroute timing estimates
from the synthesis tool and the accurate postroute timing
results. When it comes to final chip timing, surprises
are usually negative rather than positive.
Finally, the
gate capacity of even the largest FPGA devices is far
below that of ASICs and custom chips, which limits opportunities
for multicore designs. So, on-chip buses arent
common in FPGAs.
Combinations
of a few cores are possible in large programmable devices:
for example, including several Ethernet cores to implement
a network repeater, or pairing a PCI core and a USB
host core for an adapter chip to add USB to a PC without
chipset support.