chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【FPGA 開發(fā)分享】如何在 Vivado 中使用 PLL IP 核生成多路時(shí)鐘

FPGA技術(shù)專欄 ? 來源:FPGA技術(shù)專欄 ? 作者:FPGA技術(shù)專欄 ? 2025-09-28 15:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

EsteemPCB Academy 是一個(gè)專注于 FPGA、嵌入式系統(tǒng)與硬件開發(fā)的技術(shù)學(xué)習(xí)平臺(tái),致力于通過通俗易懂的課程內(nèi)容,幫助工程師和學(xué)習(xí)者快速掌握前沿技術(shù)。


在他們的一支教學(xué)視頻中,使用了ALINX AX7020 FPGA 開發(fā)板,演示了如何在 Vivado 中調(diào)用 PLL(Phase-Locked Loop,相位鎖定環(huán))IP 核,實(shí)現(xiàn)不同頻率的時(shí)鐘信號生成。本圖文教程基于該視頻的完整過程整理而來,將介紹如何在 Verilog 代碼中例化 PLL IP 核,編寫 Verilog 仿真測試平臺(tái)(Testbench),最后通過 JTAG 將設(shè)計(jì)燒錄到實(shí)際的開發(fā)板。


FPGA Development Tutorial  Alinx AX7020  Phase Locked Loop PLL in FPGA.jpg


原視頻鏈接:

https://www.youtube.com/watch?v=B1T0t3xpvxM


ALINX AX7020 開發(fā)板:

https://alinx.com/en/detail/273


Zynq 7000 資料詳情:

https://www.amd.com/en/products/adaptive-socs-and-fpgas/soc/zynq-7000.html#documentation


Vivado 下載安裝:

https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/archive.html


在開始今天的主題之前,我先拋出一個(gè)問題。我們知道,目前使用的 AX7020 開發(fā)板自帶一顆 50 MHz 的 PLSysRef 時(shí)鐘。


那么,如果某個(gè)應(yīng)用需要 100 MHz、250 MHz 甚至更高頻率的時(shí)鐘,該怎么實(shí)現(xiàn)呢?這時(shí)就需要用到 PLL(鎖相環(huán))。今天的視頻主要講解:


1. 什么是 PLL;

2. 如何在 Vivado 中使用 PLL IP 核。


接下來,我們會(huì)通過仿真展示如何利用 PLL IP 核實(shí)現(xiàn)時(shí)鐘倍頻,然后把程序燒錄到實(shí)際的 AX7020 開發(fā)板,并觀察輸出波形。

2-a130ce0a8240ec81dcbf985a695b51fe-removebg-preview.png

(ALINX 基于 AMD Zynq 7000 SoC 開發(fā)板 AX7020)


Part 1:理解 FPGA 內(nèi)部的 PLL


如果只想了解如何使用請直接滑到Part2~


首先我們來看看 PLL 在 FPGA 內(nèi)部是如何集成的。除了 PLL,F(xiàn)PGA 里還有其他的時(shí)鐘管理資源,比如MMCM(混合模式時(shí)鐘管理器),它可以實(shí)現(xiàn)更高性能的相位同步和時(shí)鐘合成。


PLL 在 FPGA 中是非常重要的資源。因?yàn)橐粋€(gè)復(fù)雜的 FPGA 系統(tǒng)通常需要多個(gè)不同頻率、不同相位的時(shí)鐘信號,而這些功能都必須依靠 PLL 來實(shí)現(xiàn)。因此,一個(gè) FPGA SoC 中 PLL 的數(shù)量,往往可以作為衡量其能力的一個(gè)重要指標(biāo)。

回到 AX7020 開發(fā)板


在 AX7020 Zynq 7000 開發(fā)板上,有一個(gè)引腳與 PLL 相連。你可以在屏幕上的示意圖看到,我標(biāo)注的部分是J11 接口的第 3 腳,它直接輸出來自 PLL 的時(shí)鐘信號。這個(gè)引腳可以被用作外部應(yīng)用的時(shí)鐘源。除此之外,PLL 還有多個(gè)輸出通道,可以在 Verilog 代碼中調(diào)用。



在正式使用 PLL IP 核之前,我們先要理解它在 FPGA 內(nèi)部的結(jié)構(gòu)。


時(shí)鐘管理單元

(Clock Management Tile, CMT)


在 Xilinx 7 系列 FPGA 中,芯片內(nèi)部設(shè)計(jì)了專用的全局(Global)區(qū)域(Regional)時(shí)鐘資源,用來處理各種時(shí)鐘需求。這些資源被稱為時(shí)鐘管理單元(Clock Management Tile, CMT),它們提供:

時(shí)鐘頻率合成(frequency synthesis)

時(shí)鐘偏移校正(de-skew)

抖動(dòng)抑制(jitter removal)


從下面的模塊框圖中可以看到:

從區(qū)域緩沖器(Buffer R)到本地布線的部分,都是時(shí)鐘緩沖器;

這些緩沖器通過 FPGA 內(nèi)部的時(shí)鐘專用引腳相互連接;

PLL 和 MMCM 共用這些緩沖資源。


4-屏幕截圖 2025-09-23 144958.png


此外,從框圖還能看到,如果要使用 PLL 的輸出引腳,必須接入 Buffer G(全局時(shí)鐘緩沖器) 或 Buffer H(水平時(shí)鐘緩沖器),否則時(shí)鐘信號無法被正確分發(fā)。


還記得我剛才提到的 J11 接口的第 3 腳嗎?這個(gè)引腳實(shí)際上就是 Buffer G 或 Buffer H 的輸出引腳之一,我們稍后會(huì)在實(shí)測中看到它的作用。


接下來,我們會(huì)先配置 PLL IP 核。通過它,我們可以對參考時(shí)鐘(在本例中是 50 MHz)進(jìn)行倍頻或分頻。隨后,我們會(huì)在 J11 接口的第 3 腳上探測到對應(yīng)的輸出時(shí)鐘。


簡單來說,這里需要強(qiáng)調(diào)的一點(diǎn)是:

你可以根據(jù)應(yīng)用對頻率和相位的需求選擇 MMCM 或 PLL。

在我們的案例中,輸入時(shí)鐘就是 50 MHz。


如果你使用 MMCM 來生成不同的時(shí)鐘頻率和相位,MMCM 提供了非常強(qiáng)大的時(shí)鐘管理功能。下圖所示的模塊框圖中:

D表示可編程分頻計(jì)數(shù)器(programmable counter divider);

PFD表示鑒頻鑒相器(phase frequency detector);

CP表示電荷泵(charge pump);

LF表示環(huán)路濾波器(loop filter);

VCO表示壓控振蕩器(voltage control oscillator);

最終可以得到 8 路 MMCM 時(shí)鐘輸出,用于頻率合成。


5-屏幕截圖 2025-09-23 151311.png


至于 PLL,它實(shí)際上是 MMCM 的一個(gè)子集。從 PLL 的框圖可以看到,它也包含了上述主要模塊。不過,如果你問我 PLL 和 MMCM 的區(qū)別,答案是:

MMCM 具備分?jǐn)?shù)倍頻/分頻功能,可以靈活生成輸入時(shí)鐘與輸出時(shí)鐘之間的分?jǐn)?shù)關(guān)系;

而 PLL 更適合用于頻率合成,主要用來生成多路整數(shù)倍頻的時(shí)鐘信號。


因此,如果你需要精確的分?jǐn)?shù)倍頻,推薦使用MMCM;如果只是做常規(guī)倍頻或分頻,PLL就足夠了。


Part 2:在 Vivado 中調(diào)用 PLL IP 核


接下來,我會(huì)演示如何在 Vivado 中調(diào)用Xilinx提供的 PLL IP 核,來生成不同的時(shí)鐘頻率。隨后我們會(huì)把 FPGA 的某個(gè)外部引腳配置為時(shí)鐘輸出。


先創(chuàng)建一個(gè) Vivado 工程,然后從 IP Catalog(IP 庫) 中搜索并添加 PLL IP 核,這里IP核的名稱是Clocking Wizard。雙擊它,就會(huì)打開 IP 自定義窗口,進(jìn)入?yún)?shù)配置環(huán)節(jié)。


6-微信圖片_20250928144434.jpg


在 Clocking Wizard 配置界面中,選擇 PLL 作為時(shí)鐘生成方式。


勾選頻率合成(frequency synthesis)相位對齊(phase alignment)。


將抖動(dòng)優(yōu)化(jitter optimization)設(shè)置為Balanced(平衡模式)。


7-屏幕截圖 2025-09-23 151933.png


往下拉,可以看到主時(shí)鐘輸入(Primary Clock Input)和輔助時(shí)鐘輸入(Secondary Clock Input)的選項(xiàng)。本例中只有一個(gè)輸入時(shí)鐘,也就是 50 MHz,沒有輔助時(shí)鐘,所以直接選擇 50 MHz 即可。


8-屏幕截圖 2025-09-23 152133.png


接下來設(shè)置輸出時(shí)鐘

進(jìn)入輸出時(shí)鐘(Output Clocks)標(biāo)簽頁,生成四路輸出,設(shè)定為:

輸出1:200 MHz(輸入的 4 倍)

輸出2:100 MHz(輸入的 2 倍)

輸出3:25 MHz(輸入的 1/2)

輸出4:50 MHz(與輸入相同,用于驗(yàn)證)


9-屏幕截圖 2025-09-23 152252.png


設(shè)置好后點(diǎn)擊 OK,在框圖中會(huì)看到locked 信號,它表示PLL 是否已經(jīng)鎖定。如果該信號為高電平,則說明 PLL 鎖定成功。PLL 的輸入包括一個(gè) 50 MHz 時(shí)鐘輸入一個(gè)復(fù)位信號,這里的復(fù)位(rst_n)就是常用的低電平有效復(fù)位。


點(diǎn)擊 OK 后,會(huì)提示選擇生成任務(wù)數(shù),選擇 4 個(gè),然后點(diǎn)擊生成。這樣,PLL IP 核就會(huì)自動(dòng)加入工程,接下來我們就能在設(shè)計(jì)中調(diào)用它。


10-屏幕截圖 2025-09-23 152459.png


Part 3:在 Verilog 中實(shí)例化 PLL IP 核


下一步,我們需要編寫一個(gè)頂層設(shè)計(jì)文件來實(shí)例化 PLL IP 核,并進(jìn)行仿真。

1. Project Manager → Add Sources → Add or Create Design Sources → Next。

2. 點(diǎn)擊 Create File,新建一個(gè)名為 PLL 的源文件(pll.v)。

3. 新建完成后,點(diǎn)擊 Finish 即可,當(dāng)前階段暫不添加任何 IOPorts,直接點(diǎn)擊 OK。


11-屏幕截圖 2025-09-23 153151.png


雙擊打開該文件,會(huì)看到文件中自動(dòng)生成了時(shí)間精度指令(timescale 1ns/1ps)和一個(gè)空模塊(module pll)。


在這個(gè)空模塊中,我們需要先定義輸入輸出:

輸入:

系統(tǒng)時(shí)鐘(sys_clk)

復(fù)位信號(rst_n),低電平有效,當(dāng) rst_n 引腳變?yōu)榈碗娖綍r(shí),開發(fā)板就會(huì)進(jìn)入復(fù)位狀態(tài)。

輸出:

四路時(shí)鐘輸出(clk_out_200、clk_out_100、clk_out_25、clk_out_50):分別代表200 MHz、100 MHz、25 MHz、50 MHz

鎖定信號(locked):定義一個(gè)額外的輸出線網(wǎng)(wire),用于表示 PLL 模塊是否已完成 “鎖相”(locked)


12-屏幕截圖 2025-09-23 153541.png


接下來去 IP Sources,打開 PLL IP 核的實(shí)例化模板(Instantiation Template),復(fù)制模板代碼粘貼到頂層文件 ppl.v 中,并把前面定義好的輸入輸出信號映射進(jìn)去。


13-屏幕截圖 2025-09-23 153820.png14-屏幕截圖 2025-09-23 154117.png


映射完成后,可以將該例程命名為 clk_0_ins,點(diǎn)擊保存。


15-屏幕截圖 2025-09-23 154422.png


保存后,就能在工程層次結(jié)構(gòu)(Hierarchy)中看到 PLL IP 已成為設(shè)計(jì)的一部分。


Part 4:約束文件(XDC)配置


接下來要添加輸入輸出約束:

1. 打開 Window → 點(diǎn)擊 I/O Ports 窗口,展開所有輸入輸出端口。

2. 分配引腳:

rst_n → N15

sys_clk → U18

clk_out_200 → J11 接口的第 3 腳(對應(yīng) FPGA 引腳 F17)

3. 設(shè)置電壓標(biāo)準(zhǔn):原本默認(rèn) 1.8V,查閱開發(fā)板原理圖后可知實(shí)際應(yīng)使用 3.3V LVCMOS,所以改為 LVCMOS33。

保存為 pll.xdc 文件


16-微信圖片_20250928144810.jpg


此時(shí)回到 Sources 界面,就能看到新創(chuàng)建的約束文件,雙擊打開,里面能看到所有引腳分配及對應(yīng)的 IO 電壓標(biāo)準(zhǔn)都已正確配置。


然后我們還需要添加時(shí)序約束:使用 create_clock 語句創(chuàng)建系統(tǒng)時(shí)鐘。

create_clock-period20[get_portssys_clk]


這里 20ns 對應(yīng) 50 MHz 輸入時(shí)鐘。


Part 5:仿真驗(yàn)證


在燒錄硬件之前,先通過仿真驗(yàn)證功能,步驟如下:

打開 Simulation Settings,將仿真時(shí)間設(shè)置為 50 ms。

17-屏幕截圖 2025-09-23 161658.png


2. 創(chuàng)建仿真文件:Add Sources → Add or create simulation sources → Create,將仿真文件命名為“pll_test_bench”,確認(rèn)后點(diǎn)擊“完成”。當(dāng)前無需添加 IO 端口,直接點(diǎn)擊“確定”。

3. 雙擊打開“pll_test_bench”文件,編寫測試代碼:

定義輸入:sys_clk、rst_n

定義輸出:四路時(shí)鐘clock_out_200、clock_out_100、clock_out_25、clock_out_50


18-編寫測試bench代碼.png


在 testbench 中例化 pll.v,并將輸入輸出正確連接。


19-編寫測試bench代碼映射.png


信號初始化:初始時(shí)保持復(fù)位,rst=0,clk=0。100ns 后釋放復(fù)位,rst=1。

用 always 語句生成 50 MHz 的輸入時(shí)鐘,即讓時(shí)鐘每 10 納秒翻轉(zhuǎn)一次,得到周期 20ns 的輸入時(shí)鐘,即 50 MHz。


20-初始化信號.png


保存后運(yùn)行行為仿真(Run Behavioral Simulation)。


在波形窗口中,可觀察到四路時(shí)鐘輸出:

200 MHz

100 MHz

25 MHz

50 MHz(與輸入同步)


通過波形周期測量,可驗(yàn)證頻率正確性。


Part 6:硬件驗(yàn)證


點(diǎn)擊 Generate Bitstream,生成 Bitstream 文件,然后點(diǎn)擊 Program Device,選擇剛才生成的 Bitstream 文件,點(diǎn)擊 Program,現(xiàn)在 FPGA 已經(jīng)燒錄完成,PLL IP 核也在 FPGA 上運(yùn)行了。


示波器探測 J11 接口第 3 腳,就可觀察到對應(yīng)的 200 MHz 輸出波形,和仿真結(jié)果一致,說明 PLL IP 正確配置,功能正常。


21-屏幕截圖 2025-09-26 103745.png


本教程基于 ALINX AX7020 開發(fā)板完成。作為國內(nèi)領(lǐng)先的 FPGA 開發(fā)平臺(tái)和解決方案提供商,ALINX 提供 AMD Zynq/Versal/Virtex/Kintex 等系列、紫光同創(chuàng) Kosmo/Titan 等系列的多款高性能開發(fā)板與配套資料,廣泛應(yīng)用于智能汽車、工業(yè)控制、通信工程、醫(yī)療電子等領(lǐng)域。


選擇 ALINX,不僅能獲得性能優(yōu)異、接口豐富的硬件平臺(tái),還能享受到完善的技術(shù)支持與學(xué)習(xí)資源,助力工程師與開發(fā)者快速上手、加速項(xiàng)目落地。


審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1650

    文章

    22203

    瀏覽量

    626640
  • pll
    pll
    +關(guān)注

    關(guān)注

    6

    文章

    966

    瀏覽量

    137224
  • FPGA開發(fā)
    +關(guān)注

    關(guān)注

    1

    文章

    46

    瀏覽量

    15640
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    844

    瀏覽量

    70037
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【鋯石A4 FPGA試用體驗(yàn)】IPPLL(一)新建IP

    通過Quartus II 軟件創(chuàng)建PLL IP。首先,要新建一個(gè)工程,這個(gè)方法在之前的帖子中已經(jīng)發(fā)過,不會(huì)的可以查看前面的相關(guān)帖子。創(chuàng)建好自己的工程:打開如下的菜單
    發(fā)表于 09-23 21:44

    玩轉(zhuǎn)Zynq連載21——VivadoIP的移植

    `玩轉(zhuǎn)Zynq連載21——VivadoIP的移植更多資料共享騰訊微云鏈接:https://share.weiyun.com/5s6bA0s百度網(wǎng)盤鏈接:https://pan.baidu.com
    發(fā)表于 09-04 10:06

    怎么在Vivado HLS中生成IP?

    的經(jīng)驗(yàn)幾乎為0,因此我想就如何解決這個(gè)問題提出建議。這就是我的想法:1 - 首先,用Vivado HLS轉(zhuǎn)換VHDL中的C代碼(我現(xiàn)在有一些經(jīng)驗(yàn))2 - 在Vivado HLS中生成IP
    發(fā)表于 03-24 08:37

    想用16Mhz輸入時(shí)鐘vivado套裝中的“時(shí)鐘向?qū)А?b class='flag-5'>IP生成設(shè)計(jì)?

    嗨,我想創(chuàng)建一個(gè)設(shè)計(jì),我需要2Mhz clk,我想用16Mhz輸入時(shí)鐘vivado套裝中的“時(shí)鐘向?qū)А?b class='flag-5'>IP
    發(fā)表于 07-27 06:32

    【正點(diǎn)原子DFPGL22G開發(fā)板體驗(yàn)】內(nèi)置IP使用體驗(yàn)-PLL之呼吸燈

    前言集成開發(fā)環(huán)境中提供的FPGA功能模塊,即IP的豐富程度,也體現(xiàn)了開發(fā)環(huán)境的成熟度。提供的IP
    發(fā)表于 02-09 23:21

    Vivado生成IP

    vivado生成ip后缺少一大片文件,之前是可以用的,中途卸載過Modelsim,用vivado打開過ISE工程,因?yàn)楣こ讨泻芏?/div>
    發(fā)表于 04-24 23:42

    FPGAIP生成

    FPGAIP生成,簡單介紹Quartus II生成IP
    發(fā)表于 11-30 17:36 ?12次下載

    何在EDK中使用自己的 IP?

    何在EDK中使用自己的 IP呢? 這是很多人夢寐以求的事情。然而在EDK以及ISE的各種文檔中對此卻遮遮掩掩,欲語還休。
    發(fā)表于 02-11 13:35 ?2390次閱讀

    vivado調(diào)用IP詳細(xì)介紹

    大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天咱們來聊一聊vivado 調(diào)用IP。 首先咱們來了解一下vivadoIP
    的頭像 發(fā)表于 05-28 11:42 ?3.8w次閱讀

    VivadoPLL開發(fā)調(diào)用IP的方法

    開發(fā)PL時(shí)一般都會(huì)用到分頻或倍頻,對晶振產(chǎn)生的時(shí)鐘進(jìn)行分頻或倍頻處理,產(chǎn)生系統(tǒng)時(shí)鐘和復(fù)位信號,這是同步時(shí)序電路的關(guān)鍵,這時(shí)就需要使用到時(shí)鐘向?qū)?b class='flag-5'>IP
    發(fā)表于 12-22 15:14 ?1.1w次閱讀

    FPGA實(shí)現(xiàn)基于Vivado的BRAM IP的使用

    ? Xilinx公司的FPGA中有著很多的有用且對整個(gè)工程很有益處的IP,比如數(shù)學(xué)類的IP,數(shù)字信號處理使用的
    的頭像 發(fā)表于 12-29 15:59 ?1.3w次閱讀

    如何導(dǎo)出IP以供在 Vivado Design Suite 中使

    在本篇博文中,我們將學(xué)習(xí)如何導(dǎo)出 IP 以供在 Vivado Design Suite 中使用、如何將其連接到其它 IP 與處理器以及如
    的頭像 發(fā)表于 07-08 09:34 ?3930次閱讀

    FPGA應(yīng)用之vivado三種常用IP的調(diào)用

    今天介紹的是vivado的三種常用IP時(shí)鐘倍頻(Clocking Wizard),實(shí)時(shí)仿真(ILA),ROM調(diào)用(Block Memory)。
    發(fā)表于 02-02 10:14 ?4671次閱讀

    何在Vivado中配置FIFO IP

    Vivado IP提供了強(qiáng)大的FIFO生成器,可以通過圖形化配置快速生成FIFO IP
    的頭像 發(fā)表于 08-07 15:36 ?6681次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>Vivado</b>中配置FIFO <b class='flag-5'>IP</b><b class='flag-5'>核</b>

    FPGA實(shí)現(xiàn)基于Vivado的BRAM IP的使用

    Xilinx公司的FPGA中有著很多的有用且對整個(gè)工程很有益處的IP,比如數(shù)學(xué)類的IP,數(shù)字信號處理使用的
    的頭像 發(fā)表于 12-05 15:05 ?2858次閱讀