BDTI High-Level Synthesis Tool Certification Program™
|
||
| HOME << FREE INFO << |
|
|
BDTI Certified™ Results for the AutoESL AutoPilot High-Level Synthesis ToolUsed in Conjunction with a Xilinx Spartan-3A DSP 3400 FPGA and the Xilinx ISE and EDK Tools
About AutoESL AutoPilotAutoESL’s AutoPilot is a high-level synthesis (“HLS”) tool that takes C, C++, or SystemC as its input and generates device-specific RTL for FPGAs or ASICs. BDTI used AutoPilot in conjunction with Xilinx’s ISE and EDK tool chain to implement two example applications (“workloads”) on a Xilinx Spartan-3A DSP 3400 FPGA. AutoPilot was used to go from C code to RTL, and Xilinx’s ISE and EDK tool chain was used to convert the resulting RTL to the final bitstream that was used to program the FPGA. About the BDTI High-Level Synthesis Tool Certification Program™For details of the methodology of the BDTI High-Level Synthesis Tool Certification Program, click here. Quality of Results MetricsThe tables below show the BDTI High-Level Synthesis Tools Certification Program quality of results metrics for the AutoESL AutoPilot HLS tool used in combination with the Xilinx RTL tools to target a Spartan-3A DSP 3400 FPGA. (Usability metrics are covered in the next section.) The workload implementations used to obtain the quality of results metrics were developed as follows:
Quality of Results Metrics for the BDTI Optical Flow WorkloadThere are two Operating Points associated with the BDTI Optical Flow Workload, each of which uses the same algorithm but is optimized for a different metric
BDTI High-Level Synthesis Tool Certification Program
Results
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Platform |
Chip Unit Cost (Quantity 10,000) |
Chip Resource
Utilization |
|
AutoESL AutoPilot plus Xilinx RTL tools targeting the Xilinx XC3SD3400A FPGA |
$26.65 |
39% |
|
Texas Instruments software development tools targeting the TMS320DM6437 DSP processor |
$21.25 |
N/A (a minimum of 12 DSPs would be required to meet this operating point) |
|
Platform |
Chip Unit Cost(Quantity 10,000) |
Maximum Frames per Second (FPS) |
Cost per FPS |
|
AutoESL AutoPilot plus Xilinx RTL tools targeting the Xilinx XC3SD3400A FPGA |
$26.65 |
183 fps |
$0.14 |
|
Texas Instruments software development tools targeting the TMS320DM6437 DSP processor |
$21.25 |
5.1 fps |
$4.20 |
The BDTI DQPSK Receiver is a fixed workload with a single Operating Point defined as processing an input stream of complex modulated data at 18.75 Msamples/second with the receiver chain clocked at 75 MHz. The corresponding DQPSK demodulated output bitstream is 4.6875 Mbits/second. The objective for this workload is to minimize the resource utilization required to achieve the specified throughput.
|
Platform |
Chip Resource Utilization |
|
AutoESL AutoPilot plus Xilinx RTL tools targeting the Xilinx XC3SD3400A FPGA |
5.6% |
|
Hand-written RTL code using Xilinx RTL tools targeting the Xilinx XC3SD3400A FPGA |
5.9% |
The following tables show usability metrics results for AutoPilot from the BDTI High-Level Synthesis Tool Certification Program. The usability metrics assess ease of use and productivity aspects of the AutoESL AutoPilot high-level synthesis tool used in combination with the Xilinx RTL tools, in comparison with the DSP processor software development tools. These are assessed in a qualitative manner, and for each aspect one of the following scores is assigned by BDTI:
For the DSP processor, since a single TI-provided tool chain is used, a single score is provided for each usability metric. In contrast, since AutoPilot was used with the Xilinx RTL tools, three scores are provided:
In its usability analysis, BDTI considers the overall design process for a complete project flow starting with a C language algorithm reference implementation and ending with a real-time implementation on a processing platform (either an FPGA or DSP processor). The scores provided are primarily based on BDTI’s experience in implementing the BDTI Optical Flow Workload on the DSP and FPGA platforms.
As part of BDTI’s evaluation of AutoPilot, a team of experienced DSP software engineers spent multiple engineer-months learning and using AutoPilot, designing an independent BDTI Optical Flow Workload implementation from the ground up, integrating the BDTI Optical Flow application into an FPGA (including connecting to external memory and video I/O), and testing the independent implementation. The BDTI engineers who worked with AutoPilot are experienced “hardware-aware” DSP software engineers (meaning that they understand hardware architecture concepts such as pipelining and latency), but they have limited knowledge of FPGA RTL design and no previous experience with HLS tools for FPGAs. In other words, the BDTI engineers who worked on the AutoPilot FPGA design had to learn to use AutoPilot by taking AutoESL provided training and reading the documentation.
BDTI engaged an experienced FPGA engineer to assist with the aspects of the AutoPilot based FPGA implementation involving the Xilinx FPGA tools and RTL design (e.g., using the RTL output generated by HLS tool and integrating it onto the FPGA). Because an FPGA engineer experienced in both RTL design and Xilinx tools completed this effort, BDTI did not assess learning to use the Xilinx tools as part of the usability metrics. However, the Xilinx tools installation was performed by a DSP software engineer, thus Out-of-the-Box Experience was assessed and given a score.
Similarly, because experienced DSP software engineers developed the DSP processor implementation, BDTI did not assess learning to use the DSP tool chain as part of the usability metrics.
Usability metrics related to the effort required to implement the application and modification of the reference code will vary by application (sometimes significantly). In particular, the BDTI Optical Flow Workload requires unusually extensive structural modifications for optimized performance on the DSP processor. The choice of application will have the most impact on the following metrics:
A description of the individual usability metrics follows.
BDTI considers factors such as: the number of changes, the extent to which the tools automate implementing these changes, the level of difficulty for the developer in incorporating the changes and the level of difficulty in debugging and testing the changes.
|
Platform |
Required Skill Set |
|
AutoESL AutoPilot high-level synthesis tool |
|
|
Xilinx RTL tools |
|
|
TI DSP tools |
|
The above table summarizes the skills required to effectively use the AutoPilot high-level synthesis tool and Xilinx RTL tools for FPGA implementations, and the DSP tools for DSP processor implementation.
|
|
Out-of-Box Experience |
Ease of use |
Completeness of Capabilities |
Quality of
Documentation |
|
Combined AutoESL AutoPilot plus Xilinx RTL tools rating¹ |
Fair |
Good |
Good |
Good |
|
Texas Instruments software development tools rating² |
Good |
Very Good |
Very Good |
Very Good |
¹AutoESL AutoPilot plus Xilinx RTL tools targeting a Xilinx XC3SD3400A FPGA
²Texas Instruments software development tools targeting a TMS320DM6437 DSP processor
The above table provides qualitative productivity metric scores for the AutoESL AutoPilot high-level synthesis tool. Note that AutoESL AutoPilot tools include an overall score (in bold) followed in parenthesis by:
Since the DSP processor implementation used a single tool chain throughout the entire flow, a single score is provided.
|
Productivity Metric |
Efficiency of Design Methodology |
Extent of Modifications Required to Reference Code |
|||
|
Learning to use the Tool |
Design & Implementation (First Compiling Version) |
Design & Implementation (Final Optimized Version) |
Platform Infrastructure Development |
||
|
Combined AutoESL AutoPilot plus Xilinx RTL tools rating¹ |
Very Good |
Very Good |
Good |
Good |
Good |
|
Texas Instruments software development tools rating³ |
NA |
Excellent |
Good |
Good |
Fair |
¹AutoESL AutoPilot plus Xilinx RTL tools targeting a Xilinx XC3SD3400A FPGA
²NA = Not Applicable
³Texas Instruments software development tools targeting a TMS320DM6437 DSP processor
The above table provides the qualitative productivity metric scores for the AutoESL AutoPilot high-level synthesis tool. Note that AutoESL AutoPilot tools include an overall score (in bold) followed in parenthesis by:
Since the DSP processor implementation used a single tool chain throughout the entire flow, a single score is provided.
The Certification Program uses the Xilinx XC3SD3400A (Spartan-3A DSP 3400) FPGA combined with Xilinx ISE and EDK tools version 10.1.3 and the Xilinx XtremeDSP Video Starter Kit. The AutoESL AutoPilot high-level synthesis tool version 10.ft.d_Linux was used in conjunction with the Xilinx ISE and EDK tools to target this FPGA platform.
Spartan-3A DSPs are based on Xilinx’s low-cost Spartan-3A family, but have a number of enhancements to accelerate digital signal processing. Spartan-3A DSP chips have double the block RAM (“BRAM”) memory of other Spartan devices and incorporate hard-wired DSP data paths, called “DSP48A slices.” Each DSP48A slice contains an 18×18 multiplier with pre-adders and an accumulator, among other features. The XC3SD3400A includes 126 DSP48A slices that can be clocked at up to 250 MHz, and roughly 54,000 logic cells.
The target DSP platform was a Texas Instruments DM6437 DSP processor combined with TI Code Composer Studio tools suite version 3.3.83.13, Code Generation Tool version 6.1.9 and the TI Digital Video Evaluation Module. The Texas Instruments DM6437 includes a 594 MHz TMS320C64x+ DSP core along with a video processing subsystem (i.e., video hardware accelerators). The hardware accelerators would not be of benefit in implementing the BDTI Optical Flow Workload, and thus were not used by BDTI.
|
|