单脉冲的产生

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
单脉冲的产生_第1张图片

你可能感兴趣的:(IC设计)