佔空比爲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

 
 

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