玩轉Zynq連載22——[ex03] 基于Zynq PL的PLL配置實(shí)例 更多資料共享 騰訊微云鏈接:https://share.weiyun.com/5s6bA0s 百度網(wǎng)盤(pán)鏈接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw 提取碼:ld9c ![]() 騰訊微云鏈接:https://share.weiyun.com/5s6bA0s 百度網(wǎng)盤(pán)鏈接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw 提取碼:ld9c 本實(shí)例通過(guò)PLL產(chǎn)生的不同頻率的時(shí)鐘,分別驅動(dòng)3個(gè)LED指示燈閃爍一樣的頻率。本實(shí)例的重點(diǎn)其實(shí)不是LED,而是IP核的應用,當然,僅以PLL IP核為例。 參考文檔《玩轉Zynq-基礎篇:基于FPGA的模塊化設計.pdf》。 我們常說(shuō)的IP核,也就是知識產(chǎn)權(Intellectual Property),是那些己驗證的、可重利用的、具有某種確定功能的設計功能模塊。IP核一般分為軟IP(soft IP core)、固IP(firm IP core)和硬IP(hard IP core)。軟IP是用某種高級語(yǔ)言來(lái)描述功能塊的行為,但是并不涉及用什么電路和電路元件實(shí)現這些行為。固IP除了完成軟IP所有的設計外,還完成了門(mén)電路級綜合和時(shí)序仿真等設計環(huán)節,一般以門(mén)電路級網(wǎng)表形式提交用戶(hù)使用。硬IP則是完成了綜合的功能塊,已有固定的拓撲布局和具體工藝,并己經(jīng)經(jīng)過(guò)工藝驗證,具有可保證的性能。設計深度愈深,后續工序所需要做的事情就越少,但是靈活性也就越小。 在Xilinx的FPGA器件中,IP核設計是非常重要并且必不可少的一部分,應該說(shuō),前述的軟IP、固IP和硬IP,在我們Zstar板載的Zynq上都能夠找到蹤影。而對于Vivado來(lái)說(shuō),對于Xilinx或者其第三方合作伙伴提供的,已經(jīng)集成在Vivado工具界面中供設計者調用的IP,我們姑且可以稱(chēng)之為標準IP核;而對于Vivado未集成的,第三方或者用戶(hù)自己開(kāi)發(fā)設計的IP核,我們則稱(chēng)之為用戶(hù)自定義IP核。 對于Vivado中集成的IP核,可以點(diǎn)擊Vivado菜單Window --> IP Catalog查看。
![]() 在Vivado主視窗中,IP Catalog --> Cores中,列出了Vivado已經(jīng)集成的分類(lèi)IP核,點(diǎn)擊各個(gè)分類(lèi)前的+號,可以查看具體分類(lèi)下都有哪些可用的IP核。
![]() 對于一般的IP核,先找到所需要的IP核,然后雙擊IP核彈出配置頁(yè)面,配置完成后輸出各類(lèi)IP核相關(guān)設計文件,在用戶(hù)設計中只要例化IP核模塊就可以了。
![]() 下面我們以zstar_ex04實(shí)例的PLL IP核的配置為例,看看如何添加配置Vivado中集成的標準IP核。 如圖所示,點(diǎn)擊Flow Navigator面板下的“Project Manager à IP Catalog”。
![]() 圖 IP Catalog菜單 如圖所示,彈出的IP Catalog面板中列出了所有Vivado自帶IP核的分類(lèi)列表。
![]() 圖 IP Catalog面板 如圖所示,在“FPGA Features and Design à Clocking”分類(lèi)展開(kāi)后,可以看到名為Clocking Wizard的IP核,通過(guò)這個(gè)IP核,我們可以配置一個(gè)PLL用于對FPGA外部輸入時(shí)鐘做各種分頻或倍頻處理。點(diǎn)擊Clocking Wizard后將彈出相應的配置頁(yè)面。
![]() 圖 Clocking Wizard IP核 彈出的第一個(gè)配置頁(yè)面如圖所示,這里的Primitive可以選擇“PLL”,然后在時(shí)鐘頻率(Input Clock Information)的Primary一行中設定我們的輸入時(shí)鐘頻率(Input Frequency)為25MHz即可。 ![]() 接著(zhù)在Output Clocks配置頁(yè)面中,如圖所示,勾選clk_out1/2/3這3個(gè)時(shí)鐘,分別設置其輸出頻率為25MHz、50MHz、100MHz。同時(shí)勾選控制信號reset和locked的,并且它們是高電平有效(Active High)。 ![]() 接下來(lái)幾個(gè)頁(yè)面不需要做配置更改,直接點(diǎn)擊OK完成PLL的配置。 配置生效后,我們可以切換到Sources面板下方的IP Sources這個(gè)子頁(yè)面中,如圖所示,出現了名為clk_wiz_0的IP核,即我們剛剛配置添加的IP核?梢渣c(diǎn)擊展開(kāi)它,在“Instantiation Template”下方的“clk_wiz_0.veo”文件就是例化模板,可以雙擊打開(kāi)它。
![]() 圖 查看例化模板 如圖所示,可以復制這個(gè)PLL的例化模板,在我們的工程中相應修改外部接口。 ![]() 關(guān)于這里PLL模塊的接口定義如表所示。
注:方向是相對PLL模塊而言的。 參考文檔《玩轉Zynq-工具篇:Vivado中IP核的移植.pdf》。 參考文檔《玩轉Zynq-環(huán)境篇:XilinxPlatformCableUSB下載器使用指南》,將...\project\zstar_ex03\zstar.runs\impl_1路徑下的zstar.bit文件燒錄到Zynq中。 看到的效果D1、D2和D3這3顆LED指示燈同步閃爍。 |