VIVADO vhdl verilog 实现矩阵运算

FPGA开发过程中可能用到矩阵算法运算,这里介绍一个相对比较简单的方式
比如一个32*32的矩阵结构为:
VIVADO vhdl verilog 实现矩阵运算
我们可以用两个RAM和一个运算单元及一个输出缓存RAM进行缓存结果:
具体的框架为下入所示:
VIVADO vhdl verilog 实现矩阵运算

存放的顺序为:
VIVADO vhdl verilog 实现矩阵运算
程序主要就是地址的控制了,我们可以用3个简单的计数器,通过控制好取数的坐标即可:
VIVADO vhdl verilog 实现矩阵运算
注意高低位的顺序,

验证:对于这种大位宽的数据运算的设计,最好借用matlab产生测试数据,然后对比计算结果:
VIVADO vhdl verilog 实现矩阵运算

最终我们可以把结果同样写会到txt文本中:
VIVADO vhdl verilog 实现矩阵运算
直接查看结果即可

完!