Soft-Core Processor Design - CiteSeer
Soft-Core Processor Design - CiteSeer
Soft-Core Processor Design - CiteSeer
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