Design Feature: September 2, 1996
So-called portable logic blocks, or "soft cores," are an integral part of today's high-complexity chip designs. Used in ASIC- and application-specific standard-product-based systems, soft cores help you shorten design cycle times, comply with industry-standard system specifications, and interface with other system components. However, soft cores are not a panacea for all design problems. They have limitations and design complexities that require you to understand how to use them before you can design them into your system.
The "soft" in soft core refers to a lack of geometric boundaries for a logic function. A soft-core description is commonly at a behavioral or register-transfer level (RTL) and almost always is in a hardware-description language (HDL), such as VHDL or Verilog. Some vendors offer soft cores in gate-level or netlist descriptions, which the vendors often encrypt to protect their intellectual property. You use a synthesis tool for a behaviorally described soft core to create a gate-level representation of the design, also in an HDL, and target it to a specific technology.
Behaviorally described soft cores have no physical attributes, and you can design them in chips spanning a range of process technologies (process feature sizes). The more advanced, or smaller, technologies typically result in higher chip speeds. You also often have a choice of design implementation with a specific core: cell-based, gate array, and, most recently, FPGA (see box, "Looking ahead").
| Looking ahead |
|
Soft cores are not just for ASICs anymore. Traditionally, you would find a core with the properties you need and integrate it on a chip using an ASIC design methodology (Reference 1). With the introduction of high-density programmable logic chips, however, FPGA vendors are partnering with third-party core vendors to let you design core-based FPGAs, similar to the situation that exists with ASICs. The trade-off is that FPGAs cost more per unit than do ASICs with similar numbers of used logic gates but provide a faster time to market for proof of concept. FPGA vendors also claim that the NRE cost of an FPGA is lower than that for a comparable ASIC. Actel (Sunnyvale, CA), Altera (San Jose, CA), with AMPP (Altera Megafunction Partners Program), Crosspoint Solutions (Milpitas, CA), with CoreBank, and Xilinx (San Jose, CA), with LogiCore, are FPGA companies with evolving core-based design partnerships and strategies. Altera announced its AMPP program last year and introduced the first core products in April. Other FPGA vendors have announced core-vendor agreements this year. The kinds of cores you can use are similar to those that ASIC vendors offer: µPs/µCs, DSPs, and telecomm blocks, among others. Unlike with soft cores for ASIC chips, core suppliers and FPGA vendors must tailor their products for each FPGA vendor's products and, often, for specific families from one vendor. This situation is due to the architectural differences among FPGA families. If you are looking for maximum speed from a core, you probably do not want to implement the core on an FPGA. The coarse-grained structure of programmable-logic chips and the longer interconnect wires necessary for programmability result in a slower implementation than that of an ASIC with a similar feature-sized process technology. However, if you are using FPGAs, you are probably looking for faster design times and chip turnaround than an ASIC chip can provide, not maximum performance. |
Cell-based chips offer the highest performance and lowest unit cost but have high up-front NRE costs, have long product-turnaround times, and often require a relatively high minimum production commitment from a silicon foundry. Gate arrays yield a faster finished prototype but have lower performance for a given technology and higher per-chip cost. FPGAs are the most expensive on a per-piece basis and have the lowest performance but have the fastest time to prototype, critical for many systems with short life cycles.
In contrast, you define hard cores at a physical level and use them for a technology and design implementation. Hard cores are predefined blocks with accurate timing specifications that you "drop" into a chip. Vendors, on the other hand, design soft cores to meet minimum performance specifications over a range of technology implementations, even though core performance varies across technologies. The well-defined timing parameters of hard cores make them more applicable for timing-critical applications, such as high-performance processor engines and high-speed I/O functions. You can also implement analog portions of mixed-signal chips as hard cores.
Figure
1 shows the relationship between models, which you use to verify a design,
and cores, which represent the actual design. When you undertake a
soft-core-based design, you need not only a behavioral or an RTL description of
the desired logic, but also a core model to simulate the logic's behavior and a
test program, or testbench, to verify the core after you implement it in a
technology. If you are designing a chip with cores that must comply with
industry standards, such as PCI and Universal Serial Bus (USB), you may find it
useful to have a compliance-test environment, or suite, which the core vendor
designs and verifies. A core described in Verilog or VHDL is not
automatically synthesizable. If you are using a soft core at the behavioral
level or RTL, get a synthesis script from the core vendor to use when you
synthesize the core to a gate level (see box, "Just what are
synthesis scripts?").
| Just what are synthesis scripts? |
|---|
|
Thomas L Anderson, Vice President of Engineering, Virtual Chips Logic synthesis has given birth to a new industry that provides cores in synthesizable Verilog or VHDL RTL format. You need efficient and correct logic synthesis to get the most benefit from an RTL core. Synthesis tools require command scripts to control operation as they transform an RTL description into an optimized gate-level netlist for a target technology. Script commands specify the names and format for input and output files, the target-technology library, and timing constraints, such as desired cycle time and setup-and-hold requirements on input signals. Some synthesis tools provide commands to guide the optimization for silicon area, routability, and power consumption. An RTL core provider should provide at least a "starter" synthesis script that reads all needed RTL files, performs some basic optimizations, and writes the resultant netlist. Many core providers go well beyond this baseline requirement to ease synthesis for end users by providing synthesis scripts with the following features:
A good synthesis script needs minimal changes and produces a netlist that lets you go directly to place and route. You should not have to perform repeated synthesis runs or to manually modify the netlist to insert delay elements or fix other timing problems. Few timing problems should exist in postroute analysis, although many factors beyond synthesis scripts, such as delay-prediction accuracy and place-and-route efficiency, determine the number of these problems. |
Many reasons exist to use a soft core from a supplier rather than develop one in-house. Near the top of the list is that somebody may have already developed and verified what you need, letting you implement the logic in a chip much faster than if you have to develop the function yourself. This approach is especially attractive if you consider the other items you need with the core: a synthesis suite, a testbench, documentation, and the like.
A soft core's technology independence is also a valuable commodity. You may want to implement a new design in an FPGA for proof of concept and early design verification and then move to a gate array or cell-based chip for lower cost. If you implement logic as a hard core, you need to redesign and reverify the logic for each targeted technology. A soft core, on the other hand, requires just simulation and timing verification after synthesis to a target technologya much faster option. The same situation applies if you want to migrate to a smaller technology for cost reduction or performance improvement.
Compliance with industry standards, such as MPEG-II for
video or PCI for networking, is another good reason to consider soft cores from
third-party providers for your design. Along with guaranteeing that the core
meets required interface and performance criteria, core vendors offer predefined
Verilog and VHDL core models for design verification. Core vendors also often
provide test and compliance tool suites to help you verify core-based chips in
systems. For example, both Sand Microelectronics and Virtual Chips offer a range
of PCI and USB core products and test environments that model a real system.
Sand features the PCI Performance Analyzer (PPA) tool for capturing, processing,
and displaying PCI-system-performance parameters (
Figure
2). You use PPA along with Sand's PCI-bus-level models to verify PCI
protocol and compliance and to optimize performance before committing your
design to silicon. PPA's graphical interface lets you view statistical data,
such as number of burst transfers and burst lengths; performance data, such as
read/write transfer rates and bus usage; and PCI-bus protocol and timing
violations. This capability allows you to compare simulations and fine-tune your
design for best performance.
Virtual Chips' USB Test Environment performs a similar
function for USB-based applications, checking for compliance and functionality.
You use it for any system with a single host and any number of hub and function
models.
Figure
3 represents a user-input PC peripheral, such as a mouse or joystick. The
host model initiates bus transactions to devices, ensures transaction
completion, and reports transmission errors and protocol violations. You specify
the transaction sequence with programming-interface commands, which perform
normal USB operations and create error conditions for verifying whether the
system correctly handles these errors. The hub model establishes upstream and
downstream connectivity, detects device attachment and detachment, and reports
transmission or protocol errors from either host or function devices. The
function model supports control, bulk, interrupt and isochronous transactions
and USB-specified setup commands. The model also reports endpoint status and
transmission and protocol errors.
Core-based chip-design issues
If you want to use soft cores in your chips, you have a number of choices. You can get a core directly from a third-party supplier and depend on that supplier's support during ASIC development. If you design an FPGA chip, you work directly with the FPGA vendor, using one of its soft cores and implementing it on your target device. You also can work with an ASIC supplier, using a combination of hard and soft cores. Some ASIC vendors, such as GEC Plessey (Scotts Valley, CA), Hitachi America (Brisbane, CA), IBM Microelectronics (Essex Junction, VT), Lucent Technologies (Allentown, PA), and Toshiba America (San Jose, CA), offer cores developed by themselves and some licensed from a core vendor.
ASIC companies often develop cores to complement their own intellectual-property blocks. Examples of such blocks are peripherals that work with a company's internally designed µPs. In addition, an ASIC company may license other functions, such as bus-interface blocks and memory controllers, from core companies. You probably cannot get source code for these cores from an ASIC vendor; you go to a different foundry for fabrication. Instead, these vendors often synthesize to a target process and provide gate-level netlists and test vectors. Not having source code may be a disadvantage if you want to do detailed debugging of your design or go in and make your own core modifications. Without source code, you must pay an ASIC vendor for additional modifications.
Because
soft-core models lack interconnect parasitic-delay information, they also lack
accurate timing information. Instead, the vendor supplies either a behavioral or
bus-functional model. Some vendors, such as VAutomation, provide sample timing
data for a technology. A bus-functional model simulates the core's behavior at
the pins without modeling the core's internal configuration. You use the
bus-functional portion to model interactions and command sequences between the
core and external circuitry. To guarantee operation over a range of
technologies, core vendors design their products as synchronous,
timing-predictable logic blocks. Behavioral or RTL simulation verifies
functionality, but not performance. You can check timing performance only after
you synthesize the core to the gate level for a target technology. Then, you use
ASIC-vendor-supplied estimated timing delays for that technology. These
estimates give you an idea of chip performance with that core. Only after place
and route and back-annotation of interconnect parasitics do you have a basis for
accurate timing simulation (Figure 4).
Core testability
Testing a soft core brings up unique problems for both core vendors and designers. Tom Boldt, director of sales and marketing, of Logic Innovations notes that core suppliers should validate that their products at least comply with industry-standard specifications and provide acceptable simulation on an accompanying testbench. Vendors should also implement and prove the design in silicon. However, soft cores have flexible technologies and implementations, and you must provide a means for testing them in your design.
When a core is in HDL format, it needs a testbench to go with it. The testbench defines how a test program exercises the core logic's nodes after you embed the core into a chip and test the entire chip. Like the chip, the testbench should provide high fault coverage for the core. Check with core suppliers about what fault coverage they provide. At a gate-level representation, test-vector suites provide the same function: exercising the core with high fault coverage.
If you design a chip using one or more soft cores from a core vendor or an FPGA or ASIC company, remember that cores are not off-the-shelf components. Their complexity and process/design-implementation flexibility mean that, when designing a core-based chip for a target process, you probably need design assistance from the core provider or licensee. Most core vendors and ASIC and FPGA providers that offer cores understand that the core business involves service as much as actual products.
When using a predefined soft core, you trade off design time and compliance to industry standards for high performance and more detailed understanding of the core's logic. Shrinking design time resulting from shortened product life cycles is making soft-core-based design a fast-growing and important part of system-on-a-chip design. Thus, the trade-off is not only desirable, but often necessary. Otherwise, you might face the task of designing all the logic for a 1 million-gate chip from scratch.
| A case for hard cores |
|---|
|
Robert Payne, Chief Technical Officer, VLSI Technology Soft, or generic, cores, along with RTL or behavioral models, provide synthesizable and technology-independent data-manipulation functions, such as MPEG decoding, asynchronous-transfer-mode (ATM) framing, bus interfaces, and DRAM control. These cores' value lies in architecture instead of silicon, thus facilitating technology independence. In contrast, functions such as high-speed interface modules and I/O blocks, with specific performance requirements, require optimization for a target silicon technology. As a result, soft cores address only a fraction of an ASIC's components. Along with application-specific functions, a typical ASIC contains memory and a combination of subsystem blocks. Surrounding these blocks are various interface functions that often have special signal characteristics, such as 155-Mbps ATM I/O or a mixed-signal data-conversion capability. In this type of ASIC, unless interface requirements are trivial (low-speed DRAM and ISA, for example), generic cores address only noninterface functions. Generally, higher performance interface functions are available only in certain technologies. Furthermore, in deep-submicron ASICs, the performance specification of more complex cores, such as the clock speed and millions-of-instructions-per-second (MIPS) rating of a DSP, often depends on silicon implementation. Silicon-specific porting also offers advantages in layout compaction, timing, and power consumption. Layout affects the number of dice per wafer and, therefore, chip cost. If you can get the same function as either a generic core or a core handcrafted for a technology, the handcrafted core is more compact, because it need not account for the average characteristics of a host of silicon vendors' design rules. For the same reason, a handcrafted core is also faster and most likely uses less power, even in equivalent-technology generations, than does a generic core. There's still room for generic cores, however. If a standard foundry technology fits your needs and you plan to use generic soft cores, the following are some practical considerations to discuss with your vendor:
|
|
Table 1Representative soft-core vendors | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Vendor |
Core types |
RDL HDL1 |
Source code available? |
Synthesis script? |
Testbench? |
Core modifiable?2 |
Technical partnerships |
Comments |
|
Advancel Logic |
ATM |
Verilog |
Yes |
Yes |
Yes |
Yes |
||
|
American Microsystems |
µP and peripherals |
VHDL |
Yes |
Yes |
No |
Yes |
||
|
Cast |
DMA and micro- sequencer controller |
VHDL |
Yes |
No |
Yes |
Yes |
||
|
Digital Design & Development |
XMidi (extended Midi) communication peripherals |
Both |
Yes |
No |
No |
Yes |
||
|
Dolphin Integration |
µPs and peripherals, bus controllers, MPEG |
Both |
Yes |
Yes |
Yes |
Yes |
Design Workshop, CAE Technology, Advancel |
Analog macrocells available |
|
Eureka Technology |
PowerPC and PCI-bus controllers |
Both |
Yes |
Yes |
Yes |
Yes |
Altera, Crosspoint, Xilinx |
|
|
Excellent Technology |
8-bit µP, PCI, 3-D graphics, USB, FireWire |
Both |
Yes |
Yes |
No |
Yes |
||
|
Integrated Silicon Systems |
Filters, DSP functions |
VHDL |
Yes |
Yes |
Yes |
Yes |
Altera, Compass, Crosspoint, Xilinx |
|
|
Logic Innovations |
PCI, ATM |
Both |
Yes |
Yes |
Yes |
Yes |
Altera, Compass, Lucent, Xilinx |
|
|
Nova Engineering |
Communication |
VHDL |
Yes |
No |
Yes |
Yes |
Encrypted netlist | |
|
Object Oriented Hardware |
Broad range of generic and industry-standard |
VHDL |
Yes |
With source code only |
Yes |
Yes |
Normally gate-level netlist to targeted | |
|
Sand Microelectronics |
PCI, USB |
Both |
Yes |
Yes |
Yes |
Yes |
Crosspoint |
Offers PPA |
|
Sierra Research Technology |
Processors, data communications, networking |
Verilog |
Yes |
Yes |
Yes |
Yes |
||
|
Silicon Engineering |
VGA, 8-bit µP, flat-panel controller |
Verilog |
Yes |
Yes |
Yes |
Yes |
||
|
SIS Microelectronics |
FIFO, µP interfaces, memory interfaces |
Verilog |
Yes |
No |
Yes |
Yes |
Altera, Compass Cadence, VeriBest, Ikos |
|
|
Symbios Logic |
Ethernet controllers, 32-bit RISC µP |
Verilog |
Yes |
Yes |
Yes |
Yes |
||
|
Technical Data Freeway |
DSP, telecomm, µP, µC, PC peripherals, multimedia |
Both |
Yes |
Yes |
Yes |
Yes |
Actel |
|
|
3Soft |
8/16-bit µP, PC peripherals, DSP, communications |
Both |
Yes |
Yes |
Yes |
Yes |
Many silicon and EDA partners |
|
|
VAutomation |
µP, HDLC, Ethernet |
Both |
Yes |
Yes |
Yes |
Sometimes |
Altera, Crosspoint |
FPGA prototypes for most cores |
|
Virtual Chips |
PCI, USB |
Both |
Yes |
Yes |
Yes |
Only if general value added |
Altera, Chip Express, Xilinx |
PCI and USB compliant test suites |
|
1 Hardware-description language. "Both" means source code in Verilog and VHDL. 2 Modifications are usually an additional charge beyond core price. | ||||||||
| Representative soft-core vendors | ||
|---|---|---|
| When you contact any of the following manufacturers directly, please let them know you read about their products at the EDN Magazine WWW site. | ||
| Advancel Logic San Jose, CA (408) 453-0600 fax (408) 453-0685 www.advancel.com |
American Microsystems Pocatello, ID (208) 233-4690 fax (208) 234-6795 www.amis.com |
Cast
Pomona, NY (914) 354-4945 fax (914) 354-0325 www.cast-inc.com |
| Digital Design & Development Meise, Belgium 011-32-2-270-2797 fax 011-32-2-270-1905 |
Dolphin Integration Meylan, France 011-33-7690-1096 fax 011-33-7690-2965 |
Eureka Technology Los Altos, CA (415) 960-3800 fax (415) 960-3805 |
| Excellent Design Kanagawa, Japan 011-81-45-474-9410 fax 011-81-45-474-9413 |
Integrated Silicon Systems Belfast, UK 011-44-1-232-664-664 fax 011-44-1-232-669-664 www.iss-dsp.com |
Logic Innovations San Diego, CA (619) 455-7200 fax (619) 455-7273 www.logici.com |
| Nova Engineering Cincinnati, OH (513) 860-3456 fax (513) 860-3535 |
Object Oriented Hardware London, UK 011-44-171-538-4114 fax 011-44-171-538-2323 |
Sand Microelectronics Santa Clara, CA (408) 235-8600 fax (408) 235-8601 www.sandmicro.com |
| Sierra Research and Technology Westlake Village, CA (818) 991-1509 fax (818) 991-1508 |
Silicon Engineering Scotts Valley, CA (408) 438-5330 fax (408) 438-8509 www.sei.com |
SIS Microelectronics Longmont, CO (303) 776-1667 fax (303) 776-5947 |
| Symbios Logic Fort Collins, CO (970) 223-5100 fax (970) 226-9660 |
3Soft San Jose, CA (408) 451-5700 fax (408) 451-5690 www.3soft.com |
Technical Data Freeway Concord, MA (508) 371-9004 fax (508) 371-9205 |
| VAutomation Nashua, NH (603) 882-2282 fax (603) 882-1587 www.vautomation.com |
Virtual Chips San Jose, CA (408) 452-1600 fax (408) 452-0952 www.vchips.com |
|