【发布时间】:2021-01-27 04:43:27
【问题描述】:
我正在尝试编写一些 verilog 代码来创建一个包含 32 个 32 位寄存器的寄存器文件。
下面是我的代码:
module regfile (clk, we, ra1, ra2, wa, wd, rd1, rd2);
input logic we,
input logic clk,
input logic [4:0] ra1, ra2, wa,
input logic [31:0] wd,
output logic [31:0] rd1, rd2;
logic [31:0] rf[31:0];
always @ (posedge clock)
begin
rd1 = rf[ra1];
rd2 = rf[ra2];
end
always_comb
begin
if(we == 1)
rf[wa] = wd;
rf[0] = 0;
end
endmodule
我根据一些教程文件对上面的代码进行了建模,所以我很困惑为什么Modelsim会给出编译错误。
语法有什么明显的错误吗?
在CMD中运行命令时:vsim -do regfile.do
我怎样才能让它输出详细的警告,这样我才能真正看到导致问题的原因?
【问题讨论】: