我在为我的加法器创建测试台时遇到问题。当我启动测试台时,它会将初始开始时间分配为t1
和输入a
,b
当cout
为 1 时,它将将最终时间设置为t2
. 最后延迟是 和 的t2
减法t1
。
问题主要是语法错误。
到目前为止,这是我的代码:
parameter N = 16;
parameter A = 0;
reg[N-1:0] a, b;
wire[N-1:0] sum;
reg cin;
wire cout;
arith_unit #(.ADDER_TYPE(A), .WIDTH(N)) tb (.a(a),.b(b),.cin(cin),.sum(sum),.cout(cout));
initial begin
a = 0;
b = 0;
cin = 0;
#50;
$time(t1);
a = 16'b0010110110100010;
b = 16'b1011111101100111;
cin = 1'b0;
wait (if (cout == 1)) $time(t2); <-------sytax error here
int delay = t2 - t1; <-------sytax error here
$display ("%d", delay);
end
endmodule
感谢您的帮助。