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

2013.x/2014.x UNIMACRO - ADDSUB_MACRO behaves incorrectly in simulation when LATENCY is < 2

Description

In my design, I instantiate an ADDSUB_MACRO, and set the generic as follows:
 
AREG == BREG == 0, 
ALUMODEREG == 1
When LATENCY is set to less than 2, the first output will use the last ALUMODE setting.

For example:
 
After ADD_SUB is changed to '0', the first output "43" remains the sum of the inputs.
 
 
However, when LATENCY is set to 2, the result is correctly toggled between ADD and SUB operations.




 

Solution

This is a known issue with the UNIMACRO library. 

It will be fixed in Vivado 2015.1.

As a work-around, you can instantiate the primitive DSP48E1.

AR# 62469
Date Created 10/13/2014
Last Updated 04/07/2015
Status Active
Type General Article
Tools
  • Vivado Design Suite