|
发表于 2021-8-20 12:58:04
|
显示全部楼层
本帖最后由 轩辕志瑜 于 2021-8-20 13:07 编辑
把一个单元模块实例化256次,每个单元就是一比特。比如:
DReg_wEnable
d0 (.clk(clk), .reset(reset), .e(dec_out[0]), .D(data_in), .Q(d0_out)),
d1 (.clk(clk), .reset(reset), .e(dec_out[1]), .D(data_in), .Q(d1_out)),
d2 (.clk(clk), .reset(reset), .e(dec_out[2]), .D(data_in), .Q(d2_out)),
d3 (.clk(clk), .reset(reset), .e(dec_out[3]), .D(data_in), .Q(d3_out)),
d4 (.clk(clk), .reset(reset), .e(dec_out[4]), .D(data_in), .Q(d4_out)),
d5 (.clk(clk), .reset(reset), .e(dec_out[5]), .D(data_in), .Q(d5_out)),
d6 (.clk(clk), .reset(reset), .e(dec_out[6]), .D(data_in), .Q(d6_out)),
d7 (.clk(clk), .reset(reset), .e(dec_out[7]), .D(data_in), .Q(d7_out)),
d8 (.clk(clk), .reset(reset), .e(dec_out[8]), .D(data_in), .Q(d8_out)),
d9 (.clk(clk), .reset(reset), .e(dec_out[9]), .D(data_in), .Q(d9_out)),
d10 (.clk(clk), .reset(reset), .e(dec_out[10]), .D(data_in), .Q(d10_out)),
d11 (.clk(clk), .reset(reset), .e(dec_out[11]), .D(data_in), .Q(d11_out)),
d12 (.clk(clk), .reset(reset), .e(dec_out[12]), .D(data_in), .Q(d12_out)),
d13 (.clk(clk), .reset(reset), .e(dec_out[13]), .D(data_in), .Q(d13_out)),
d14 (.clk(clk), .reset(reset), .e(dec_out[14]), .D(data_in), .Q(d14_out)),
d15 (.clk(clk), .reset(reset), .e(dec_out[15]), .D(data_in), .Q(d15_out)),
d16 (.clk(clk), .reset(reset), .e(dec_out[16]), .D(data_in), .Q(d16_out)),
d17 (.clk(clk), .reset(reset), .e(dec_out[17]), .D(data_in), .Q(d17_out)),
d18 (.clk(clk), .reset(reset), .e(dec_out[18]), .D(data_in), .Q(d18_out)),
d19 (.clk(clk), .reset(reset), .e(dec_out[19]), .D(data_in), .Q(d19_out)),
d20 (.clk(clk), .reset(reset), .e(dec_out[20]), .D(data_in), .Q(d20_out)),
d21 (.clk(clk), .reset(reset), .e(dec_out[21]), .D(data_in), .Q(d21_out)),
d22 (.clk(clk), .reset(reset), .e(dec_out[22]), .D(data_in), .Q(d22_out)),
d23 (.clk(clk), .reset(reset), .e(dec_out[23]), .D(data_in), .Q(d23_out)),
d24 (.clk(clk), .reset(reset), .e(dec_out[24]), .D(data_in), .Q(d24_out)),
d25 (.clk(clk), .reset(reset), .e(dec_out[25]), .D(data_in), .Q(d25_out)),
d26 (.clk(clk), .reset(reset), .e(dec_out[26]), .D(data_in), .Q(d26_out)),
d27 (.clk(clk), .reset(reset), .e(dec_out[27]), .D(data_in), .Q(d27_out)),
d28 (.clk(clk), .reset(reset), .e(dec_out[28]), .D(data_in), .Q(d28_out)),
d29 (.clk(clk), .reset(reset), .e(dec_out[29]), .D(data_in), .Q(d29_out)),
d30 (.clk(clk), .reset(reset), .e(dec_out[30]), .D(data_in), .Q(d30_out)),
d31 (.clk(clk), .reset(reset), .e(dec_out[31]), .D(data_in), .Q(d31_out));
或者这样
parameter RAM_WIDTH = 32; // Specify RAM data width
parameter RAM_DEPTH = 512; // Specify RAM depth (number of entries)
reg signed [RAM_WIDTH-1:0] memory [0:RAM_DEPTH-1];
直接定义一个这么大的reg然后像操作矩阵一样操作就ok了。
这玩意本就是堆资源的,别想得那么复杂。
|
|