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

Vivado Synthesis - A crash occurs due to a Syntax Error in a System Verilog code

Description

Initialization of multi-dimensional array causes Vivado Synthesis to crash when the array initialization statement has an extra comma at the end of element list.

Following is the code snippet:

localparam signed [P_COEFW-1:0] C_COEFS[0:P_FIRS-1][C_TAPS-1:0] = '{
'{`_COEF( 0.0), `_COEF(0.0), `_COEF( 1.0), `_COEF(0.0) },
'{`_COEF(-1.0/6),`_COEF(1.0), `_COEF(-1.0/2), `_COEF(-1.0/3) },
'{`_COEF(0.0), `_COEF(1.0/2), `_COEF(-1.0), `_COEF(1.0/2) },
'{`_COEF(1.0/6), `_COEF(-1.0/2),`_COEF(1.0/2), `_COEF(-1.0/6) }, <--- this comma is a syntax error.
};

This is in fact a syntax error, but Vivado Synthesis fails to report it and crashes.

The crash can also be noticed during open elaborated design.

Other tools (e.g., ModelSim) will report this as a syntax error.

Solution

This issue has been fixed in the Vivado synthesis 2013.4 build release.

To work around the crash for releases prior to 2013.4, remove the extra comma from the HDL code.

AR# 57972
Date Created 10/15/2013
Last Updated 12/10/2013
Status Active
Type Known Issues
Devices
  • Kintex-7
  • Artix-7
  • Virtex-7
Tools
  • Vivado Design Suite