EDN logo


Design Feature: September 2, 1996

The hard facts about soft cores

Jim Lipman,
Technical Editor

The use of soft cores, predefined and preverified technology-independent logic blocks, simplifies and speeds chip design. Knowing what to look for in these blocks eases system design.

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:

  • Use of variables or parameters for attributes that you might modify, such as target-library name and timing requirements on the interface between the core and your logic;
  • Full specification of timing requirements on standard interfaces; you should not change these timing specifications if you want to conform to these standard interfaces;
  • Synthesis commands to satisfy all setup-and-hold timing requirements on standard interfaces; these commands should include automatic insertion of any delay elements to meet hold times;
  • Automatic synthesis to check file dependencies and rerun synthesis tools only when input files change; this requirement updates output files and eliminates unnecessary runs.

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 technology—a 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:

  • Who pays for redoing the chip if the final silicon doesn't work? Ask about test methodology, and find out if there is a testbench for the core.
  • What process-technology assumptions did the vendor use to make the core generic? Because interconnect effects dominate timing in deep-submicron processes, how does the core account for different foundries' metallization and processes? Find out whether documentation exists of previous implementations of this core in your target technology. If no documentation is available, ask whether anyone has ever ported the core to a similar technology.

You can reach Technical Editor Jim Lipman at (510) 606-1370, fax (510) 606-1563, email: ednlipman@mcimail.com.


References

  1. Lipman, Jim, "Solving the configurable, core-based-chip puzzle: EDA tools put it together," EDN, Oct 26, 1995, pg 81.

Table 1—Representative 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

Altera


American Microsystems

µP and peripherals

VHDL

Yes

Yes

No

Yes



Cast

DMA and micro- sequencer controller

VHDL

Yes

No

Yes

Yes

Altera


Digital Design & Development

XMidi (extended Midi) communication peripherals

Both

Yes

No

No

Yes

Altera


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

Altera


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

Altera

Encrypted netlist

Object Oriented Hardware

Broad range of generic and industry-standard

VHDL

Yes

With source code only

Yes

Yes

Altera

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

Altera, Chip Express, Crosspoint, Toshiba


Silicon Engineering

VGA, 8-bit µP, flat-panel controller

Verilog

Yes

Yes

Yes

Yes

Altera


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


| EDN Access | feedback | subscribe to EDN! |
| design features | out in front | design ideas | departments | products | columnist |


Copyright © 1996 EDN Magazine. EDN is a registered trademark of Reed Properties Inc, used under license.