High-Level Synthesis Tools for Xilinx Fpgas

High-Level Synthesis Tools for Xilinx Fpgas

An Independent Evaluation of: High-Level Synthesis Tools for Xilinx FPGAs By the staff of Berkeley Design Technology, Inc. Executive Summary In 2009, Berkeley Design Technology Inc. (BDTI), an HLSTs provided roughly 40X better performance than a independent benchmarking and analysis firm, launched mainstream DSP processor, and that the high-level syn- the BDTI High-Level Synthesis Tool Certification Pro- thesis tools were able to achieve FPGA resource utiliza- gram™ to evaluate high-level synthesis tools for tion levels comparable to hand-written RTL code. FPGAs. Such tools take as their input a high-level repre- Furthermore, as we will discuss in this white paper, sentation of an application (written in C or MATLAB, for implementing our video application using the HLSTs example) and generate a register-transfer-level (RTL) along with Xilinx FPGA tools required a similar level of implementation for an FPGA. Thus far, two high-level effort as that required for the DSP processor. This find- synthesis tools, AutoESL’s AutoPilot and the Synopsys ing will no doubt be surprising to many, as FPGAs have Synphony C Compiler, have been certified under the historically required much more development time than program. DSPs. BDTI’s evaluation program uses two example appli- Based on our analysis, we believe that HLSTs can sig- cations, a video motion analysis application and a wireless nificantly increase the productivity of current FPGA receiver, to evaluate high-level synthesis tools (HLSTs) users. For those using DSP processors in highly demand- on a number of quantitative and qualitative metrics. As ing applications, we believe that FPGAs used with shown in Figure 1 and Figure 2, we found that the Xilinx HLSTs are worthy of serious consideration. Spartan-3A DSP 3400 FPGA used with either of the two FPGA Utilization Performance (Frames/Second) CERTIFIED Higher is Better TM Lower is Better 250 7.0% 5.9% 5.9% 195 6.0% 200 5.0% ce n 150 a 4.0% rm fo 3.0% 100 er P 0x 2.0% 50 4 5.1 1.0% 0 0.0% DSP HLST + FPGA RTL HLST FIGURE 1. Maximum frame rate achieved (at 720p resolution) FIGURE 2. FPGA resource utilization on the BDTI DQPSK on the BDTI Optical Flow Workload (a video application) on a Workload (a wireless receiver) implemented using HLSTs DSP processor and a Spartan-3A DSP FPGA using HLSTs. (average result) versus hand-written RTL code. © 2010 BDTI (www.BDTI.com). All rights reserved. In this paper, we describe the methodology underpin- also eliminate much of the effort in developing the test ning our evaluation, present selected results, and high- benches needed to verify the RTL implementation. Fur- light key advantages and limitations of high-level thermore, much of the debugging and verification can be synthesis tools as used with Xilinx FPGAs. performed at a high level rather than at the RTL code level, which can significantly reduce debugging and veri- Background fication time and effort. Xilinx was founded in 1984 and has long been a dom- For processor users seeking higher performance, a inant provider of FPGAs. Current Xilinx FPGA families key question is whether high-level synthesis tools can include the high-performance Virtex-5 and Virtex-6 fam- make FPGA design more like processor software devel- ilies, and the low-cost Spartan-3 and Spartan-6 families. opment, in terms of productivity and skills requirements. The company has been active in developing new FPGA For current FPGA designers, the key question is whether chips and tools, and in recent years has focused on creat- HLSTs deliver substantial improvements in productivity ing application-domain-specific variants of its chips and without compromising the performance and efficiency tools. In particular, Xilinx has developed a suite of “Tar- of the design. geted Design Platforms” that are intended to help users The idea of high-level synthesis is often met with accelerate development in specific application areas. For skepticism. This is largely due to the common belief that example, the video application used in this evaluation was software tools cannot produce results as good as those implemented on a Spartan-3A DSP FPGA using the produced by a skilled engineer. Unfortunately, there are XtremeDSP Video Starter Kit — Spartan-3A DSP Edi- plenty of examples of older high-level synthesis tools— tion, which is a Targeted Design Platform. not to mention older software compilers for proces- The shift to using FPGAs as processing engines is a sors—that support this viewpoint. relatively new phenomenon. When FPGAs first became However, there is a growing body of anecdotal evi- commercially available, they lacked sufficient capacity to dence suggesting that some modern high-level synthesis be used as processing engines. Instead, they were used tools are very effective, both in terms of usability and for “glue logic” to facilitate interfacing among other quality of results. (See [1] for an excellent tutorial on the chips. But as their capacity has grown and their architec- history and evolution of high-level synthesis tools.) tures have incorporated specialized features such as mul- Given this conflicting information, how is a prospective tipliers and distributed memories, FPGAs have user to judge whether high-level synthesis tools are worth increasingly found use as powerful parallel processing considering? engines. In 2007 BDTI published a ground-breaking BDTI created the BDTI High-Level Synthesis Tool report, FPGAs for DSP, that included benchmark results Certification Program to provide objective, credible data showing that FPGAs could achieve 100X higher perfor- and analysis to enable potential users of high-level syn- mance and 30X better cost-performance than DSP pro- thesis tools for FPGAs to quickly understand the capa- cessors in some highly parallelizable signal processing bilities and limitations of these tools. applications—a dramatic advantage. Nevertheless, the This white paper explains the evaluation methodol- widespread adoption of FPGAs as processing engines ogy developed for this program and provides an over- has been hampered by the challenges of using FPGAs. view of the results obtained from BDTI’s in-depth, Implementing an application in hand-coded RTL HDL hands-on evaluation of two high-level synthesis tools— (hardware description language) code is typically far AutoPilot from AutoESL, and the Synphony C Compiler more labor intensive and error prone than implementing from Synopsys—used with a Xilinx FPGA and with Xil- the application on a programmable processor, and inx’s RTL tools. In this paper, we present representative requires a very different skill set. results for Xilinx FPGAs used in conjunction with the High-level synthesis tools take as their input a high- two HLSTs evaluated thus far. Detailed results for these level representation of desired functionality and generate tools are available on BDTI’s website, www.BDTI.com. an RTL HDL description of a hardware implementation targeting an FPGA or ASIC. HLSTs can easily extract About BDTI parallel circuit implementations from loops that have a Berkeley Design Technology, Inc. (BDTI) is an inde- large number of operations with limited data dependen- pendent technology analysis, consulting, and engineering cies, and allow incorporation of concurrency into a services company headquartered in Oakland, California. design while still working with a familiar high-level lan- Founded in 1991, BDTI is widely known for its highly guage. Thus, high-level synthesis tools eliminate the step regarded, independent performance analysis of process- of manually creating the RTL implementation. They can ing platforms for embedded applications. BDTI’s six Page 2 © 2010 BDTI (www.BDTI.com). All rights reserved. suites of chip benchmarks have been licensed for use Xilinx RTL tool chain. The full implementation process with nearly 100 processing platforms, from MCUs to is shown in Figure 3. FPGAs. Unlike market research firms, BDTI is made up of Reference C code engineers with real-world design experience; the com- pany’s analysis projects often involve extensive hands-on work with chips, tools, and software. Engineers at BDTI Manual restructuring of Standard SW Tools have significant expertise in algorithm and software C code (e.g. MS Visual Studio) development for a range of processors, but are not expe- rienced in FPGA design. As such, they approached this project as FPGA novices, and are representative of other Implementation C code DSP processor users who may be considering a switch to FPGAs. Further information about the company along with a HLST variety of analysis results are available at www.BDTI.com. RTL ModelSim Design Using High-Level Synthesis Tools In this evaluation program, applications are imple- Tool mented on a Xilinx FPGA using the high-level synthesis Xilinx ISE/EDK tools via two main steps: First, starting with a high-level Design representation language description of the desired functionality, the Tool-generated data enables code tuning Bitstream, Netlist high-level synthesis tool is used to generate an RTL Modify code based on implementation. Then, Xilinx’s RTL tools (the Inte- reports generated by grated Synthesis Environment, or ISE, and the Embed- RTL tools ded Development Kit, or EDK) are used to transform FIGURE 3. Design flow using the AutoPilot or Synphony C that RTL implementation into a complete FPGA imple- Compiler high-level synthesis tools in conjunction with Xilinx RTL tools. (Figure based on a diagram provided by AutoESL.) mentation in the form of a bitstream for programming a specific FPGA on a specific hardware platform with I/O As illustrated in Figure 3, the first step in implement- and memory. (In our case, the platform is the Video ing an application on any hardware target is often to Starter Kit mentioned earlier.) The high-level synthesis restructure the initial C code. By “restructuring,” we tools also generate a wrapper for the RTL implementa- mean rewriting the initial C code (which is typically coded tion so that the result can be used as a core in the EDK for clarity and ease of conceptual understanding rather tools in combination with I/O and external memory.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us