17.11.2012 Views

Soft-Core Processor Design - CiteSeer

Soft-Core Processor Design - CiteSeer

Soft-Core Processor Design - CiteSeer

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

performance of the UT Nios and Altera Nios. The Altera Nios 3.0 comes with SOPC Builder 3.0<br />

and the GNUPro Toolkit.<br />

Quartus II, version 3.0, Web Edition was used to synthesize all of the designs. Version 3.0<br />

includes the <strong>Design</strong> Space Explorer (DSE) version 1.0. DSE provides an interface for automated<br />

exploration of various design compilation parameters. Among others, there is a seed parameter<br />

that influences the initial placement used by the placement algorithm. Our experiments show that<br />

the variation in compilation results from seed to seed is significant. We use the DSE to sweep<br />

through a number of seeds to obtain better compilation results. The influence of a seed on the<br />

compilation results will be discussed in more detail in the next chapter.<br />

The Nios Development Kit, Stratix Edition [50] contains a development board with the<br />

EP1S10F780C6ES Stratix FPGA, which has 10,570 LEs and 920 Kbits of on-chip memory. In<br />

our experiments, we use both the on-chip memory and a 1 MB off-chip SRAM memory. Since<br />

the on-chip memory is synchronous it has one cycle latency. The off-chip SRAM is a<br />

zero-latency memory, but it shares the connection to the Stratix device with other components on<br />

the board. Hence, it has to be connected to the Avalon bus by using a tri-state bridge. Since both<br />

inputs and outputs of the bridge are registered, the Nios processor sees a memory with the latency<br />

of two cycles. The board is connected to a PC through a ByteBlasterMV cable [58] for<br />

downloading the FPGA configuration into the Stratix device on the board. There is also a serial<br />

connection for communication with the board using a terminal program provided in the GNUPro<br />

toolkit. The terminal program communicates with the GERMS monitor running on the Nios<br />

processor. The monitor program is used to download the compiled programs into the memory,<br />

run the programs and communicate with a running program.<br />

All system configurations were run using a 50 MHz clock generated on the development<br />

board. The results were prorated to include the maximum frequency (Fmax) the system can run at.<br />

The Fmax was determined by using the DSE seed sweep function to obtain the best Fmax over 10<br />

predefined seeds. The systems were not run at the maximum frequency because every change in<br />

the design requires finding a new seed value that produces the best Fmax. This is the case even if<br />

the best Fmax did not change significantly. We have verified that the systems run correctly at the<br />

Fmax obtained. We have also run several applications on a system running at the Fmax obtained,<br />

and verified that the difference between the prorated results and real results is negligible.<br />

Quartus II was configured to use the Stratix device available on the development board, the<br />

appropriate pins were assigned, as described in [59], and unused pins were reserved as tri-stated<br />

inputs. Other Quartus options were left at their default values, unless otherwise stated.<br />

51

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

Saved successfully!

Ooh no, something went wrong!