使用0启动2D数组的VHDL问题

时间:2018-03-20 12:01:58

标签: vhd

我很难用' 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

1 个答案:

答案 0 :(得分:0)

这是一个答案。

QUARTUS尝试将2D阵列存储到RAM FPGA RAM块中。 但它是复杂的(超过“(其他=>(其他=>'0'))”)来启动数组的所有元素。

所以我们必须将2D数组定义如下:

发出信号myArray:F_type;

在t = 0时,all元素将为'U'。 我们必须使用有效数据启动数组的第一个案例。 在其他情况下,如果我们尝试读取'U',我们将传播元素'X'。

最佳