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...")
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...")
描述
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]."
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
解决方案
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.