Vhdl 近行为语法错误

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;

我正试图用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;
               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;