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.

logic and I/O blocks [11]. Since the content of SRAM cells is lost when the device is not<br />

powered, the configuration needs to be reloaded into the device on each power-up. This is done<br />

using a configuration device that loads the configuration stored in some form of non-volatile<br />

memory.<br />

Programmability of FPGAs comes at a price. Resources necessary for the programmability<br />

take up chip area and consume power. Therefore, circuits implemented in FPGAs take up more<br />

area and consume more power than in equivalent ASIC implementations. Furthermore, since the<br />

routing in FPGAs is achieved using programmable switches, as opposed to metal wires in ASICs,<br />

circuit delays in FPGAs are higher. Because of that, care has to be taken to exploit the resources<br />

in an FPGA efficiently. Circuit speed is important for high-throughput applications like Digital<br />

Signal Processing (DSP), while power is important for embedded applications. CAD tools are<br />

used by the designer to meet these requirements.<br />

2.3. FPGA <strong>Design</strong> Flow<br />

<strong>Design</strong>ing a complex system targeting FPGAs would be virtually impossible without CAD<br />

tools. The CAD tools convert the user’s specification into an FPGA configuration that<br />

implements the specified functionality, while optimizing one or more design parameters.<br />

Common optimizations include reducing the chip area, increasing the speed, and reducing the<br />

power usage. The CAD tools perform a set of steps to map the design specification to an FPGA.<br />

Figure 2.2 shows the design flow of typical CAD tools targeting FPGAs [11].<br />

Input to a CAD tool is a high-level circuit description, which is typically provided using a<br />

hardware description language (HDL). VHDL (Very High Speed Integrated Circuit Hardware<br />

Description Language) and Verilog HDL are the two most popular HDLs in use today. An HDL<br />

circuit description is converted into a netlist of basic gates in the synthesis step of the design flow.<br />

The netlist is optimized using technology-independent logic minimization algorithms. The<br />

optimized netlist is mapped to the target device using a technology-mapping algorithm.<br />

A minimization algorithm ensures that the circuit uses as few logic blocks as possible. Further<br />

optimizations that exploit the structure of the underlying FPGA are also performed. For instance,<br />

some FPGAs group logic blocks in clusters, with high connectivity among the blocks inside the<br />

cluster, and less routing resources connecting logic blocks in different clusters. This is usually<br />

referred to as hierarchical routing. The synthesis tool will use information on the cluster size and<br />

connectivity to map logic that requires many connections inside a cluster. This optimization is<br />

7

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

Saved successfully!

Ooh no, something went wrong!