Professional Documents
Culture Documents
By the staff of
Berkeley Design Technology, Inc.
O VERVIEW
Interest in high-level synthesis tools for FPGAs is intensifying as FPGAs and their applications grow larger
and more complex. Prospective users want to understand how well high-level synthesis tools work, both
in terms of usability and quality of results. To meet this need, BDTI launched the BDTI High-Level
Synthesis Tool Certification Program™. This program evaluates high-level synthesis tools used to
implement demanding digital signal processing applications on FPGAs.
This white paper presents detailed results of BDTI’s analysis of the AutoESL AutoPilot high-level synthesis
tool used in conjunction with Xilinx RTL tools to target a Xilinx Spartan-3A DSP 3400 FPGA. We discuss
the ease of use, productivity, and quality of results obtained using AutoPilot compared to implementing the
same application on a DSP processor. We also compare AutoPilot quality of results vs. traditional RTL
FPGA design.
Our findings will be surprising to many—and may indicate a major shift on the horizon for FPGA and DSP
processor users.
Chip Resource flow compared with the DSP processor tool chain.
Platform Utilization For each usability metric described below, BDTI
(Lower is Better) assigns a score of Excellent, Very Good, Good, Fair,
AutoESL AutoPilot plus or Poor. For the AutoESL-Xilinx flow, the first score
Xilinx RTL tools listed is the score for the complete flow. Beneath
5.6%
targeting the Xilinx those scores, in parenthesis, separate scores are pro-
XC3SD3400A FPGA vided for AutoPilot and for the Xilinx RTL tool
Hand-written RTL code chain.
using Xilinx RTL tools In assigning these scores, BDTI considers the over-
5.9% all design process for a complete project—starting
targeting the Xilinx
XC3SD3400A FPGA with a C language application specification and end-
ing with a real-time implementation on the target
In this case, the hand-written RTL implementa- processing platform (either an FPGA or DSP proces-
tion was created by an experienced FPGA designer, sor). Detailed descriptions of each usability metric
and made use of Xilinx Coregen IP blocks where are provided in Appendix B.
applicable. As shown in Table 3, AutoPilot was able In general, AutoPilot was quite straightforward to
to achieve a level of efficiency comparable to that of install and use. In contrast, the Xilinx RTL tools were
hand-coded RTL on this workload. Achieving this difficult to install and complicated to use, particularly
result required modifications to the C language for a novice FPGA user. The net result is that, as
description of the workload; however, the extent of shown in Table 4 and Table 5, the AutoPilot plus Xil-
these modifications was modest. inx tool chain has productivity ratings similar to
The similarity of AutoPilot and hand-written those of the DSP processor flow.
RTL results is probably not accidental; AutoESL was Although we did not directly compare the ease of
provided with the resource utilization for the hand- use of AutoPilot vs. hand-written RTL code, the
coded RTL result at the outset of the implementation AutoPilot customers we interviewed estimated that
process, and likely used this as a target in optimizing using AutoPilot cut their design times by roughly
its implementation. It is important to note, however, 50% compared with using hand-written RTL code. In
that such information is not required for effective use addition some saw a more significant reduction in
of AutoPilot, and that AutoESL was not provided time required for verification. For example, some cus-
with the hand-coded design. The results shown in tomers said that because much of their simulation
Table 3 are consistent with results reported by Auto- could be done at the C level rather than at the RTL
Pilot customers interviewed by BDTI. These users level, it was much faster and easier. And some said
generally reported that the tool produced results that that they expected to be able to reduce total design
were similar in efficiency to hand-coded RTL. Fur- time even further.
thermore, they said that using a high-level synthesis The quality of documentation is a weak spot for
tool enabled them to easily explore alternative archi- AutoPilot; there is very little of it. This is likely
tectures, which often led to more efficient implemen- attributable to the newness of the tool.
tations.
Historically, poor quality of results has been one
of the biggest pitfalls of high-level synthesis tools.
Quality of
Out-of-Box Completeness of
Ease of Use Documentation
Experience Capabilities
and Support
Combined AutoESL
AutoPilot plus Xilinx Fair Good Good Good
RTL tools rating1
(AutoESL AutoPilot rating (Very Good/Poor) (Very Good/Fair) (Good/Good) (Fair/Very Good)
/ Xilinx rating)
Texas Instruments soft-
ware development tools Good Very Good Very Good Very Good
rating2
1.AutoESL AutoPilot plus Xilinx RTL tools targeting a Xilinx XC3SD3400A FPGA
2.Texas Instruments software development tools targeting a TMS320DM6437 DSP processor
CERTIFIED TM
Combined
AutoESL Auto-
Pilot plus Xil-
Very Good Very Good Good Good Good
inx RTL tools
rating1
(Very Good/NA2) (Very Good/NA) (Good/Good) (Good/Good) (Good/NA)
(AutoESL Auto-
Pilot rating / Xil-
inx rating)
Texas Instru-
ments software NA (assuming
Excellent Good Good Fair
development already familiar)
tools rating3
1.AutoESL AutoPilot plus Xilinx RTL tools targeting a Xilinx XC3SD3400A FPGA
2.“NA” = not applicable
3.Texas Instruments software development tools targeting a TMS320DM6437 DSP processor
Pxx Txx
Gx Gx'
Image
Sequence 4. Vx
Pyy Tyy
1. 2. 3. Tensor 5.
Y Gradient Gradient Outer Calculation Velocity
Gy Gy' Pxy Txy
Calculation Weighting Product And Calculation
Normalization
Pxz Txz Vy
Gz Gz'
Pyz Tyz
fo u n d _ w o rd s
1. 2. 3. 4. 5. 6.
M a tc h e d C a r rie r T im in g DQ PSK V ite rb i D e fr a m e r
F ilte r R ecovery R ecov ery D em od D ecode r d e fra m e d _ d a ta
Q
c o e ff_ in d s o f t_ v a lu e c o r r_ th re s h o ld fr a m e _ s ize
C o n tro l R e g is te rs
FIGURE 3. Block Diagram of the BDTI DQPSK Receiver Workload