Processor Options
FPGAs are great for high performance and parallel computing. Addition of a processor enables control path processing which is required for most applications. Xilinx FPGAs allow you to make use of processors, which could be soft (implemented on fabric), or
- PDF / 631,056 Bytes
- 10 Pages / 439.37 x 666.14 pts Page_size
- 41 Downloads / 206 Views
Processor Options Siddharth Rele
6.1
Introduction
FPGAs are great for high performance and parallel computing. Addition of a processor enables control path processing which is required for most applications. Xilinx FPGAs allow you to make use of processors, which could be soft (implemented on fabric), or hard (pre-built). Designing with processors on FPGA has been made easier through use of Xilinx Vivado IP Integrator and SDK tools. This chapter will explore the usage of both hard and soft processors within Xilinx FPGAs for some typical applications.
6.2
Computing on FPGAs
A basic introduction to FPGAs has been provided in Chap. 1. Processors and FPGAs provide similar general processing capabilities but are differentiated by the way you use them for programming and the type of applications/use cases. Processors use software methods, while FPGAs were traditionally programmed through use of hardware design languages such as Verilog and VHDL. Processors are good when it comes to control flow as well as processing based on control, while FPGAs are preferred when unconditional processing has to be done on a larger data-set. There are several benefits of combining the control capabilities of a processor with data-intensive compute of the FPGA. Solutions can be developed by having a
S. Rele (*) Xilinx India Technology Services, Hyderabad, Telangana, India e-mail: [email protected] © Springer International Publishing Switzerland 2017 S. Churiwala (ed.), Designing with Xilinx® FPGAs, DOI 10.1007/978-3-319-42438-5_6
65
66
S. Rele
multi-chip solution with standard discrete processors connecting to FPGAs over I/O pins. While these solutions work, they lead to increased latencies which may not be acceptable for several high-speed applications. Hence, an integrated processor with FPGA solution would be more apt for most applications. These lead to lower latencies when processor accesses rest of the design as well as leads to reduction in overall I/O count.
6.3
Processors on FPGAs
There are two categories of processor solutions possible on Xilinx FPGAs: • Soft processors • Hard processors You can choose either of these depending on the amount of control processing and I/O required for your application. The cost of the overall solution will also play a role in making the decision.
6.3.1
Soft Processors
Soft processors make use of the FPGA fabric for implementing the processors. For low speed (200 MHz and below), soft processors are a good option. These come in multiple flavors and are user configurable. Depending on the nature of the application, you can choose to trim down the functionality from the processors. At the lowest end, you can implement an 8-bit processor with bare minimal instruction set. One example of such a processor is PicoBlaze™ from Xilinx. This processor is a good replacement for state machines. PicoBlaze does not have a compiler tool chain and hence requires the program to be written in assembly language. This program is stored in the local memory available on the FPGA as a memory store.
Data Loading...