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


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.


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."


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
  • Kintex-7
  • AutoESL - 2011.3
  • AutoESL - 2011.4
  • AutoESL - 2011.4.2
  • AutoESL - 2012.1