以下是我编写的代码,是模拟解码器(Verilog HDL)的测试台。它转换[15:0]IR
为[25:0]ControlWord
. 字面量也是一种被关注的副产品。
0-65535 的所有值都需要针对 16 位IR
变量进行测试。在循环开始时,我明确指定IR
为 0,但 Quartus 告诉我:
警告 (10855):controluni_tb.v(20) 处的 Verilog HDL 警告:变量 IR 的初始值应为常数
结果我得到以下信息:
错误 (10119):controluni_tb.v(23) 处的 Verilog HDL 循环语句错误:具有非常量循环条件的循环必须在 250 次迭代内终止
我的测试台模块的代码如下:
module controluni_tb;
reg [15:0]IR;
reg clock;
wire [25:0]ControlWord;
wire [15:0] literal;
Total_Control_Unit_2 dut (IR,ControlWord,literal);
initial
begin
clock <= 1'b0;
end
initial
begin
IR <= 16'b0;
end
initial
begin
forever
begin
#1 IR <= IR + 16'b1;
end
end
initial
#65535 $finish;
endmodule