@边沿检测电路设计
边沿检测电路有什么用?
边沿检测电路可以监测信号的变化。
想要设计边沿检测电路,首先要了边沿和检测。
由于信号的变化就会产生边沿,例如信号0->1(上升沿),1->0(下降沿)。
检测是指当被检测信号发生变化时,可以通过边沿检测电路产生单bit脉冲信号。
边沿检测电路工作原理:
边沿检测电路通过信号的当前状态和该信号上一个时钟周期的状态进行对比,以实现检测信号的变化。
如何实现信号当前状态和上一个时钟周期状态同时存在于电路中呢?
这就需要寄存器,将数据暂时保持一个时钟周期。
如果被检测信号上一个状态是0,信号当前状态是1,那么说明信号发生变化,产生了一个上升沿,同时正好触发上升沿检测电路产生单bit脉冲,这样就成功检测到了信号的变化(上升沿)。
下降沿检测电路同理。
双边沿检测电路由上升沿检测电路和下降沿检测电路组合而成。
参考代码如下:
always @(posedge clk or negedge rst_n) begin
if(!rst_n)
din_dly <= 1'b0;
else
din_dly <= din;
end
assign rise = din & !din_dly; //上升沿检测
assign fall = !din & din_dly; //下降沿检测
assign double = din ^ din_dly; //双边沿检测