关于急寄存器输入端数据的建立时间保持时间的疑问
reg a;reg b;
input data;
always @(posedge clk or negedge rst_n) begin
if( !rst_n ) begin
a <= 1'b0;
b <= 1'b0;
end
else
a <= x;
b <= a;
end
end
比如上面这个简单的程序,对于寄存器a输入端的数据,我们可以使其建立时间和保持时间都满足。
但是对于寄存器b似乎保持时间几乎为0吧?因为因为时钟上升沿一到a寄存器的输出就变了。
不知道我这个问题算不算问题,还请高手赐教! 我觉得这个是非阻塞式赋值啊,在X给a的同时,a之前的数值也会给b。a当然会是0.如果是阻塞式赋值就又是一码事了。
不是高手,发表一点看法
页:
[1]