令人煩惱的是,我知道如何在C++中輕鬆完成此操作,而不是在VHDL中。我想從一個約束的三維陣列中的數據快速,輕鬆地轉移到一個二維數組,如:如何以VHDL傳輸陣列數據?
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;
任何想法?
而且我知道我能爲循環做一個快速的,但我想嘗試和避免額外的邏輯
不要使用共享變量 - 您正在爲未來儲存潛在的問題!最近有幾個帖子使用它們,誰在教這個? –