以下是捕获数据的代码,捕获的数据通过跟随器触发器传递。 Paper on Synchronous and Asynchronous Resets的作者说rst_n
将用作第二个触发器的数据使能,因为两个触发器都是从相同的程序块推断出来的。任何人都可以解释模拟器如何将其解释为只有第二个触发器的Load-data
信号?
module badFFstyle (
output reg q2,
input d, clk, rst_n
);
reg q1;
always @(posedge clk)
if (!rst_n) q1 <= 1'b0;
else begin
q1 <= d;
q2 <= q1;
end
endmodule
答案 0 :(得分:0)
rst_n
信号将用作d
输出的输入数据(以及输入q1
),并用作q2
输出的时钟使能。为了理解差异,你需要考虑触发器输入时何时:
q1
时,rst_n & d
将在每个时钟周期对其输入进行采样。q2
仅在rst_n = 1
输入为q1
时发生的时钟周期内对其输入进行采样。意思是,当rst_n = 0
时,第二个触发器将保持其值,而不管d
和1q1`。