17.11.2012 Views

Soft-Core Processor Design - CiteSeer

Soft-Core Processor Design - CiteSeer

Soft-Core Processor Design - CiteSeer

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 6<br />

Discussion<br />

In this chapter the UT Nios design process, the issues encountered during the process, and<br />

solutions to these issues are discussed. An analysis of the current UT Nios implementation is<br />

given, and possible improvements are proposed. Finally, some general design and tool<br />

considerations are discussed.<br />

6.1. <strong>Design</strong> Process<br />

<strong>Soft</strong>-core processor design methodology differs from the traditional architectural research. The<br />

results of the particular design optimizations can be verified on actual hardware in relatively short<br />

time if the target is a programmable chip. This characteristic was exploited in developing the UT<br />

Nios. The design process was guided using the feedback obtained using the capabilities of the<br />

available design tools, such as Quartus II Timing Analyzer.<br />

As discussed in section 5.4.1, the performance of a processor is defined through two<br />

parameters: cycle count and the cycle time. Cycle count is dependent on the number of pipeline<br />

stalls resulting from the pipeline hazards, while the cycle time is determined by the design’s Fmax.<br />

Improving one of the parameters often has a negative effect on the other one. The goal of a<br />

processor designer is to balance the two parameters to obtain the maximum overall performance.<br />

During the UT Nios design process, several versions of UT Nios were built. A processor was<br />

improved from one version to the next by analyzing its critical paths and considering ways to<br />

remove the critical paths without introducing additional pipeline stalls. The stalls were only<br />

introduced if the potential performance gain from the increased Fmax outweighed the loss because<br />

of the increased cycle count. The design process is presented in more detail in the following<br />

sections.<br />

6.1.1. Development Progress<br />

The first implementation of the Nios architecture developed as a part of this work was a 16-bit<br />

processor that executed all instructions, except for memory operations, in a single cycle after<br />

being fetched. Although most instructions execute in a single cycle, this implementation has a<br />

prefetch unit similar to the one described in section 4.1.1, so it may be considered a 2-stage<br />

76

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!