Issue
109, August 1999
Using
System-on Chip Design with Virtual components
Forms
of VC
VCs are commonly
divided into three categorieshard, soft, and firm.
A hard VC or hard macro is a design that is locked to
a particular silicon technology. Such macros are fully
placed and routed and are available in a fixed size
and format.
They can be
easily dropped into the floorplan for a chip in the
same target technology, because the silicon technology
is known, and they usually have predictable timing.
However, they cant easily be mapped to another
silicon vendor (e.g., a second source) or even to a
different technology from the same vendor. The VC user
also has little or no choice in terms of feature set
modification or customization.
Hard macros
are most often provided by ASIC and FPGA vendors as
part of their library. Such macros are a natural extension
to the basic cell library used to implement the VC users
design. Because the silicon vendor sells chips, theres
no incentive to provide a VC in a more portable form
that makes it easier for the customer to switch to another
supplier.
Some IP vendors,
especially those supplying microprocessor and DSP designs,
also provide a VC in hard form. This option shows that
the key elements of processors, especially data paths
for arithmetic computation, are often designed at the
transistor level for maximum performance.
Some processors,
as well as many other kinds of VC products, are available
from IP vendors in soft (or synthesizable) form. A VC
described in Verilog RTL or VHDL code gives the user
maximum flexibility. It can be mapped to virtually any
target ASIC or FPGA technology using commercial logic
synthesis tools.
The user may
also be able to control the VC feature set, for example,
by setting variables in the code or by running a utility
that modifies the code under user control. Of course,
because the user licenses the actual Verilog or VHDL
source code, it can always be modified directly.
One issue
with a synthesizable VC is that the precise timing is
not known until the VC is mapped to a target technology.
Accordingly, soft VC suppliers must synthesize to a
range of representative target libraries and ensure
that timing is satisfied.
The supplier
may also have to supply guidelines to assist the user
in laying out the chip containing the VC so that the
postroute timing is still correct. Such guidelines may
include recommendations for target technology, pin assignments
for external I/O, floorplanning for key modules, and
routing of critical paths.
The definition
of a firm VC varies widely. The term is used most commonly
to refer to a soft VC accompanied by an example layout-level
implementation, although some people refer to a VC as
firm whenever it comes with layout guidelines. The term
also refers to a netlist-level VC that has been mapped
by synthesis to a target technology but is not yet placed
and routed.
It is possible,
although difficult, to make customizations to a VC in
netlist form. Synthesis tools can also provide some
degree of portability to new technologies, but the range
of optimizations available when synthesizing from the
netlist level is more limited than from Verilog or VHDL.