由於VHDL-2008(我只關心編譯和仿真暫時),我正在編寫我自己的程序包來處理通用矩陣類對象。 我的目標是從一個矩陣M_in使得得到一個矩陣M_out:VHDL通過範圍到程序
M_out(i downto 0, j downto 0) <= M_in(k+i downto k, l+j downto l);
使用排序的子例程。因爲,讓我們說,語義方便和類比軟件編程語言我子程序原型最好應該是這個樣子:
type matrix is array(natural range <>, natural range <>) of std_logic;
...
procedure slice_matrix(signal m_out: out matrix;
constant rows: natural range<>;
constant cols: natural range<>;
signal m_in: in matrix);
編譯程序但認爲這是一個錯誤:
** Error: custom_types.vhd(9): near "<>": syntax error
** Error: custom_types.vhd(9): near "<>": syntax error
是否有可能以某種方式通過一個範圍作爲論點,還是我應該放棄並通過4個單獨的指數在當地進行計算?
看到我大學服務器上的編譯器不支持VHDL-2008,但我想我很快就不能訪問新功能,但很高興知道。然後傳遞整數。 – RookieHere