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

5.1i CORE Generator - XilinxCoreLib compilation fails with errors when Cadence NC VHDL is used ("...non-locally static or null range choice must be only choice...")

Description


General Description:

When I compile XilinxCoreLib models from software versions 4.2i or 5.1i with Cadence NCVHDL, the following errors are reported:



"NCVHDL (cadence 3.11) VHDL compilation error

ncvhdl_p: *E,AGNLSC (/products/xirsqa/merged/E_IP2.5/vhdl/src/XilinxCoreLib/da_fir_v7_0.vhd,942|33): non-locally static or null range choice must be only choice [7.3.2.2]."



"ncvhdl -work XilinxCoreLib /products/xirsqa/merged/E_IP2.13/vhdl/src/XilinxCoreLib/dither_v4_1.vhd

signal lfsrA : std_logic_vector(lfsrALength-1 downto 0) := ('1', others=>'0'); "

|

"ncvhdl_p: *E,AGNLSC (/products/xirsqa/merged/E_IP2.13/vhdl/src/XilinxCoreLib/dither_v4_1.vhd,33|72): non-locally static or null range choice must be only choice [7.3.2.2].

signal lfsrB : std_logic_vector(lfsrBLength-1 downto 0) := ('1', others=>'0');"

|

"ncvhdl_p: *E,AGNLSC (/products/xirsqa/merged/E_IP2.13/vhdl/src/XilinxCoreLib/dither_v4_1.vhd,34|72): non-locally static or null range choice must be only choice [7.3.2.2].

signal lfsrC : std_logic_vector(lfsrCLength-1 downto 0) := ('1', others=>'0'); "

|

"ncvhdl_p: *E,AGNLSC (/products/xirsqa/merged/E_IP2.13/vhdl/src/XilinxCoreLib/dither_v4_1.vhd,35|72): non-locally static or null range choice must be only choice [7.3.2.2].

signal lfsrD : std_logic_vector(lfsrDLength-1 downto 0) := ('1', others=>'0');"



These errors occur on:



dither_v4_1.vhd

da_fir_v7_0.vhd

sin_cos_v4_1.vhd (May fail due to dither_v4_1.vhd not being compiled properly)

mac_fir_v1_0.vhd

c_eff_v4_1.vhd

c_dds_v4_1.vhd

cordic_v1_0.vhd

Solution


The errors above are not reported by the MTI compiler or by other liberal compilers.



If you are using Cadence NCVHDL, you can avoid these errors if the compilation is made using the "-RELAX" option.



For example:



ncvhdl -relax -work xilinxcorelib $XILINX/vhdl/src/XilinxCoreLib/*
AR# 14185
Date Created 08/29/2007
Last Updated 07/28/2010
Status Archive
Type General Article