当前位置:   article > 正文

verilog实现可综合脉冲信号延时模块的三种方法-基础小知识(四)_脉冲延迟设计器总结

脉冲延迟设计器总结


脉冲信号间隔数个时钟周期后输出是常见的信号处理形式,这里总结了三种常见的同步时钟下脉冲信号延时的方法,仅供参考。~~~

1.1 背景

下面处理的都是单个周期宽度的脉冲信号,信号宽度与时钟周期相同。三种方法分别是延时打拍,寄存器移位,计数器延时

1.2 延时打拍

方法比较简单,适用于两拍,三拍传递数据,两拍跨时钟域同步,两拍信号上升沿、下降沿采样。

1.3 寄存器移位

较多次打拍从形式上较为繁琐,可以采用定义多为寄存器移位传输数据。

    input    pulse_in ;      //脉冲输入
    wire     pulse_out ;     //脉冲输出
reg  [9:0]   pulse_tmp ;     //存放脉冲在传输过程的临时数据  

     always @(posedge CLK or negedge rst_n)	begin	
	      if(!rst_n)
				pulse_tmp <= 10'd0;
         else if(pulse_in == 1'b1)//脉冲输入信号到来
             pulse_tmp <= {pulse_tmp[8:0],pulse_in};
		 else
             pulse_tmp <= {pulse_tmp[8:0],1'b0};       //每隔一个时钟周期,前移一位
		end
     assign pulse_out = pulse_tmp[9] ;        //间隔数个周期后,从高位输出   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
1.4 计数器延时

原理为采样到输入脉冲后把flag信号置1,开始计数,计数到需要的延时之后,输出一个脉冲信号,同时清除计数,清零flag信号。

module pulse_delay(
		input     CLK  ,	 
		input     rst_n,
		input     Delay_IN  ,	//输入脉冲
		output    Delay_OUT //延时后的输出脉冲
	      );
     reg [7:0] delay_plus;
	 reg Delay_plus;
	 reg plus_flag;
	 
	 assign Delay_OUT = Delay_plus;
	always @(posedge CLK or negedge rst_n) begin
	  if(!rst_n)
	  	    plus_flag<= 1'b0;	  
	  else if(Delay_IN == 1'b1)
		    plus_flag<= 1'b1;
	  else if(delay_plus[7:0]==16'h8)
	  	    plus_flag<= 1'b0;
	end	
	always @(posedge CLK or negedge rst_n)	begin	
	      if(!rst_n)
			begin
				delay_plus[7:0] <= 8'd0;
				Delay_plus<= 1'b0;
			end	  
			else if(delay_plus[7:0]==16'h8 && plus_flag == 1'b1)//延时时间
			begin
				delay_plus[7:0] <= 8'd0;
				Delay_plus<= 1'b1;
			end
			else if (plus_flag == 1'b1) begin
				Delay_plus<= 1'b0;
				delay_plus[7:0] <= delay_plus[7:0]+1'b1;
			end		
			else 	begin
				delay_plus[7:0] <= 8'd0;
				Delay_plus<= 1'b0;
			end	
		end       						  
endmodule
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

计数器延时参考波形在这里插入图片描述
计数器延时参考波形

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/411191
推荐阅读
相关标签
  

闽ICP备14008679号