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

MIG Virtex-6 -Why is CLKOUT2_PHASE calculated as 0 by XST but as 22.5 by Modelsim?

Description

When a MIG Virtex-6 core is generated and the example design simulation is run, the attribute CLKOUT2_PHASE can in some core configurations be calculated as 22.5 but in the post synthesis netlist be calculated as 0.

This can lead to simulation mismatch.

Solution

The calculation of the CLKOUT2_PHASE is based on the PS_DEGREES variable which is given in the file <MIG CORE>\example_design\rtl\ip_top\infrastructure.v as:

PERFCLK_DIFF    : integer := 0;
constant RESOLUTION       : real := real(45)/real(CLKOUT2_DIVIDE);
constant IDEAL_PS_DEGREES : real := real(360 * PERFCLK_DIFF)/real(CLKOUT2_PERIOD);
constant FACTOR_ROUNDED : integer       := integer((IDEAL_PS_DEGREES + (RESOLUTION/2.0)) / RESOLUTION);
constant PS_DEGREES       : real := real(FACTOR_ROUNDED) * real (RESOLUTION);

The issue is with the rounding of one of the variables by the XST compiler.

To work around this problem, you can manually set the PS_DEGREES=22.5 in the infrastructure.v file.

Revision History:
09/10/2014 - Initial Release

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
33706 MIG v3.3 - Release Notes and Known Issues for ISE Design Suite 11.4 N/A N/A
AR# 35054
Date Created 04/02/2010
Last Updated 09/11/2014
Status Active
Type Known Issues
Devices
  • Virtex-6 LXT
Tools
  • ISE Design Suite - 11.5
IP
  • MIG