【发布时间】:2013-12-16 17:23:16
【问题描述】:
令人讨厌的是,我知道如何在 C++ 中轻松做到这一点,但在 VHDL 中却不知道。我想快速轻松地将数据从受约束的 3D 数组传输到 2D 数组,例如:
2d_array[N][M]
3d_array[i][N][M]
2d_array=3d_array[i]
所以我的 VHDL 看起来像这样:
type buff_array is array(2 downto 0, 7 downto 0) of std_logic_vector(31 downto 0);
type ram_array is array(7 downto 0) of std_logic_vector(31 downto 0);
shared variable ram: ram_array;
shared variable buff: buff_array;
我想做这样的事情:
if we = '1' then
buff(pua, addr) := d;
ram:=buff(poa);
end if;
有什么想法吗?
我也知道我可以做一个快速的 for 循环,但我想尽量避免额外的逻辑
【问题讨论】:
-
不要使用共享变量——你正在为未来储存潜在的问题!最近有几个帖子在用,谁教的??
标签: arrays multidimensional-array vhdl ram