占空比为50%的奇数分频器的设计

                 占空比为50%的奇数分频器设计思路

              1.  首先进行上升沿触发的N模计数,计数器从零开始,到 (N-1)/2 处时钟翻转,然后经过 (N+1)/2再次翻转

                   得到一个占空比非50%的输出时钟out1.

              2. 同时进行下降沿触发的N模计数,计数方法同上升沿相同,然后得到一个占空比非50%的输出时钟out2

              3.把以上两步得到的输出时钟out1和out2相“与”得到的输出out即占空比为50%的N分频(N为奇数)。

 

             下面是占空比为50%的N分频代码,修改参数N的值就可以实现任意奇数分频:

 

module div_odd(clk,out
    );
input clk;
output out;
reg [m:0] a=0,b=0;  //m为满足 2^(m+1)>N 的任意整数
reg out1,out2;

always@(posedge clk)
begin
 if(a<(N-1)/2)
   begin
  a<=a+1;
  out1<=0;
 end
 else if(a==N-1)
  
  a<=0;
 else
  begin
    a<=a+1;
  out1<=1;
 end
end
always@(negedge clk)
begin
 if(b<(N-1)/2)
   begin
  b<=b+1;
  out2<=0;
 end
 else if(b==N-1)
  
  b<=0;
 else
  begin
    b<=b+1;
  out2<=1;
 end
end
assign out=out1&&out2;
endmodule

 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章