FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5952 Discussions

FIR compiler II syntax error

Altera_Forum
Honored Contributor II
845 Views

I am using quartus 15.1 to generate a fir ii core. I chose the verilog option for the cores language. 

 

I am using candace tools to elaborate and simulate a design with the generated FIR II core.  

Here are the options I am using when I elaborate and simulate my design  

irun: 14.10-s021: (c) Copyright 1995-2015 Cadence Design Systems, Inc. 

TOOL: irun 14.10-s021: Started on Jun 23, 2016 at 16:49:19 EDT 

irun 

-cdslib cds.lib 

-hdlvar hdl.var 

-access +c 

-smartorder 

-status 

-v93 

-work worklib 

-input scripts/tb_tx_filters.tcl 

-top tb_tx_filters 

-vlogext .vo,.VO,.vp,.VP 

-vhdlext .vho,.VHO 

-nostdout 

-clean 

-l logs/irun.log 

-makelib shlslib 

 

 

During the elaboration phase I get the following error../../../../ip_cores/core_files/fir_interpolate8/fir_interpolate8_sim/auk_dspip_roundsat_hpfir.vhd: 

max_val <= (IN_WIDTH_g-REM_LSB_BIT_g-REM_MSB_BIT_g-1 => '0', others => '1'); 

ncvhdl_p: *E,AGNLSC (../../../../ip_cores/core_files/fir_interpolate8/fir_interpolate8_sim/auk_dspip_roundsat_hpfir.vhd,143|54): non-locally static or null range choice must be only choice [7.3.2.2]. 

max_val <= (IN_WIDTH_g-REM_LSB_BIT_g-REM_MSB_BIT_g-1 => '0', others => '1'); 

ncvhdl_p: *E,AGNLSC (../../../../ip_cores/core_files/fir_interpolate8/fir_interpolate8_sim/auk_dspip_roundsat_hpfir.vhd,143|70): non-locally static or null range choice must be only choice [7.3.2.2]. 

min_val <= (IN_WIDTH_g-REM_LSB_BIT_g-REM_MSB_BIT_g-1 => '1', others => '0'); 

ncvhdl_p: *E,AGNLSC (../../../../ip_cores/core_files/fir_interpolate8/fir_interpolate8_sim/auk_dspip_roundsat_hpfir.vhd,144|54): non-locally static or null range choice must be only choice [7.3.2.2]. 

min_val <= (IN_WIDTH_g-REM_LSB_BIT_g-REM_MSB_BIT_g-1 => '1', others => '0'); 

ncvhdl_p: *E,AGNLSC (../../../../ip_cores/core_files/fir_interpolate8/fir_interpolate8_sim/auk_dspip_roundsat_hpfir.vhd,144|70): non-locally static or null range choice must be only choice [7.3.2.2]. 

errors: 4, warnings: 0 

 

 

This is the section of the file auk_dspip_roundsat_hpfir.vhd causing the error.  

----------------------------------------------------------------------------- 

-- msb : trunc/saturation 

----------------------------------------------------------------------------- 

remove_msb: if REM_MSB_BIT_g > 0 generate 

signal min_val, max_val : std_logic_vector(IN_WIDTH_g-REM_LSB_BIT_g-REM_MSB_BIT_g-1 downto 0); 

begin 

trunc_msb: if REM_MSB_TYPE_g = "trunc" generate 

begin 

data_msb <= data_lsb(IN_WIDTH_g-REM_LSB_BIT_g-REM_MSB_BIT_g-1 downto 0); 

dataout <= data_msb; 

valid <= valid_lsb; 

end generate trunc_msb; 

 

 

sat_msb: if REM_MSB_TYPE_g = "sat" generate 

max_val <= (IN_WIDTH_g-REM_LSB_BIT_g-REM_MSB_BIT_g-1 => '0', others => '1'); 

min_val <= (IN_WIDTH_g-REM_LSB_BIT_g-REM_MSB_BIT_g-1 => '1', others => '0'); 

data_msb <= std_logic_vector(max_val) when signed(data_lsb) > signed(max_val) else 

std_logic_vector(min_val) when signed(data_lsb) < signed(min_val) else 

data_lsb(IN_WIDTH_g-REM_LSB_BIT_g-REM_MSB_BIT_g-1 downto 0); 

msb_p : process (clk, reset_n) 

begin 

if reset_n = '0' then 

dataout <= (others => '0'); 

valid <= '0'; 

elsif rising_edge(clk) then 

if valid_lsb = '1' then 

dataout <= data_msb; 

end if; 

valid <= valid_lsb; 

end if; 

end process msb_p; 

end generate sat_msb;  

end generate remove_msb; 

 

 

how can i resolve these errors so my design will elaborate the fir ii core?
0 Kudos
0 Replies
Reply