background image

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.[

3

]