Verilog奇偶分频电路的总结

1、偶数分频

偶数倍分频相对简单,可以通过计数器对预分频的脉冲沿计数实现,如果要进行N倍(N为整数)偶数分频,可由预分频的时钟触发计数器计数,当计数器从0计数到N/2—1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数,以此循环下去。分频的主体程序如下:

module freq_div_even(input clk_in,
input reset,
output reg clk_out
);
  reg[2:0] count;
  parameter N=8;

always@(posedge clk_in) 
    begin
      if(!reset) 
        begin
  		    count<=0;
  		    clk_out<=0;
  	    end
      else
  	    if(count==(N/2-1)) 
          begin             
  			    clk_out<=~clk_out;
  			    count<=0;
  		    end
  	  	else 
          begin
  		      count<=count+1;
  		    end
      end
      endmodule

2、奇数分频

对于对占空比没有特殊要求的奇数分频,需要对上升沿和下降沿脉冲进行计数,利用下降沿产生的波形移相半个输入脉冲的作用,最后用错位“异或”法实现。一个13分频的程序如下:

module count_num( 
input clk,
input reset,
output cout//这里是wire
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值