从多级延迟触发器到边沿检测
本文记录一下关于延迟触发器链与它的常用用法(即边沿检测。多级延迟的触发器应该是比较常用的,当我们需要对信号信号进行延时,这个时候我们就用到了延迟触发器链。下面就来记录一下吧。
一、多级延迟触发器(或延迟触发器链)
(1)多级延迟触发器电路
多级延迟触发器,顾明思议就是多个触发器串在一起,对信号进行打拍,一个触发器就延时了一拍,也就是延迟了一个时钟周期。
多级触发器的代码如下所示:
module DFF_N #(parameter N=3)(
input clk,
input reset,
input [N-1:0] D,
output reg [N-1:0] Q
);
reg [N-1:0]d0;
reg [N-1:0]d1;
always@(posedge clk or negedge reset)
if(!reset)begin
d0 <= 0; //异步清 0,低电平有效
d1 <= 0; //异步清 0,低电平有效
Q <= 0; //异步清 0,低电平有效
end
else begin
d0 <= D;
d1 <= d0;
Q <= d1;
end
endmodule
d0 是 D 的延迟一级采样或者称为 D 的延迟一拍信号,同样 d1 是 D 的延迟两拍信号,而 Q 则是 延迟三拍信号。一方面可以通过修改N来改变对多少位的信号的进行延时&