Vhdl 近行为语法错误
我正试图用vhdl编写一个代码,将两个100x100矩阵相乘Vhdl 近行为语法错误,vhdl,matrix-multiplication,Vhdl,Matrix Multiplication,我正试图用vhdl编写一个代码,将两个100x100矩阵相乘 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.numeric_std.all; library work; use work.mult_100x100_pack.all; entity multiplier_main_code is Port ( in_matrix1 : in t_2d_array;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;
library work;
use work.mult_100x100_pack.all;
entity multiplier_main_code is
Port ( in_matrix1 : in t_2d_array;
in_matrix2 : in t_2d_array;
out_matrix : inout t_2d_array);
end multiplier_main_code;
architecture Behavioral of multiplier_main_code is
begin
process(in_matrix1, in_matrix2)
begin
for i in 0 to 99 loop
for j in 0 to 99 loop
for k in 0 to 99 loop
out_matrix(i)(j) <= std_logic_vector(signed(out_matrix(i)(j)) + (signed(in_matrix1(i)(k)) * signed(in_matrix2(k)(j))));
end loop;
end loop;
end loop;
end Behavioral;
请问,有人能帮我解决这个错误吗?在修复缩进后,应该很明显您缺少了什么:
process(in_matrix1, in_matrix2)
begin
for i in 0 to 99 loop
for j in 0 to 99 loop
for k in 0 to 99 loop
-- Do things
end loop;
end loop;
end loop;
-- Perhaps `end process;` might be appropriate here...
您的
流程
需要结束流程代码>:
end loop;
end process;
end Behavioral;
这说明了注意正确缩进代码的优势。如果你所有的结束符
s与对应的结束符
s对齐,这是显而易见的。这只是一个打字错误。。。谢谢你的帮助,它成功了。我想加速这个算法的实现。我读过很多研究论文和不同的技术,但我不知道如何实现它们……你能给我介绍一些可以帮助我的材料吗……那将是一个很大的帮助!!
end loop;
end process;
end Behavioral;