占空比為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;
endelse if(a==n-1)
a<=0;
else
begin
a<=a+1;
out1<=1;
endend
always@(negedge clk)
begin
if(b<(n-1)/2)
begin
b<=b+1;
out2<=0;
endelse if(b==n-1)
b<=0;
else
begin
b<=b+1;
out2<=1;
endend
assign out=out1&&out2;
endmodule
關於Verilog奇數分頻且占空比為50 的討論
現在進入正題,已3 5 7分頻為例,實則為同一原理。占空比為50 的3分頻 如果將每乙個clk拆分為高 低兩部份的話,記為a,那麼3個clk就有6個a。顯然,占空比為50 需要3個a。將3作為分母,n分頻就把n作為分母 那麼現在我們還需要知道分子是多少,為什麼要提出這種分子與分母的結構呢,稍後你就會...
verilog奇數分頻器的問題講解(7分頻為例)
先不多嗶嗶,直接上 veriloghdl 的後面講原理 module fenpin3 clk,clk7,rst input clk,rst 設定rst的目的是當rst 1的時候給cnt0和cnt1賦初值 output clk7 reg 2 0 cnt0,cnt1 定義兩個加法器分別生成兩個7分頻的訊...
8位數控分頻器的設計 數控分頻器的VHDL設計
要求 在 quartus 上進行編輯 編譯 綜合 適配 給 出其所有訊號的時序 波形。選擇目標器件 ep1c3 建議選實驗電路模式 no.0 用鍵 鍵 作為置數資料d 的輸入端,clk接 clock0 fout 接至揚聲器 speaker 時序仿 真時clk 週期設5ns 10ns d分別設 33h...