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# 65939

Why do we use x_complex rather than std::complex when targeting the linear algebra library?

Description

Why do we use x_complex rather than std::complex when targeting the linear algebra library?

Because the std::complex types can result in a smaller bitwidth, I would expect this to be the preferred option.

Solution

The linear algebra library was first written in the 2013.x timeframe. 

At this time, the VHLS tool had scheduling problems with the std::complex constructor. 

For that reason, x_complex was used instead. 

x_complex had also been optimized for hardware resource mapping.

While the std::complex now works well with VHLS (for example, in the DSP Library functions), the linear algebra library has not been updated to use it.

AR# 65939
Date Created 11/10/2015
Last Updated 11/11/2015
Status Active
Type General Article
Tools
  • Vivado Design Suite - 2015.3