FPGA筆記(七) 配置PLL

2021-07-14 14:49:26 字數 2068 閱讀 9455

荒廢了有些日子了,終於到了實習的地方,開始認真的學習,之前學得不夠快,現在要拍馬趕上去了,不然要跟不上進度了。學習筆記還是要做到,好記性不如爛筆頭,做筆記也是一種思考的過程,用來捋清楚怎麼個流程是很有用的。

由於馬上要用到pll和rom的配置,所以學習了下如何去配置鎖相環模組。這個比較簡單,基本由圖示吧。(相隔好久才把這個補回去,比較尷尬~)

一年前的東西,pll配置就是呼叫一下quartus ii自帶的ip core,只需要簡單設定即可.
1、首次是tool->ip catalog,在裡面搜尋pll,即可得到如下:

2、其中,pll有倆種選擇,一種是altpll,另一種是altpll_reconfig。altpll_reconfig是可重配置巨集pll,是一種可以實時的重新配置引數,適應變化的輸入時鐘,從而在新的輸入時鐘下可以重新鎖定和正常工作。
一般情況下,我們用靜態的pll就行,即altpll,選擇後點進去設定。
很多情況下,我們是要通過pll倍頻系統時鐘,然後用作ad的取樣時鐘,所以我取名為clk_ad。

3、設定如下,設定一下輸入時鐘即可,其他的預設。(其它模式也沒用過..)

4、設定pll模組的埠,可以選擇要不要,比如areset復位介面,可以選擇不要,以及locked(鎖定標誌位)鎖相環鎖定之後的時鐘才是穩定的,為了簡單,我也把這個扔了。

5、預設設定即可。

6、之後一直是預設設定,直到設定輸出時鐘output clk的介面。即可以設定實際要輸出的時鐘頻率,也可以設定倍頻和分頻引數達到相應的輸出頻率

7、只設定一路輸出只需要配置c0即可,如果還要多路輸出就需要配置其他的輸出埠如c1、c2、c3等等。然後一直next到最後的介面,其實直接finish應該就可以,我隨手選了幾項,但是具體用處不知。
至此,配置就算是完成了。相當於這個模組已經有啦,只需要在頂層檔案裡面呼叫就行了!
以下既是頂層檔案的編寫和testbench的編寫。

得到的**波形如下:

可以看到pll_clk不是在clk輸入之後就馬上出來波形的,所以有時候可能會出現問題,我們用這pll_clk是在穩定之後才能用它。故打算把locked這個鎖定標誌位給加上看看效果!
所以需要重新配置pll,點進去再設定一下即可。如圖:

更改頂層呼叫**,以及testbench。
就可以看到加了locked之後的這個locked標誌訊號的作用了,就是標誌這個pll_clk時鐘已經鎖定,可以正常使用了。故這個locked標誌位有時候是關鍵!

FPGA學習筆記(五)PLL和DLL的區別

一 pll原理 pll phase locked loop 生成時鐘的核心部分是壓控振盪器 voltage controlled oscillator,vco 它是可根據輸入的電壓調整輸出頻率的振盪器,如下圖所示。它的基本原理是通過負反饋形成閉環從而根據輸入的基準時鐘控制輸出時鐘。其中鑑相器就相當於...

PLL 配置後的復位設計

很多fpga設計中都會涉及到多個時鐘,使用器件內部的pll或者dll會使得多個時鐘的管理變得更加容易。但是當多個時鐘都是用pll dll產生時,他們的系統復位訊號如何設計才更加穩定呢?在上一章 fpga 復位設計 的內容裡提出了非同步復位 同步釋放的方法,那麼在系統復位後 pll時鐘輸出前,即系統的...

FPGA學習筆記(七) BCD計數器

激勵檔案 需要注意 時序變組合 去掉reg output 3 0 q reg 3 0 cnt always posedge clk or negedge rst n if rst n cnt 4 d0 else if cin 1 b1 begin if cnt 4 d9 cnt 4 b0 else ...