You are on page 1of 8

past designs can a huge chip be com-

FEATURE pleted within a reasonable time. This


solution usually entails reusing designs

ARTICLE from previous generations of products


and often leverages design work done
by other groups in the same company.
Various forms of intercompany
cross licensing and technology sharing
Thomas Anderson can provide access to design technol-
ogy that may be reused in new ways.
Many large companies have estab-
lished central organizations to pro-

System-on-Chip Design mote design reuse and sharing, and to


look for external IP sources.
One challenge faced by IP acquisi-

with Virtual Components


tion teams is that many designs aren’t
well suited for reuse. Designing with
reuse in mind requires extra time and
effort, and often more logic as well—
requirements likely to be at odds with
the time-to-market goals of a product
design team.
Therefore, a merchant semiconduc-
tor IP industry has arisen to provide
designs that were developed specifically

d
for reuse in a wide range of applications.
These designs are backed by documen-
esign reuse for tation and support similar to that
semiconductor provided by a semiconductor supplier.
Here in the Recycling projects has evolved The terms “virtual component”
from an interesting con- and “core” commonly denote reusable
Age, designing for cept to a requirement. Today’s huge semiconductor IP that is offered for
system-on-a-chip (SOC) designs rou- license as a product. The latter term is
reuse may sound like tinely require millions of transistors. promoted extensively by the Virtual
Silicon geometry continues to shrink Socket Interface (VSI) Alliance, a joint
a great idea. But with and ever-larger chips are possible. effort of several hundred companies to
But, the enormous capacity potential set standards for VC design, verification,
increasing require- of silicon presents several challenges and use. In this article, I describe the
for designers. Design methodology and major virtual component (VC) types
ments and chip sizes, EDA tools are being severely stressed and discuss their use in SOC designs.
by SOC projects at the same time that
it’s no easy task. narrowing time-to-market requirements FORMS OF VC
demand more rapid and frequent in- VCs are commonly divided into
Thomas explains how troduction of new products. three categories—hard, soft, and firm.
SOC projects present another A hard VC or hard macro is a design
virtual components problem—how to design enough logic that is locked to a particular silicon
to fill up these devices. Few compa- technology. Such macros are fully
help suppliers get nies have the expertise to design all placed and routed and are available in
the intellectual property (IP) needed a fixed size and format.
more mileage out of for a true SOC, and few have enough They can be easily dropped into the
engineering resources to complete floorplan for a chip in the same target
their SOC designs. such a massive project. Even those with technology, because the silicon tech-
the required knowledge and plentiful nology is known, and they usually have
resources may still be unable to finish predictable timing. However, they
a complete chip design in time to can’t easily be mapped to another
meet accelerated market demands. silicon vendor (e.g., a second source)
The net result: SOC projects require or even to a different technology from
design reuse. Only by leveraging off the same vendor. The VC user also

12 Issue 109 August 1999 CIRCUIT CELLAR® www.circuitcellar.com


has little or no choice in terms of fea- Figure 1—A soft VC intercon-
ture set modification or customization. nect fits between the applica- Application
tion logic and the I/O signals. interface
Hard macros are most often pro- Implementation instructions Standard
Interconnect Application
vided by ASIC and FPGA vendors as generally include guidelines for bus
I/O
VC logic
I/O

part of their library. Such macros are a connecting the interconnect to


the external chip pins. SOC
natural extension to the basic cell
library used to implement the VC user’s
design. Because the silicon vendor
sells chips, there’s no incentive to layout-level implementation, although Perhaps the highest leverage is
provide a VC in a more portable form some people refer to a VC as firm provided by a VC that implements a
that makes it easier for the customer whenever it comes with layout guide- formal or de facto standard. Because
to switch to another supplier. lines. The term also refers to a netlist- many types of chips and end products
Some IP vendors, especially those level VC that has been mapped by must meet a standard, a VC that
supplying microprocessor and DSP synthesis to a target technology but is implements this standard is ideal as a
designs, also provide a VC in hard not yet placed and routed. commercial IP product. It’s rare that
form. This option shows that the key It is possible, although difficult, to an end user can add enough value
elements of processors, especially make customizations to a VC in with an in-house design to offset the
data paths for arithmetic computa- netlist form. Synthesis tools can also time savings and standards expertise
tion, are often designed at the transis- provide some degree of portability to embodied in a well-designed VC.
tor level for maximum performance. new technologies, but the range of The standards provided by VCs range
Some processors, as well as many optimizations available when synthe- from formal IEEE, ANSI, and IEC
other kinds of VC products, are avail- sizing from the netlist level is more specifications to new technologies.
able from IP vendors in soft (or syn- limited than from Verilog or VHDL. Examples include communications
thesizable) form. A VC described in protocols like Ethernet and ATM,
Verilog RTL or VHDL code gives the VC FUNCTIONS computational functions such as
user maximum flexibility. It can be Numerous factors can lead to a MPEG and JPEG, parallel intercon-
mapped to virtually any target ASIC decision to license a commercial VC nect standards such as PCI and AGP,
or FPGA technology using commer- for inclusion in an SOC design. The and serial interconnects like USB and
cial logic synthesis tools. expertise and resources available and IEEE 1394. These examples have wide
The user may also be able to con- the time-to-market requirements for applicability to many different types of
trol the VC feature set, for example, the end product must be balanced SOC-based products, and the standards
by setting variables in the code or by against the expense of the VC license. themselves are well enough defined to
running a utility that modifies the Even a company with vast, expert allow implementation as a VC.
code under user control. Of course, resources may be able to produce a A VC implementing an interconnect
because the user licenses the actual better product faster by leveraging technology probably has the widest
Verilog or VHDL source code, it can external IP. range of application. For example, PCI
always be modified directly. This is especially true if the VC is used in diverse types of electronic
One issue with a synthesizable VC implements a common function be- products. Although it was developed
is that the precise timing is not known cause little is gained by designing and as a personal computer peripheral bus,
until the VC is mapped to a target optimizing such a function rather PCI has now been adopted for work-
technology. Accordingly, soft VC than focusing on product-differentiat- stations, mainframe computers, mili-
suppliers must synthesize to a range ing features. For example, the VC may tary applications, and networking/
of representative target libraries and duplicate the function of existing telecommunications systems. USB is
ensure that timing is satisfied. stand-alone chips (e.g., a UART or a following a similar expansion of scope
The supplier may also have to floppy disk controller) or implement a beyond the PC, as it is used to con-
supply guidelines to assist the user in common arithmetic function such as nect peripherals to gaming systems,
laying out the chip containing the VC a multiplier. set-top boxes, and PDAs.
so that the postroute timing is The widest penetration of all
still correct. Such guidelines may may occur with 1394, which is
SOC
include recommendations for SystemOnChip VC B VC C designed to interconnect both
target technology, pin assign- bus computers and diverse consumer
Memory Embedded
ments for external I/O, floor- controller processor electronics devices. Products
PeripheralOnChip
planning for key modules, and bus available today with 1394 sup-
VC A VC D
routing of critical paths. port include video cameras, digi-
The definition of a firm VC tal televisions, digital VCRs and
varies widely. The term is used professional audio equipment.
Figure 2—System-on-chip designs may contain both a system bus
most commonly to refer to a soft connect and a peripheral bus connect. Custom I/O blocks that provide Although it is not yet supported
VC accompanied by an example functions not commercially available may also be included. in mainstream PC chipsets,

www.circuitcellar.com CIRCUIT CELLAR® Issue 109 August 1999 13


such as a fully embedded processor, is also possible for the SOC designer to
SOC wired into the chip design like any create custom I/O blocks that connect
VC A VC B
other module. An interface VC, how- to an OCB to support functions not
PCI-to-PCI ever, generally has some I/O signals available from commercial VC sources.
External bridge
PCI bus
On-chip that need to connect to external chip It would be nice if widely adopted
PCI bus
VC C VC D pins. The implementation and layout OCB standards existed, but this is not
instructions for a soft interconnect the case. Nearly every embedded pro-
VC generally include guidelines on cessor has its own proprietary system
Figure 3—A multiprotocol I/O controller can be enabled how to connect to the pins. bus; some have defined proprietary
using PCI as an on-chip bus. In this application, a PCI- As shown in Figure 1, such a VC peripheral buses as well. This situa-
to-PCI bridge supports multiple I/O technologies using a
essentially fits in between the chip tion can make it difficult to take a VC
single PCI load or slot.
pins and the user’s application logic. designed for an SOC with one embed-
many desktop and laptop computers The set of VC I/O signals to which ded processor and move it to a different
offer 1394 support and such peripherals the user connects is often referred to chip. A few buses (e.g., AMBA buses for
as disk drives and videoconferencing as the application interface. ARM processors) are supported widely
cameras are starting to appear. enough to be considered a de facto
MULTIPLE VC APPLICATIONS standard in some application spaces.
USING A VIRTUAL COMPONENT It’s becoming common for an SOC One interesting option for a periph-
The path for a chip designer to use design to use more than one VC. Al- eral OCB is an on-chip version of PCI.
a VC depends on both form and func- though there may be no direct interac- Several popular embedded processors
tion. A hard macro can be dropped tion between one VC and another, in are available in versions that provide
into a chip layout fairly easily, as long other cases they may be linked on a PCI support, and many interconnect
as the macro and chip use the same common bus. The term “on-chip bus” VC families include an option for PCI
silicon technology. But, simulation (OCB) describes a formally specified support on the application interface.
and timing analysis with a hard macro bus that interconnects multiple VC Using a PCI OCB also enables exist-
is not as simple. blocks within a single chip. ing PCI-based chips to be easily trans-
Generally, the VC supplier must An OCB is likely to fall into one of formed into macros for use in larger
provide separate simulation and timing two categories—system or peripheral SOC designs in newer technologies.
models. Correlation of these models bus. A system bus connects an embed- The size of a PCI VC, which usually
to the hard-macro implementation may ded processor or DSP with the memory ranges from 7k to 15k gates, is not a
be a difficult problem for the VC pro- controller and higher speed I/O devices. major issue in the context of a million-
vider and a potential issue for the user. A peripheral bus connects to lower gate SOC. Other objections to PCI as an
A VC at the netlist level has fewer speed I/O technologies. OCB (e.g., its use of tristates and multi-
problems, although the inefficiency of An interface block generally bridges plexed address/data lines) can be ad-
gate-level simulation may require the these two buses, although some embed- dressed by using a PCI derivative.
VC supplier to provide a high-level ded processors directly drive both buses. In fact, a number of SOC designers
model in addition to the netlist. In SOC designs with multiple embed- use PCI or a derivative bus as an OCB.
A soft VC has several advantages ded processors, the processors generally Figure 3 shows one interesting appli-
in terms of design flow because it can communicate over the system bus. cation, a multiprotocol I/O controller.
usually follow the same design pro- Figure 2 shows an SOC that has This design allows multiple I/O
cess as the rest of the chip. The user both system and peripheral OCBs. In technologies (e.g., USB, 1394, and
runs synthesis to map the RTL design an actual chip, the system bus might Ethernet) to be combined by using a
to the target technology, uses static link to a 400-Mbps 1394 interconnect VC with PCI for each and then using a
timing analysis to verify timing, lays VC and the peripheral bus would sup- PCI OCB to link the VCs together. A
out the chip following the supplier’s port slower I/O technologies such as PCI-to-PCI bridge permits this wide
guidelines, and reruns static timing USB, RS-232, and IrDA (infrared). It’s range of I/O support while using only
analysis with back-annotated a single PCI load on the mother-
postroute delays. board or a single PCI slot in the
Procedural interface
The VC also has the same system.
advantages as any RTL design VSI is tackling the OCB issue
Master Target
in that the source code also model model by defining the virtual compo-
serves as the simulation and Sample
VC nent interface (VCI), a standard
under
timing model. The lack of per- application
test Standard application interface for VC
Protocol Timing
turbation to the user’s design monitor monitor
bus designs done in-house or avail-
methodology is a key attraction able from commercial IP sup-
for a synthesizable VC. Figure 4—A verification environment provides behavioral models and test
pliers. VCI is not an OCB but a
A VC with no requirements scripts to verify the functionality of the VCs. This approach can be used in standard VC interface that en-
for connection to chip pins, full SOC verification as well as stand-alone VC verification. ables OCB usage.

14 Issue 109 August 1999 CIRCUIT CELLAR® www.circuitcellar.com


• master model to address the VC as a
target
• target model to respond to VC as a
Functional
logic master
• sample application code to stimulate
VC
VC
• tests written as scripts of procedural
VC test mode
calls
SOC • monitors for protocol and timing
correctness
Figure 5—One test method for legacy VCs is a parallel
access test process. This process uses multiplexers to
bring all inputs and outputs to the external pins and As a stand-alone test for the VC, a
plays a predefined set of test vectors. verification environment lets you verify
a postsynthesis netlist or a customized
The idea is that the SOC designer version of the VC to ensure that protocol
needs to develop only a bus translator and timing rules are satisfied. A simple
from VCI to the chosen OCB. With set of test vectors performs much the
this translator, any VCI-based block same function for stand-alone VC
can easily be connected to a given OCB. verification, but debug is harder with-
VCI has been defined for easy transla- out monitors and readable test scripts.
tion to popular OCBs (including PCI) One of the main advantages of the
and translators for such buses will be verification environment approach is
available as licensable IP. that many of its components can be
used in the full SOC verification in
VC VERIFICATION ISSUES addition to the stand-alone VC verifi-
One area common to both single- cation. The master and target models
VC and multiple-VC SOC designs is can be connected to the SOC bus
the need to verify and test the com- interface while the protocol and tim-
plete chip. The SOC design and test ing monitors can continue to be used.
engineers want to leverage and build It may be possible to continue to
on the verification and test done for run the same test scripts on the SOC,
each individual VC, and accordingly requiring the chip designer to modify
they expect the VC provider to assist the procedural interface to stimulate the
in this process. VC from the actual SOC logic rather
As previously noted, each VC is than from the sample application.
accompanied by some sort of simula- A verification environment can be
tion model that enables the SOC provided with any VC, whether in hard
designer to run chip-level tests that or soft form. Synthesizable-VC suppli-
involve the VC. But, that doesn’t ers usually provide verification environ-
provide any support for determining ments and hard-macro suppliers often
whether the VC is connected properly provide some components such as bus
in the design and is operating correctly models to aid in SOC verification.
in the context of the full SOC. A VC Many of these components are useful
with a miswired application interface to a designer developing a custom
will simulate, but the results may not implementation of an interface or
be correct. processor. So, it’s quite common for
Many suppliers address this problem IP providers to license a verification
by providing a verification environ- environment even to customers who
ment along with the VC itself. Such do not license the VC itself.
an environment provides behavioral
models (usually in Verilog, VHDL, or VC TEST CHALLENGES
C) that interact with the VC and a set By its nature, a VC is embedded into
of test scripts that use these models the SOC design by the VC user. Once
to verify the functionality of the VC. a VC is inside the larger chip design,
Figure 4 shows a sample verification it’s no longer accessible as a stand-
environment for an interconnect VC alone functional block. Whatever test
such as PCI or 1394. Key components vectors or methods the VC supplier
of this approach include: provides can no longer be used without

16 Issue 109 August 1999 CIRCUIT CELLAR® www.circuitcellar.com


special considerations to design-for-test Sometimes the hard macro includes
(DFT) approaches during chip design. no internal DFT at all (often called
The challenges of embedded VC legacy VCs because the user needs to
tests depend on the nature of the VC treat them as black boxes in terms of
itself. A synthesizable VC is the easi- testing). Generally, the VC supplier
est case. The VC user runs synthesis provides a set of test vectors, perhaps
to map the Verilog or VHDL code to guaranteed to provide a certain level
the target technology, lays out the of coverage as defined by the single
chip following the supplier’s guide- stuck-at fault (SSF) model. Of course,
lines, and runs timing analysis with running this exact set of tests on the
back-annotated postroute delays. VC once it’s embedded in a chip can
The result, as I noted, is that the VC be a challenge for the VC user.
follows the same design process as the When the only test method available
rest of the chip. The same is generally for a legacy VC is “playing” a set of
true for chip test methodology, since predefined test vectors, two approaches
virtually all test insertion tools run are common. The first is simply to
on the postsynthesis netlist. Whatever bring all VC inputs and outputs out to
approach the VC user takes for the rest external chip I/O pins using multi-
of the chip—full scan, partial scan, plexers as shown in Figure 5.
built-in self test (BIST), or JTAG—is The parallel test-access process can
usually applied to the soft VC also. be automated by test-insertion tools
To ensure that the user has no prob- and requires only a VC test-mode pin
lems, a soft-VC supplier should use a setup prior to running functional vec-
clean design style with DFT in mind. tors on the VC. This approach is at-
Typically, soft VC designers use simple tractive for interconnect VCs like PCI
clocking schemes, avoiding latches and because some VC inputs and outputs
gated clocks unless they are required. will already be connected to chip I/O
For example, the USB protocol has pins for functional reasons.
suspend and resume commands that This method breaks down if there
put a peripheral device into a minimal- are more VC inputs and outputs than
power state. Some amount of clock chip pins available. Staging registers
gating is unavoidable in a USB device may be needed to accrue each complete
VC because of this requirement. VC vector over several clock cycles. If
In contrast, a hard macro user is the test vectors are also intended to
stuck with whatever test technique (if check VC timing, inserting multiplex-
any) is built into the VC. If the VC ers into the path adds delays and may
includes full scan, partial scan, or BIST require changes to the timing vectors.
technology, it’s helpful if the remainder This approach doesn’t work at all
of the chip also uses this approach. for analog VCs unless some sort of
Integrating a VC scan chain into the analog multiplexer is available. Inter-
full-chip scan chain is usually a simple vening digital logic makes it impos-
matter of running scan insertion and sible to apply or measure continuous
stitching tools. analog values.
The second approach, called internal
boundary scan or VC isolation, sur-
rounds the legacy VC with a JTAG-
Functional
logic
like register chain that can drive the
VC inputs and read the VC outputs.
VC As shown in Figure 6, this setup re-
Scan in Scan out
Scan ring quires some form of TAP-like test
VC test mode Test controller controller to run the scan chain.
SOC Because this technique relies on
serial access to the VC I/O signals, test
Figure 6—Another approach for testing legacy VC times can be long for complex blocks
involves serial access to the virtual-component I/O like embedded microprocessors. So, IP
signals. The legacy VC is surrounded with a JTAG-like
suppliers are developing methods to test
register chain that can drive VC inputs and read VC
outputs. The disadvantage of this method is that test complex VCs using existing functional
times can be very long for complex blocks. datapaths, including on-chip buses.

www.circuitcellar.com CIRCUIT CELLAR®


CORES IN FPGA DEVICES is usually greater for FPGAs, producing WORKS IN PROGRESS
As I mentioned, it’s common for unanticipated delays on critical paths. Design reuse, including licensing of
FPGA and ASIC vendors to provide The design-tool flows for most FPGA commercial IP, is key to SOC design.
hard macros for common core functions. vendors do not have a tight loop from And a significant industry has arisen
Traditionally, these offerings have been layout back to synthesis. So, the syn- to provide a wide range of VC products.
limited, but the increasing speed and thesis process usually can’t take into Several industry initiatives are address-
size of FPGAs means a broader scope account useful layout information ing the needs of VC suppliers and users.
of core offerings. (e.g., a chip floorplan specifying the The IEEE Test Technology Techni-
For example, 33-MHz PCI cores are location of timing-critical blocks. cal Committee Embedded Core Test
readily available, and some FPGA The result: less correlation between Study Group has also been working
vendors even claim fully-compliant the preroute timing estimates from the on VC test issues, and this has led to
66-MHz cores. Such cores require a synthesis tool and the accurate post- the proposed IEEE P1500 specification.
great deal of hand-tuning during the route timing results. When it comes It’s important not to minimize the
design and layout stages so they are to final chip timing, surprises are issues and concerns involved in VC use.
optimized for a particular technology. usually negative rather than positive. Recognizing this, two industry groups
Like their ASIC counterparts, FPGA Finally, the gate capacity of even the focus on the business and legal aspects
designers may desire flexibility and largest FPGA devices is far below that of VC license and use.
portability and can therefore benefit of ASICs and custom chips, which Many VC suppliers are members of
from synthesizable designs. There’s limits opportunities for multicore the RAPID trade association, which
no reason that synthesizable cores designs. So, on-chip buses aren’t com- works on common VC license agree-
can’t be targeted to FPGA designs, but mon in FPGAs. ments and catalog methods. RAPID
mapping a core to an FPGA technol- Combinations of a few cores are cooperates with the Virtual Component
ogy does present challenges. possible in large programmable devices: Exchange (VCX), which is developing a
In general, commercial synthesis for example, including several Ether- structure for simplified VC transactions.
tools are less efficient at mapping to net cores to implement a network re- The immaturity of EDA tools for VC
complex programmable logic blocks peater, or pairing a PCI core and a USB integration and SOC design is one chal-
than to relatively simple ASIC cell host core for an adapter chip to add lenge to design reuse. Also, new suppli-
libraries. The effect of routing length USB to a PC without chipset support. ers may underestimate the difficulty

18 Issue 109 August 1999 CIRCUIT CELLAR® www.circuitcellar.com


of designing for reuse across a diverse T.L. Anderson, “The Reality of S. Davidmann, “Using Pre-designed
customer base. Some VC types (e.g., Using Cores as Virtual Compo- Components in PCI Bus-based
interconnect cores, embedded proces- nents,” Electronic Engineering, Systems,” Electronic Engineering,
sors) need a vertically integrated supplier July/Aug. 1998. May 1996.
that supports software and hardware. T.L. Anderson, “Make vs. Buy: A IEEE, “A D&T Roundtable: Testing
Despite these issues, virtually every Case for Licensing Cores,” Silicon Embedded Cores,” IEEE Design and
major system and semiconductor manu- Strategies 1, Feb. 1998. Test of Computers, May/June 1997.
facturer has licensed external IP and T.L. Anderson and C. Stahr, “ASIC IEEE P1500 Standards for Embed-
employs internal reuse. Commercial Design Flow with Synthesizable ded Core Test, grouper.ieee.org/
VC products are incorporated into Cores,” Proc. of Design, Automa- groups/1500.
thousands of chip designs, and the many tion and Test in Europe: User’s A. Oldham, M. Knecht, and T.L.
successful products on the market Track, Feb. 1998. Anderson, “IP Cores in AGP Bus-
prove the value of this approach. I T.L. Anderson, “Thoughts on Core based Systems,” Electronic Prod-
Integration and Test,” Int’l Test uct Design, May 1998.
Thomas Anderson is director of engi-
Conference 1997 Proc., Nov. 1997.
neering in the Semiconductor IP Group SOURCES
T.L. Anderson, “CPLD Cores can
at Phoenix Technologies. He is also a
Speed Design Turnaround,” EE VSI Alliance
member of the PCI special interest
Times, 21 Apr. 1997. (408) 256-8800
group steering committee and chair-
T.L. Anderson, “The Challenge of Fax: (408) 356-9018
person of the 1394 Developers’ Con-
Verifying a Synthesizable Core,” www.vsi.org
ference. You may reach him at tom_
Computer Design, July 1996.
anderson@phoenix.com. RAPID
T.L. Anderson, “RTL Cores Promote
Design Flexibility,” EE Times, 15 (408) 341-8966
REFERENCES May 1996. www.rapid.org
T.L. Anderson, “Interconnect Solu- S. Brandt, “Building a Multimedia Virtual Component Exchange
tions for Embedded Systems,” Video Conferencing Chip with a +44 1506 404100
Microsoft Embedded Review, 1 Synthesizable PCI Core,” Integrated Fax: +44 1506 404104
Mar. 1999. System Design, Sept. 1997. www.vcx.org

www.circuitcellar.com CIRCUIT CELLAR® Issue 109 August 1999 19

You might also like