Processor Design: System-On-Chip Computing for ASICs and FPGAs

Chapter 4: Processor Design Flow

Jari Nurmi

Tampere University of Technology

In this chapter, an overview of a generic processor design flow will be presented. The chapter is based on the author s experiences and also somewhat on existing literature. The design flow is illustrated in Figure 4.1 and explained in more details in the following sections.


Figure 4.1: Generic processor design flow.

Capturing Requirements

The design process starts by capturing the requirements for the processor. There are both functional and non-functional requirements. The functional requirements stem from the foreseen applications, and also from the operating environment of the processor.

In the case of an extremely application-specific processor, the functional requirements of the applications can be found quite easily. In the best case, all the algorithms to be run on the processor are known a priori. At least, one can easily identify a representative set of algorithms within the application area.

The next step is to find operations or prototype instructions that support efficient execution of the known algorithms. We also have to figure out how we can address the operands, and what type of data we will be processing by the instructions. In a simple case the operations can be sketched by looking at the algorithm descriptions, in a more complicated case some profiling is needed to find out how frequently some operations, operation patterns or common subroutines are executed. The profiling can be done for full algorithms or for the algorithm kernels or inner loops. Examples of the full algorithms...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Distributed Control Systems (DCS)
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.