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.

The Stratix FPGA device family has a much more complex structure than the general FPGA<br />

described in section 2.1. In addition to logic blocks, routing, and I/O blocks, Stratix devices also<br />

contain DSP blocks, phase-locked loops (PLLs), and memory blocks. As already mentioned,<br />

memory is the key component that makes an FPGA suitable for SOPC designs. Devices in the<br />

Stratix family contain anywhere from 920,448 to 7,427,520 memory bits. Several different types<br />

of memory blocks are available, each one suited to a particular application. Memory blocks<br />

support several modes of operation, including simple dual-port, true dual-port, and single-port<br />

RAM, ROM, and FIFO buffers. Some memory block types can be initialized at the time the<br />

device is configured [12]. In this case the memory initialization bits are a part of the FPGA<br />

programming file.<br />

All the memory available in Stratix devices is synchronous. All inputs to a memory block are<br />

registered, so the address and data are always captured on a clock edge. Outputs can be registered<br />

for pipelined designs. Synchronous memory offers several advantages over asynchronous<br />

memory. Synchronous memory generates a write strobe signal internally, so there is no need for<br />

external circuitry. Performance of the synchronous memory is the same or better than<br />

asynchronous memory, providing that the design is pipelined [17].<br />

Quartus II provides a set of tools for circuit designs targeting Altera programmable devices.<br />

These tools include design editors, compilation and simulation tools, and device programming<br />

software. <strong>Design</strong> specification can be entered using one or more of the following formats:<br />

schematic entry, VHDL, Verilog HDL, Altera HDL (AHDL), EDIF netlist, and Verilog Quartus<br />

Mapping File (VQM) netlist. AHDL is an Altera specific HDL integrated into Quartus II. EDIF<br />

and VQM are two netlist specification formats [18]. Netlist input formats are useful when a third<br />

party synthesis tool is used in the design flow. Output of the third party tool can be fed to<br />

Quartus, which performs placement and routing (also called fitting in Quartus terminology) for<br />

Altera FPGAs. This is especially useful for legacy designs that include language constructs or<br />

library components specific to other synthesis tools. Various parameters guiding the compilation<br />

process can be set, and the process can be automated using scripting.<br />

Quartus II includes a library of parameterizable megafunctions (LPM), which implement<br />

standard building blocks used in digital circuit design. Library megafunctions may be<br />

parameterized at design time to better suite the needs of a system being designed. Using the<br />

megafunctions instead of implementing the custom blocks reduces the design time. The<br />

megafunctions may be implemented more efficiently in the target FPGA than the custom design,<br />

although that is not necessarily always the case [16]. There are two ways a megafunction can be<br />

included in HDL design. It may be explicitly instantiated as a module, or it can be inferred from<br />

10

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

Saved successfully!

Ooh no, something went wrong!