Chapter 1. Introduction
4
also sometimes offered as generic gate-level netlists. The netlist is a boolean-algebra
representation of the IP’s logical function implemented as generic gates or process specific
standard cells. An IP core implemented as generic gates is portable to any process
technology. A gate-level netlist is analogous to an assembly-code listing in the field of
computer programming. A netlist gives the IP core vendor reasonable protection against
reverse engineering. Both netlist and synthesizable cores are called ”soft cores”, as both
allow a synthesis, placement and route (SPR) design flow. Hard cores on the other hand
are offered by their physical low-level description, thus making them more predictable in
terms of timing performance and area utilization.Such cores, whether analog or digital,
are called ”hard cores” (or hard macros), because the core’s application function cannot
be meaningfully modified by chip designers. Transistor layouts must obey the target
foundry’s process design rules, and hence, hard cores delivered for one foundry’s process
cannot be easily ported to a different process or foundry.
1.3
Soft Microprocessors
As mentioned earlier, embedded systems are a vital part of our everyday interaction
with technology. These systems often have special restrictions, mainly in power con-
sumption and cost. Usually these systems contain embedded processors either in the
form of micro-controllers or soft processors. In addition to these constraints, many em-
bedded system developers are faced with tight timeto- market deadlines. Hence, the
hardware/software codesign methodology is often used to design embedded systems in
order to help reduce the amount of time spent on development and debugging. Soft
microprocessor is a microprocessor solely implemented using logic synthesis and HDLs.
They can be implemented in varisous reprogrammable semiconductor devices such as
FPGAs, PLDs, ASICs. The use of soft-core processors holds many advantages for the
designer of an embedded system. First, soft-core processors are flexible and can be cus-
tomized for a specific application with relative ease. Second, since soft-core processors
are technology independent and can be synthesized for any given target ASIC or FPGA
technology, they are therefore more immune to becoming obsolete when compared with
circuit or logic level descriptions of a processor. Finally, since a softcore processor’s
architecture and behavior are described at a higher abstraction level using an HDL, it
becomes much easier to understand the overall design.[