我想知道这段代码是否完美。我想了解这两个忽略状态如何在Always块中工作。
#5 clk = ~clk;
always
begin
@(negedge clk) din = 1;
@(negedge clk) din = 0;
end ```
答案 0 :(得分:0)
模拟将执行以下操作:
因此,din的值将在clk的相邻点之间交替出现。
答案 1 :(得分:0)
@(expression)
是一种等待表情状态更改的构造。 posedge
限定从0到其他值的更改。
变化是一个事件,就像触发器或时间量一样。当更改发生时,您的代码必须等待表达式更改。因此,第二个@(posedge clk)
等待
考虑此代码
always @(postage clk)
begin
#11 din = in;
end
此块总是在其他每一个posege上执行,因为posege事件在过程等待#11时间单位通过时发生。