首页 > 编程知识 正文

d触发器是什么触发方式(如何理解D触发器)

时间:2023-05-05 07:42:26 阅读:122013 作者:602

虽然d触发器在FPGA中经常使用,但不太清楚d触发器为什么可以相对于数据延迟一个时钟周期。 从信号处理的角度谈谈我的理解吧。 如果发现理解错误,请在评论中指出。

d触发器如下所示

` time scale1ns/1 psmoduled _ flip _ flop (input clk,input rst_n,input d,output reg q ); always @ (posedgeclkornegedgerst _ n ) begin if (! rst_n ) begin q=1'b0; end else begin q=d; end endendmodule的时序图如下。

解读如下。

d触发器在时钟CLK的上升沿进行采样,数据d必须稳定在建立保持时间Tsu和Th内。 否则,就会进入亚稳定状态。 我们在这个时间“窗口”内采样的数据是在d触发器上采样的数据,经过Tco (其中Tco Th )的时间后,d触发器输出上述采样的数据d,该数据为1

为什么会有延迟(拍打)一个时钟周期的效果呢? 这是因为,如果两个d触发器分别对d和d’这两个数据进行采样,则这两个触发器的输出结果将匹配。 也就是说,都是上图中的q。 比较d’和q,q比d’延迟1个时钟,所以可以说比信号d延迟1个时钟。

d触发器无法识别在时钟上升沿时数据d随意变化的部分,因此从d触发器来看,d和d’看起来是一模一样的信号。

最后,可以得出以下结论。

1 .数据d必须在建立保持时间的窗口内稳定,并且d触发器采样的是其稳定的数据。

2.D触发器采样后,经过Tco时间后可以输出到q

3 .经过保持时间后,数据发生变化时,d触发器无法感知

4.Tco Th且Th较小,由fpga设备模型基于前三个来确定。 在模拟时,d触发器对CLK的上升沿的左侧的信号进行采样,认为维持1个时钟周期t的时间。 这是因为,对上一个(上一个t )数据d的值进行采样并维持t,所以从长期来看,d触发器相对于数据d延迟一个周期。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。