我很难用' 0'来启动2D数组。在VHDL。
我尝试使用关键词"其他"作为一维数组:
type F_type is array (0 to f_deep-1) of std_logic_vector(f_wLgth-1 downto 0);
signal FIFO : F_type := ((others => (others => '0')));
但是当我尝试在Quartus 17.1.0上编译时,我总是有同样的错误信息:
错误(276000):无法合成初始化的RAM逻辑" spi_DAC:s_dac | FIFO:fifo_c | FIFO"
感谢阅读。
最佳Aldarme
答案 0 :(得分:0)
这是一个答案。
QUARTUS尝试将2D阵列存储到RAM FPGA RAM块中。 但它是复杂的(超过“(其他=>(其他=>'0'))”)来启动数组的所有元素。
所以我们必须将2D数组定义如下:
发出信号myArray:F_type;
在t = 0时,all元素将为'U'。 我们必须使用有效数据启动数组的第一个案例。 在其他情况下,如果我们尝试读取'U',我们将传播元素'X'。
最佳