跟随者触发器的编码风格不佳

时间:2014-09-17 08:59:53

标签: verilog

以下是捕获数据的代码,捕获的数据通过跟随器触发器传递。 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

1 个答案:

答案 0 :(得分:0)

rst_n信号将用作d输出的输入数据(以及输入q1),并用作q2输出的时钟使能。为了理解差异,你需要考虑触发器输入时何时

    当输入为q1时,
  • rst_n & d将在每个时钟周期对其输入进行采样。
  • q2仅在rst_n = 1输入为q1时发生的时钟周期内对其输入进行采样。

意思是,当rst_n = 0时,第二个触发器将保持其值,而不管d和1q1`。