UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 46037

AutoESL- ATAN LUT Function Example

Description

These C++ files generate an arctangent (ATAN) look-up table function that is used in the AutoESL tool. The design uses the ap_fixed<> data types for input and output. The bit widths and binary points are parameters defined in a header file.

Design Languages (HDL/SW):
C++ source, AutoESL project.

Solution

Design Reference:

The file "atan_lut_gen.cpp" (compiled with g++) generates a file of ATAN look-up values. The file it creates, "atan_ROM.h" is used in the design function, "atan_lut.cpp," to implement the ATAN LUT function. The testbench file, "atan_lut_tb.cpp," compares the ATAN LUT function with a floating-pt ATAN function. All bit width and binary point parameters are set in "atan_lut.h."

A AP_RESOURCE directive was placed on the atan_ROM array in "atan_lut.cpp" in AutoESL tool to cause it to implement the LUT in BRAM. The AP_SOURCE was set to "core = ROM_coregen."

Attachments

Associated Attachments

Name File Size File Type
atan_lut.zip 3 MB ZIP

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
47431 Xilinx Vivado HLS Solution Center - Design Assistant N/A N/A
AR# 46037
Date Created 06/04/2012
Last Updated 03/02/2013
Status Active
Type General Article
Devices
  • Kintex-7
Tools
  • AutoESL - 2011.3
  • AutoESL - 2011.4
  • AutoESL - 2011.4.2
  • AutoESL - 2012.1