问一个验证时信号检测的问题
时间:10-02
整理:3721RD
点击:
比如说,下面的这个这个单一线程在检测到A为高后,延迟4个时钟,设置B为1,但在这四个时钟内,如果信号A 有两次为高电平,则不能正确两次设置signal_b, 该如何解决?
task a;
while(1) begin
@(posedge clk);
if(signal_a == 1'b1) begin
repeat(4) @(posedge clk);
signal_b = 1'b1;
end
end
endtask :a
谢谢了
task a;
while(1) begin
@(posedge clk);
if(signal_a == 1'b1) begin
repeat(4) @(posedge clk);
signal_b = 1'b1;
end
end
endtask :a
谢谢了
用队列倒是可以解决,但个人不太喜欢,觉得不够巧妙
去掉repeat(4) @(posedge clk) , 然后signal_b打四拍