分頻器的設(shè)計-奇偶分頻
2的n次方分頻實現(xiàn)
如下電路可以實現(xiàn)對CLK的2分頻。原理很簡單,上電復(fù)位先給寄存器一個初始值,然后只有在CLK上升沿CLK_DIV2才會翻轉(zhuǎn)一次。故CLK兩個上升沿之后,CLK_DIV2才完成兩次翻轉(zhuǎn)。
要實現(xiàn)2的n次方分頻可以通過復(fù)用n次這個電路。如下所示。
偶數(shù)倍分頻
方式一:如下所示。通過移位寄存器實現(xiàn)分頻。例如要實現(xiàn)2n倍分頻,則需要用n個寄存器。
優(yōu)點:不需要其它任何控制邏輯,只需要寄存器加一個反相器。
缺點:當(dāng)分頻倍數(shù)很大時,需要的寄存器也是倍增。當(dāng)然你也可以采用復(fù)用的方式去減少所需寄存器數(shù)目,例如,36分頻,可以做兩個6分頻器相連,則所需寄存器為6個,需要的寄存器數(shù)大大減少。
方式二:如下圖所示,通過計數(shù)器來實現(xiàn)分頻。比如,做一個2n分頻器,則計數(shù)器計數(shù)從0到n-1,CLK_DIV就翻轉(zhuǎn)一次。
代碼如下(分頻數(shù)為DIV_NUM=20):
仿真波形:
奇數(shù)倍分頻
如上方式只能實現(xiàn)偶數(shù)倍分頻,是因為寄存器都是源時鐘CLK上升沿觸發(fā)的,因此DIV_CLK只能在上升沿去發(fā)生跳轉(zhuǎn),這導(dǎo)致DIV_CLK必定只能是CLK的偶數(shù)倍分頻關(guān)系(CLK跳轉(zhuǎn)兩次,DIV_CLK才可能跳轉(zhuǎn)一次)。
奇數(shù)倍分頻的一種實現(xiàn)方式如下。一路計數(shù)器用CLK的非CLK_N控制,一路用CLK控制。最后將兩路的輸出分頻波形相亦或,得到最后的分頻輸出。如果難以理解可以對著最后的波形去看。
Verilog實現(xiàn)如下(分頻數(shù)為DIV_NUM=9):
仿真波形如下:
思考
大家以上面的為基礎(chǔ),思考一下占空比可調(diào)的分頻時鐘的實現(xiàn)。
-
寄存器
+關(guān)注
關(guān)注
31文章
5250瀏覽量
119193 -
分頻器
+關(guān)注
關(guān)注
43文章
445瀏覽量
49579
原文標(biāo)題:分頻器的設(shè)計-奇偶分頻
文章出處:【微信號:LF-FPGA,微信公眾號:小魚FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論