我设计并测试了我的 VHDL 代码。我使用 ISIM(xilinx 模拟器)来测试代码。ISIM 有问题,所以我切换到 modelsim SE 10c。当我通过 xilinx ise 运行 modelsim 时,modelsim 出现以下错误
致命:(vsim-3421) 值 -14 超出范围 -7 到 7。
我相关的 VHDL 代码是
图书馆 IEEE;
使用 IEEE.STD_LOGIC_1164.ALL;
使用 IEEE.NUMERIC_STD.ALL;
图书馆UNISIM;
使用 UNISIM.VComponents.all;
信号 img_int :整数范围 -7 到 7 ;
信号 add1 :整数范围 -7 到 7 ;
信号 add2 :整数范围 -7 到 7 ;
进程(时钟)
开始
if rising_edge(clk) then
add1 <= to_integer( signed(e(0)) ) + to_integer( signed(e(1)) ) +
to_integer( signed(e(2)) ) + to_integer( signed(e(3)) );
add2 <= to_integer( signed(e(4)) ) + to_integer( signed(e(5)) ) +
to_integer( signed(e(6)) ) + to_integer( signed(e(7)) );
end if;
结束进程;
img_int <= add1 + add2;
问题线是
img_int <= add1 + add2;
任何人都可以告诉为什么modelsim会给出这个错误?