zxopenluyutong 发表于 2020-12-27 18:29:52

边沿检测电路小结

所谓边沿检测(又叫沿提取),就是检测输入信号的上升沿和下降沿。在设计数字系统时,边沿检测是一种很重要的思想,实际编程时用的最多的时序电路应该就是边沿检测电路和分频电路了。

那么,边沿检测电路该如何实现呢?

我们知道,在always块的敏感信号列表中可以直接用posedge和negedge来提取上升沿和下降沿,但是如果要在always程序块的内部检测上升沿或者下降沿呢?还是用poesedge和negedge吗?显然是不可以的,因为这样的语句不可综合,我在QuartusII中尝试了,编译时提示 ”multiple event control statements not supported for synthesis !“,意思就是不可综合。实际上,posedge和negedge只能用在always块的敏感信号列表中或者testbench中,所以我们还是通过其他的办法来实现吧。

要实现边沿检测,最直接的想法是用两级寄存器,第二级寄存器锁存住某个时钟上升沿到来时的输入电平,第一级寄存器锁存住下一个时钟沿到来时的输入电平,如果这两个寄存器锁存住的电平信号不同,就说明检测到了边沿,具体是上升沿还是下降沿可以通过组合逻辑来实现。
页: [1]
查看完整版本: 边沿检测电路小结