边沿检测器

        所谓边沿检测器,检测的是输入信号的变化,输入信号从0跳变到1,或者从1跳变到0。在verilog中边沿检测器非常常用且重要,比如启动信号的检测、数据有效信号的检测、将边沿信号转成脉冲信号等等。对于此类的检测器,我们一般的方法是将in信号往后延迟一个周期得到in_reg,然后利用这两个信号之间的逻辑关系生成对应边沿显示信号。

上升沿检测器:如下图所示,在in信号拉高后的下一个时钟上升沿,边沿检测信号posedge被拉高,一个周期后拉低,如此反复。可以发现在posedge被拉高的时钟上升沿,in==1,in_reg==0,想要他们通过组合逻辑产生1,有in&~in_reg, in|in_reg, in^in_reg,但是后者这在in的下降沿也能够使posegde拉高,所以不合适。

module posedgedetect;
  input clk
  input [x:0]in;
  output [x:0]posedge;
  reg [x:0]in_reg;
  always@(posedge clk)
   begin
    in_rge <= in;
   end
  always@(posedge clk)
   begin
    posedge <= in&~in_reg;
   end
endmodule

下降沿触发器:与上升沿类似在in信号拉低后的一个时钟上升沿,检测信号ne

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值