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


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.


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 12/10/2013
Status Active
Type Known Issues
  • Kintex-7
  • Artix-7
  • Virtex-7
  • Vivado Design Suite