0
我正在此错误在的ModelSim 10.1c:Modelsim的超出范围的错误
致命:(VSIM-3421)值3079超出范围0到3078
在过程wr_addr致命错误在C:/ videoalgo/run_chkin/VEU /中位数/中位数/板/ SIM /../../../ window_gen/RTL/fifo.vhd线159
我有以下类型和信号定义。正如你看到的,声明的指数范围只有1029下降到0:
type memory_type is array (natural range <>) of std_logic_vector(29 downto 0);
signal MEMORY : memory_type(1029 downto 0):= (others => (others => '0'));
signal wr_port_address :std_logic_vector(10 downto 0) := (others => '0');
signal wr_port_address_binary : std_logic_vector(10 downto 0):=(others => '0');
而且在那里我遇到了错误的过程是:
if rising_edge(Wr_Clk) then
if A_rst = '1' then
wr_port_address_binary <= (others => '0');
else
if (Wr_Ena = '1') and (fifo_full = '0') then
wr_port_address_binary <= wr_port_address_binary + 1;
-- the following is line 159
MEMORY(to_integer(unsigned(wr_port_address))) <= Wr_Data;
end if;
end if;
end if;
我已格式化并改进了很多问题。如果我犯了错误,请检查。 –
请发布[最小,完整和验证示例](http://stackoverflow.com/help/mcve):尽可能减少代码,以便错误仍然存在。并且请发布触发错误所需的最小测试台。 –
您好Martin,格式是好的..它是项目的一部分,所以很难发布与此错误相关的测试平台。如果你可以在哪里寻找解决这个问题,这将是有帮助的.. – kaps