我試圖做一些vhdl代碼中的整數的一些數學運算,但是當我嘗試編譯工具說「0定義的運算符」+「匹配在這裏」。這是我想要做的:在vhdl整數算術運算
for i in 0 to arr_size - 1 loop
for j in 0 to arr_size - 1 loop
for k in 0 to arr_size - 1 loop
for l in 0 to arr_size - 1 loop
for m in 0 to arr_size - 1 loop
mega_array(i)(j)(k)(l)(m) <= i*(arr_size**4) + j*(arr_size**3) + k*(arr_size**2) + l*(arr_size**1) + m*(arr_size**0);
end loop;
end loop;
end loop;
end loop;
end loop;
在設置mega_array的行遇到問題。請注意,整個模塊正在處理中。
此外:
arr_size : integer := 4;
sig_size : integer := 32
type \1-line\ is array (arr_size - 1 downto 0) of unsigned (sig_size - 1 downto 0);
type square is array (arr_size - 1 downto 0) of \1-line\;
type cube is array (arr_size - 1 downto 0) of square;
type hypercube is array (arr_size - 1 downto 0) of cube;
type \5-cube\ is array (arr_size - 1 downto 0) of hypercube;
signal mega_array : \5-cube\;
問題可能出現在Library/Use子句或mega_array的聲明中;值得將它們添加到問題中。 「0定義匹配」通常意味着有2個或更多可見(不明確)定義,因爲您有太多重疊的「使用」子句。 – 2013-02-18 13:37:33