我已经编写了我的Verilog项目并且它正确地进行了系统化,但由于设计太大而无法适应FPGA,因此它不会生成编程文件。我有几个地方可以进行矩阵乘法运算。我写了一个模块来做矩阵乘法。在矩阵乘法中我生成了'rowBycol'它乘以矩阵的行和列。为了乘以N * N矩阵,我生成N' rowBycol'模块。我想要做的就是生成一个' rowBycol'并重复使用N次。你能给出一个如何做到这一点的简单例子。
我在' rowBycol'中使用了32位乘法器。模块。矩阵乘数使用参数来指定矩阵的大小。
接头:
module matrixMult(CLK, y, A, B);
input CLK;
input [width*rowA*colA-1 : 0] A; // wordlength
input [width*rowB*colB-1 : 0] B; // size of vector
output [width*rowA*colB-1 : 0] y;
....
module rowBycol(CLK, y, a, b);
parameter width = 32; // wordlength
parameter size = 2; // size of vector
input CLK;
input [width*size-1:0] a, b; // Arow Bcol
output [width-1:0] y; //sum([A1*B1, A2*B2,...A32*B32])
...