单脉冲的产生

IC设计中,很多时候我们需要产生单周期脉冲来作为启动信号。

脉冲产生很简单

1、 输入信号signal_in延迟1周期得到delay_reg1;

2、 输入信号signal_in延迟2周期得到delay_reg2;

3、 delay_reg1取反然后与 delay_reg2相与产生单周期脉冲pluse_out

 

NOTE:此种情况下,只要signal_in有脉冲就会产生单脉冲pluse_out

 

重点

assign  pluse_out= (!delay_reg1)&delay_reg2;

 

Verilog代码

module single_pluse ( clk,rst_n, signal_in, pluse_out);

     input    clk        ;

 input    rst_n      ;

     input    signal_in  ;

     output   pluse_out  ;

 

 reg delay_reg1;

 reg delay_reg2;

 

 always@(posedge clk or negedge rst_n)

   if(!rst_n)

     begin

 delay_reg1  <=  0;

 delay_reg2  <=  0;

 end

   else

     begin

     delay_reg1  <= signal_in  ;

 delay_reg2  <= delay_reg1 ;

 end

assign pluse_out= (!delay_reg1)&delay_reg2;

endmodule
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值