原創(chuàng)聲明:
本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處(http://www.alinx.com)。
適用于板卡型號(hào):
PGL22G/PGL12G
1. 文檔簡(jiǎn)介
很多初學(xué)者看到板上只有一個(gè)50Mhz時(shí)鐘輸入的時(shí)候都產(chǎn)生疑惑,時(shí)鐘怎么才50Mhz?如果要工作在100Mhz、150Mhz怎么辦?在很多FPGA芯片內(nèi)部都集成了PLL,其他廠商可能不叫PLL,但是也有類似的功能模塊,通過PLL可以倍頻分頻,產(chǎn)生其他很多時(shí)鐘。本實(shí)驗(yàn)通過調(diào)用PLL ip core來學(xué)習(xí)PLL的使用方法。
2. 實(shí)驗(yàn)環(huán)境
-
Windows 10 64位
-
View RTL Schematic(Pango Design Suite 2020.3)
-
開發(fā)板
3. 實(shí)驗(yàn)原理
PLL(phase-locked loop),即鎖相環(huán)。是FPGA中的重要資源。由于一個(gè)復(fù)雜的FPGA系統(tǒng)往往需要多個(gè)不同頻率,相位的時(shí)鐘信號(hào)。所以,一個(gè)FPGA芯片中PLL的數(shù)量是衡量FPGA芯片能力的重要指標(biāo)。FPGA的設(shè)計(jì)中,時(shí)鐘系統(tǒng)的FPGA高速的設(shè)計(jì)極其重要,一個(gè)低抖動(dòng), 低延遲的系統(tǒng)時(shí)鐘會(huì)增加FPGA設(shè)計(jì)的成功率。
本實(shí)驗(yàn)將通過使用PLL, 輸出一個(gè)方波到開發(fā)板上的擴(kuò)展口J8的PIN3腳,來給大家演示使用PLL的方法。
-
數(shù)字鎖相環(huán)(PLL)
PLL內(nèi)部的功能框圖如下圖所示:Logos PLL 主要由鑒頻鑒相器(PFD,Phase Frequency Detector)、環(huán)路濾波器(LF,Loop Filter)和壓控振蕩器(VCO,Voltage Controlled Oscillator) 等組成。通過不同的參數(shù)配置,可實(shí)現(xiàn)信號(hào)的調(diào)頻、調(diào)相、同步、頻率綜合等功能。 LogosPLL 的電路框圖如下圖所示:

想了解更多的時(shí)鐘配置, 建議大家看看官方提供的文檔"Logos系列產(chǎn)品PLL IP用戶指南 "。
4. 建立工程
本實(shí)驗(yàn)中為大家演示如果調(diào)用PLL IP核來產(chǎn)生不同頻率的時(shí)鐘, 并把其中的一個(gè)時(shí)鐘輸出到FPGA外部IO上, 開發(fā)板J8的PIN3腳。
下面為程序設(shè)計(jì)的詳細(xì)步驟。
1. 新建一個(gè)pll_test的工程,點(diǎn)擊Tool菜單下的IP Compiler。

2. 再在彈出的界面里選擇PLL下的Logos PLL,再對(duì)PLL取名clk_wiz_0,然后單擊Customize。

3. 在Basic Configurations界面里, 勾選復(fù)位管腳使能"Enable Port pll_rst",輸入的時(shí)鐘頻率為50Mhz。輸出選擇clk_out0~clk_out3四個(gè)時(shí)鐘的輸出,頻率分別為200Mhz, 100Mhz, 50Mhz, 25Mhz。這里還可以設(shè)置時(shí)鐘輸出的相位,我們不做設(shè)置,保留默認(rèn)相位, 點(diǎn)擊 OK完成,

5. 然后點(diǎn)擊Generate按鈕生成PLL IP的設(shè)計(jì)文件。

6. 這時(shí)一個(gè) clk_wiz_0 IP會(huì)自動(dòng)添加到我們的pll_test項(xiàng)目中, 用戶可以雙擊它來修改這個(gè)IP的配置。

7. 我們?cè)賮砭帉懸粋€(gè)頂層設(shè)計(jì)文件來實(shí)例化這個(gè)PLL IP, 編寫pll_test.v代碼如下。
`timescale1ns/1ps//================================================================================//RevisionHistory://DateByRevisionChangeDescription//--------------------------------------------------------------------------------//2019/04/13lhj1.0Original//*******************************************************************************///////////////////////////////////////////////////////////////////////////////////modulepll_test(inputsys_clk,inputrst_n,outputclk_out,//pllclockoutputJ8_Pin3outputlocked);/////////////////////PLLIPcall////////////////////////////clk_wiz_0clk_wiz_0_inst(//Clockinports.clkin1(sys_clk),//IN50Mhz//Clockoutports.clkout0(),//OUT200Mhz.clkout1(),//OUT100Mhz.clkout2(),//OUT50Mhz.clkout3(clk_out),//OUT25Mhz //Statusandcontrolsignals .pll_rst(~rst_n),//RESETIN.pll_lock(locked));//OUTendmodule
程序中先用實(shí)例化clk_wiz_0, 把單端50Mhz時(shí)鐘信號(hào)輸入sys_clk到clk_wiz_0的clkin1,把clk_out3的輸出賦給clk_out。
8. 保存工程后,pll_test自動(dòng)成為了top文件,clk_wiz_0成為Pll_test文件的子模塊。

9. 再為工程進(jìn)行管腳約束,這里不做介紹,見教程《LED流水燈實(shí)驗(yàn)及仿真》中的內(nèi)容。
注意:例化的目的是在上一級(jí)模塊中調(diào)用例化的模塊完成代碼功能,在Verilog里例化信號(hào)的格式如下:模塊名必須和要例化的模塊名一致,包括信號(hào)名也必須一致,模塊與模塊之間的連接信號(hào)不能相互沖突,否則會(huì)產(chǎn)生編譯錯(cuò)誤。

5. Modelsim 仿真PLL輸出波形
創(chuàng)建仿真文件vtf_pll_test.v文件,鼠標(biāo)右鍵點(diǎn)擊仿真文件,點(diǎn)擊“run Behavior Simulation”會(huì)打開Modelsim軟件進(jìn)行波形仿真。仿真文件和仿真波形如圖所示:


波形圖中 sys_clk為50MHz的系統(tǒng)時(shí)鐘,rst_n為復(fù)位信號(hào),clk_out為PLL輸出的25MHz,locked為波形穩(wěn)定輸出鎖定。
6. 測(cè)量PLL輸出波形
編譯工程并生成pll_test.sbit文件,再把sbit文件下載到FPGA中,接下去我們就可以用示波器來測(cè)量輸出時(shí)鐘波形了。
用示波器探頭的地線連接到開發(fā)板上的地(開發(fā)板J8的PIN1腳),信號(hào)端連接開發(fā)板J8的PIN3腳(測(cè)量的時(shí)候需要注意,避免示波器表頭碰到其它管腳而導(dǎo)致電源和地短路)。
這時(shí)我們可以在示波器里看到25Mhz的時(shí)鐘波形,波形的幅度為3.3V, 占空比為1:1,波形顯示如下圖所示:

如果您想輸出其它頻率的波形,可以修改時(shí)鐘的輸出為clk_wiz_0的clkout0或clkout1或clkout2。也可以修改clk_wiz_0的clkout3為您想要的頻率,這里也需要注意一下,因?yàn)闀r(shí)鐘的輸出是通過PLL對(duì)輸入時(shí)鐘信號(hào)的倍頻和分頻系數(shù)來得到的,所以并不是所有的時(shí)鐘頻率都可以用PLL能夠精確產(chǎn)生的,不過PLL也會(huì)自動(dòng)為您計(jì)算實(shí)際輸出接近的時(shí)鐘頻率。
-
FPGA
+關(guān)注
關(guān)注
1656文章
22308瀏覽量
630949 -
pll
+關(guān)注
關(guān)注
6文章
976瀏覽量
137626 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1955瀏覽量
134609 -
PDS
+關(guān)注
關(guān)注
2文章
32瀏覽量
15672 -
紫光同創(chuàng)
+關(guān)注
關(guān)注
6文章
124瀏覽量
28723
發(fā)布評(píng)論請(qǐng)先 登錄
PCB布局設(shè)計(jì)經(jīng)驗(yàn)談附原理圖(第四章)
PCB布線設(shè)計(jì)經(jīng)驗(yàn)談附原理圖(第四章)
射頻電路-第四章發(fā)送、接收機(jī)結(jié)構(gòu)
靜噪基礎(chǔ)第四章_空間傳導(dǎo)及其應(yīng)對(duì)措施
計(jì)算機(jī)網(wǎng)絡(luò)第四章網(wǎng)絡(luò)層課件下載
第四章 stm32 cubemx 串口中斷實(shí)驗(yàn)以及proteus仿真(下)
第四章 stm32 cubemx 串口實(shí)驗(yàn)以及proteus仿真

【紫光同創(chuàng)國(guó)產(chǎn)FPGA教程】【第四章】PDS下PLL實(shí)驗(yàn)
評(píng)論