2
Finally, there is the IP vendor to consider. The IP industry is still young and there have been a
number of poor products and even some failures, and they have not been confined to start-ups.
Consequently, a customer must evaluate not only the IP core, but also the IP provider.
Soft vs. Hard Cores
Let’s examine the pros and cons:
Performance
Because soft cores are not implemented, they are inherently more flexible in function and
implementation than hard cores. On the other hand, hard core developers can afford to spend
more time optimizing their implementations because they will be used in many designs. Thus,
there is a perception that hard cores offer higher performance.
In fact, high-end, full-custom hard cores designed for the most advanced processes do offer more
performance than soft cores. By using latches, dynamic logic, 3-state signals, custom memories,
and so on, the full-custom design team can achieve much better results than a fully static
synthesized design. For an SOC that requires performance that pushes the limits of current
process and design technology, a full-custom hard core is better able to meet these needs.
However, if the performance target is within the range of a soft core, then the potential
performance advantage of a hard core is immaterial. The SOC design team can meet its
performance goals with a soft core while taking advantage of its inherent flexibility. (As process
technology improves, the maximum frequency limits of soft cores will also improve, making
them an option for even more SOC designs.)
Even at slower clock frequencies, a hard core may offer an advantage in terms of silicon area.
But this is not always true. Often, a hard core is simply hardened using an ASIC-style
methodology, which offers no advantage in area of speed. In other cases, a full-custom core is
not re-optimized for each process generation, thus diminishing its frequency and area
advantages.
Technology Independence & Portability
One of the advantages of a soft core is that it is technology independent. That is to say, the high-
level Verilog or VHDL does not require the use of a specific process technology or standard cell
library. This means that the same IP core can be used for multiple designs, or for future
generations of the current design. (Some soft core IP providers use design styles that make their
cores technology-dependent, but the advantages of this approach are unclear.)
A hard core, on the other hand, is very technology-specific. In fact, if a foundry changes its
process parameters or library factors, a hard core may not work correctly with the process
tweaks. This introduces risk since the IP provider will need to re-verify the hard core when
process parameters are changed.
Hard cores can be ported to new process technologies, but the effort to re-optimize full-custom
cores is significant and costly. It may take two years or more for some advanced microprocessor
cores. Because of this, hard cores are often optically scaled for new processes. While simple and