99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

FPGA學(xué)習(xí)筆記:PLL IP核的使用方法

CHANBAEK ? 來(lái)源:小小研究生 ? 作者:小小研究生 ? 2023-08-22 15:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

理論學(xué)習(xí)

IP理論學(xué)習(xí)

IP(Intellectual Property)是知識(shí)產(chǎn)權(quán)的意思,半導(dǎo)體行業(yè)的IP是“用于ASICFPGA中的預(yù)先設(shè)計(jì)好的電路功能模塊”。一些常用的復(fù)雜的功能模塊(如FIFO、RAM、FIR濾波器、SDRAM控制器、PCIE接口等),不可能每次使用都要用戶自行設(shè)計(jì),所以可以將其設(shè)計(jì)成 參數(shù)可修改的模塊 ,其他用戶可以直接調(diào)用。具有復(fù)雜功能和商業(yè)價(jià)值的IP核一般具有知識(shí)產(chǎn)權(quán)。

IP核有三種不同的存在形式: HDL語(yǔ)言形式,網(wǎng)表形式、版圖形式 。分別對(duì)應(yīng)三類IP內(nèi)核: 軟核、固核和硬核 。

軟核:通常是以硬件描述語(yǔ)言HDL源文件的形式出現(xiàn),大多數(shù)應(yīng)用于FPGA的IP內(nèi)核均為軟核。軟核通常以加密形式提供,RTL對(duì)用戶不可見(jiàn),但布局和布線靈活。在這些加密的軟核中,如果對(duì)內(nèi)核進(jìn)行了參數(shù)化,那么用戶就可通過(guò)頭文件或圖形用戶接口(GUI)方便地對(duì)參數(shù)進(jìn)行操作。

固核:完成了綜合的功能塊,以網(wǎng)表的形式交給客戶使用。對(duì)于那些對(duì)時(shí)序要求嚴(yán)格的內(nèi)核(如PCIE接口內(nèi)核),可預(yù)布線特定信號(hào)或分配特定的布線資源,以滿足時(shí)序要求。內(nèi)核是預(yù)先設(shè)計(jì)的,可能會(huì)影響整體設(shè)計(jì),例如:由于內(nèi)核的建立時(shí)間、保持時(shí)間和握手信號(hào)都可能是固定的,因此其它電路的設(shè)計(jì)時(shí)都必須考慮與該內(nèi)核進(jìn)行正確地接口。如果內(nèi)核具有固定布局或部分固定的布局,那么這還將影響其它電路的布局。

硬核:最終階段產(chǎn)品——掩膜(Mask),以經(jīng)過(guò)完全的布局布線的網(wǎng)表形式提供。硬核缺乏靈活性且可移植性差,但由于無(wú)須提供RTL文件,更易于實(shí)現(xiàn)IP保護(hù)。比如一些FPGA芯片內(nèi)置的ARM核就是硬核。

IP核也有缺點(diǎn):1、不同的廠商會(huì)有自己的IP且一般不通用,不好移植,如果之前用的一個(gè)廠商的某個(gè)IP核,改用另一個(gè)廠商就需要將整個(gè)IP核替換。2、IP核實(shí)質(zhì)是個(gè)加密的 黑匣子 ,如果出現(xiàn)問(wèn)題或者想優(yōu)化都不好修改。3、有些定制的IP核會(huì)很貴。

Altera公司提供兩類功能模塊:免費(fèi)的LPM宏功能模塊(Megafunction/LPM)和需要授權(quán)使用的IP知識(shí)產(chǎn)權(quán)(MegaCore),兩者的實(shí)現(xiàn)功能上有區(qū)別,使用方法相同。Altera IP核有邏輯運(yùn)算IP核,數(shù)學(xué)運(yùn)算IP核,存儲(chǔ)器類IP核,數(shù)字信號(hào)處理IP核,數(shù)字通信IP核,圖像處理IP核,輸入/輸出IP核,芯片接口IP核,設(shè)計(jì)調(diào)試IP核等等。

這里通過(guò)Quartus II中MegaWizard插件管理器去例化IP核。(非Altera的第三方IP核以網(wǎng)表文件方式提供)。在MegaWizard插件管理中可以創(chuàng)建、定制和例化Altera IP核。

PLL理論知識(shí)

PLL(Phase Locked Loop,即鎖相環(huán))是最常用的IP核之一,可以對(duì)輸入到FPGA的時(shí)鐘信號(hào)進(jìn)行任意 分頻、倍頻、相位調(diào)整、占空比調(diào)整 ,輸出期望時(shí)鐘。即使不改變輸入時(shí)鐘,也會(huì)使用PLL,因?yàn)榻?jīng)過(guò) PLL 后的時(shí)鐘在抖動(dòng)(Jitter)方面的性能更好一些。

PLL的結(jié)構(gòu)如圖所示:

圖片

能夠看出來(lái)這個(gè)系統(tǒng)是閉環(huán)負(fù)反饋系統(tǒng)。

FD/PD是鑒頻鑒相器,參考時(shí)鐘(ref_clk)通過(guò)鑒頻(FD)鑒相器(PD)和輸出的時(shí)鐘頻率進(jìn)行比較,參考時(shí)鐘頻率等于輸出時(shí)鐘頻率則鑒頻鑒相器輸出為0,如果參考時(shí)鐘頻率比較大則鑒頻鑒相器輸出>1的值,如果參考時(shí)鐘頻率較小則鑒頻鑒相器輸出<1的值。

LF是環(huán)路濾波器,用于控制噪聲的帶寬,濾掉高頻噪聲,將帶有噪聲的波形變平滑。

VCO是壓控振蕩器,LF輸出的電壓越大,VCO輸出的頻率越高,然后將這個(gè)頻率信號(hào)連接到鑒頻鑒相器作為需要比較的頻率。

PLL的作用是讓期望得到的輸出時(shí)鐘與參考時(shí)鐘的頻率逐漸相等并穩(wěn)定。

倍頻的實(shí)現(xiàn): 在VCO后接一個(gè)分頻器,分頻后的pll_out頻率等于ref_clk頻率,那么pll_out頻率就是ref_clk頻率的倍頻

圖片

分頻的實(shí)現(xiàn): 在參考時(shí)鐘后接一個(gè)分頻器,ref_clk分頻后頻率等于pll_out頻率,那么pll_out是ref_clk的分頻

圖片

具體步驟

首先依然是創(chuàng)建prj,rtl,sim文件夾,prj中放工程,rtl中放綜合用的.v文件,sim中放testbench文件。建立工程,工程名為pll。工程名,頂層的文件名,頂層模塊名最好都保持一致,否則可能會(huì)報(bào)錯(cuò)。另外在prj文件中建立一個(gè)子文件夾ipcore用來(lái)放工程中可能用到的ip,ipcore文件夾下再放一個(gè)pll_ip文件夾,表示存放的是pll的ip。養(yǎng)成良好的習(xí)慣,有助于以后在復(fù)雜工程里方便的查找文件,也方便別人閱讀。然后打開(kāi)MegaWizard Plug,創(chuàng)建ip并配置ip:

Tools-MegaWizard Plug-In Manager-creat a new custom megafunction variation-next

圖片

圖片

圖片

后面配置擴(kuò)展頻譜時(shí)鐘和帶寬可編程,配置時(shí)鐘切換,PLL重新配置都用默認(rèn)項(xiàng),都是高級(jí)設(shè)置。到output clock設(shè)置頁(yè)面就要進(jìn)行輸出時(shí)鐘的參數(shù)配置。

圖片

我們將c0設(shè)置為輸入時(shí)鐘的2倍頻,c1設(shè)置為2分頻,c2設(shè)置為相移90°,c3設(shè)置為占空比20%,如下圖所示:

圖片

圖片

圖片

圖片

圖片

接下來(lái)是EDA配置界面,可以直接點(diǎn)擊“Next”。

圖片

這里顯示了我們?cè)?a target="_blank">仿真PLL IP核時(shí)所需要的Altera的仿真庫(kù),使用NativeLink聯(lián)合ModelSim的仿真時(shí)不需要關(guān)心這個(gè)仿真庫(kù),設(shè)置好NativeLink后系統(tǒng)會(huì)自動(dòng)幫我們添加這個(gè)仿真庫(kù)的,但如果使用ModelSim單獨(dú)進(jìn)行仿真時(shí)不添加該仿真庫(kù)就會(huì)報(bào)錯(cuò),這里提示了我們需要添加哪些庫(kù)才能夠滿足ModelSim的單獨(dú)仿真。

接下來(lái)是Summary(總體設(shè)置)界面,顯示的是配置好PLL IP核后要輸出的文件,其中“pll_ip.v”和“pll_ip.ppf”是默認(rèn)輸出的,不可以取消。此外我們?cè)賹ⅰ皃ll_ip_inst.v”這個(gè)實(shí)例化模板文件添加上,方便我們實(shí)例化時(shí)使用,其余的文件都不要勾選。

圖片

在彈出的頁(yè)面中勾選,可以把.qip文件添加到file目錄下

圖片

也可以手動(dòng)把.qip文件添加到file目錄下

圖片

創(chuàng)建和設(shè)置完Ip后可以觀察到ipcore文件夾中生成了.ppf文件,.qip文件,pll_ip.v文件,pll_ip_inst.v文件。

.qip文件可以通過(guò)手動(dòng)添加的方式或者彈窗確定的方式添加到工程結(jié)構(gòu)中。

pll_ip.v和pll_ip_inst.v文件是根據(jù)我們?cè)O(shè)置好的ip參數(shù)生成的,如果不想改變輸出時(shí)鐘就不要改變里面的內(nèi)容。pll的ip(atpll)可以看作一個(gè)器件,我們不需要也不能了解內(nèi)部構(gòu)造,只能通過(guò)配置參數(shù)進(jìn)行設(shè)計(jì),得到想要的輸出。我們通過(guò)圖形化界面的配置會(huì)生成pll_ip.v文件,文件中定義了pll_ip module,輸入是我們定義的50MHz的時(shí)鐘,輸出是我們定義的c0,c1,c2,c3和locked。實(shí)例化atpll黑匣子模塊,將定義的6個(gè)輸入輸出與atpll模塊相連,我們的pll_ip模塊就具有了自定義的鎖相環(huán)功能,其他引腳沒(méi)有被使用,就是默認(rèn)的配置。還生成了pll_ip_inst.v文件,是將pll_ip模塊進(jìn)行實(shí)例化。

接下來(lái)需要將pll的ip當(dāng)作一個(gè)子模塊,實(shí)例化并調(diào)用它,寫(xiě)成頂層模塊pll

編寫(xiě)代碼

module pll
(
input wire sys_clk , 
output wire clk_mul_2 , //2倍頻后的時(shí)鐘
output wire clk_div_2 , //2分頻后的時(shí)鐘
output wire clk_phase_90 , //相移90°后的時(shí)鐘
output wire clk_ducle_20 , //占空比為20%的時(shí)鐘
output wire locked //檢測(cè)鎖相環(huán)是否已經(jīng)鎖定,只有該信號(hào)為高時(shí)輸出的時(shí)鐘才是穩(wěn)定的
 );


 pll_ip pll_ip_inst
 (
 .inclk0 (sys_clk ), 
 .c0 (clk_mul_2 ), 
 .c1 (clk_div_2 ), 
 .c2 (clk_phase_90 ), 
 .c3 (clk_ducle_20 ),
 .locked (locked )
 );


 endmodule

pll模塊的輸入為系統(tǒng)時(shí)鐘50MHz,輸出信號(hào)名稱分別對(duì)應(yīng)各自的特性

pll_ip模塊中定義的輸入和輸出引腳,在實(shí)例化時(shí),通過(guò)信號(hào)名稱關(guān)聯(lián)進(jìn)行引用。c0就是2倍頻,c1就是2分頻...

圖片

Testbench

Testbench文件是tb_pll.v,testbench的原理是將頂層模塊作為待測(cè)件DUT,定義一個(gè)時(shí)鐘輸入作為DUT的激勵(lì),并觀察輸出波形,如果得到了預(yù)想的波形說(shuō)明我們的程序沒(méi)有問(wèn)題。模塊必須要經(jīng)過(guò)實(shí)例化才能調(diào)用,這里想調(diào)用頂層模塊作為被測(cè)件,我們需要實(shí)例化pll.v并重新連接輸入輸出。

`timescale 1ns/1ns
module tb_pll();


 reg sys_clk;
 wire clk_mul_2 ;
 wire clk_div_2 ;
 wire clk_phase_90;
 wire clk_ducle_20;
 wire locked ;


 //初始化系統(tǒng)時(shí)鐘
 initial sys_clk = 1'b1;


 //sys_clk:模擬系統(tǒng)時(shí)鐘,每10ns電平翻轉(zhuǎn)一次,周期為20ns,頻率為50MHz
 always #10 sys_clk = ~sys_clk;


 pll pll_inst(
 .sys_clk (sys_clk ), //input sys_clk
 .clk_mul_2 (clk_mul_2 ), //output clk_mul_2
 .clk_div_2 (clk_div_2 ), //output clk_div_2
 .clk_phase_90 (clk_phase_90 ), //output clk_phase_90
 .clk_ducle_20 (clk_ducle_20 ), //output clk_ducle_20
 .locked (locked ) //output locked
 );


 endmodule

時(shí)鐘信號(hào)用寄存器reg變量進(jìn)行定義,剩下的幾個(gè)輸出變量都用wire等同于物理連線。

初始化:時(shí)鐘初始為高電平

模擬系統(tǒng)時(shí)鐘:我們需要給DUT一個(gè)激勵(lì)時(shí)鐘,頻率為50MHz,因此每延時(shí)10ns要翻轉(zhuǎn)一次電平

實(shí)例化pll模塊:用物理連線將tb_pll模塊的輸入輸出和pll模塊的輸入輸出連接,那么tb_pll的輸出就是DUT對(duì)模擬系統(tǒng)時(shí)鐘的響應(yīng)。通過(guò)modelsim觀察輸出信號(hào),就可以判斷是否達(dá)到理想結(jié)果。

波形分析

圖片

和預(yù)想一致

說(shuō)在后面:IP核給我們一種很好的學(xué)習(xí)思路,在使用一個(gè)模塊時(shí),可以先不必看懂他的代碼,只需要根據(jù)模塊的作用進(jìn)行實(shí)例化就可以完成我們想要的設(shè)計(jì)!

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

    關(guān)注

    1645

    文章

    22040

    瀏覽量

    618173
  • 半導(dǎo)體
    +關(guān)注

    關(guān)注

    335

    文章

    28886

    瀏覽量

    237498
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    400

    瀏覽量

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

    關(guān)注

    6

    文章

    889

    瀏覽量

    136399
  • IP核
    +關(guān)注

    關(guān)注

    4

    文章

    338

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    關(guān)于FPGA IP

    對(duì)于深入學(xué)習(xí)使用FPGA的小伙伴們,特別是一些復(fù)雜的、大規(guī)模的設(shè)計(jì)應(yīng)用,適宜的IP核對(duì)開(kāi)發(fā)能起到事半功倍的作用。IP的概念與我們sdk里庫(kù)
    發(fā)表于 04-29 21:01

    FPGAIP使用技巧

    的工作原理、使用方法和限制條件。 參數(shù)化配置 : 如果IP提供了參數(shù)化配置選項(xiàng),可以根據(jù)項(xiàng)目需求進(jìn)行配置。例如,對(duì)于RAM IP,
    發(fā)表于 05-27 16:13

    FPGA IP的相關(guān)問(wèn)題

    我用的是xinlinx spartan6 FPGA,我想知道它的IPRAM是與FPGA獨(dú)立的,只是集成在了一起呢,還是占用了FPGA的資源
    發(fā)表于 01-10 17:19

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

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

    xilinx FPGA的FFT IP的調(diào)用

    有沒(méi)有大神可以提供xilinx FPGA的FFT IP的調(diào)用的verilog 的參考程序,最近在學(xué)習(xí)FFT的IP
    發(fā)表于 12-25 17:05

    勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載63:PLL IP創(chuàng)建于配置

    `勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載63:PLL IP創(chuàng)建于配置特權(quán)同學(xué),版權(quán)所有配套例程和更多資料下載鏈接:http://pan.baidu.com/s/1i5LMUUD
    發(fā)表于 04-20 21:45

    LabVIEW FPGA CORDIC IP的arctan使用方法

    使用LabVIEW FPGA模塊中的CORDIC IP,配置arctan(X/Y)算法,配置完成之后,IP只有一個(gè)輸入。我參考網(wǎng)上VHD
    發(fā)表于 09-10 20:07

    【雨的FPGA筆記】基礎(chǔ)實(shí)踐-------IPPLL的使用

    的時(shí)鐘。首先建立一個(gè)文件在ip目錄里搜索ALTPLL然后在工程文件的par文件里建立一個(gè)文件夾ipcore將剛剛的變化保存到文件里命名為pll_clk然后點(diǎn)擊ok就會(huì)出現(xiàn)配置過(guò)程界面FPGA
    發(fā)表于 01-13 18:13

    正點(diǎn)原子開(kāi)拓者FPGA開(kāi)發(fā)板資料連載第十三章 IPPLL實(shí)驗(yàn)

    往往需要使用多個(gè)時(shí)鐘和時(shí)鐘相位的偏移,且通過(guò)編寫(xiě)代碼輸出的時(shí)鐘無(wú)法實(shí)現(xiàn)時(shí)鐘的倍頻,因此學(xué)習(xí)Altera PLL IP使用方法是我們
    發(fā)表于 07-30 14:58

    基于IPFPGA設(shè)計(jì)方法是什么?

    的分類和特點(diǎn)是什么?基于IPFPGA設(shè)計(jì)方法是什么?
    發(fā)表于 05-08 07:07

    FPGAIP的生成

    FPGAIP的生成,簡(jiǎn)單介紹Quartus II生成IP的基本操作,簡(jiǎn)單實(shí)用挺不錯(cuò)的資料
    發(fā)表于 11-30 17:36 ?12次下載

    FPGA中配置PLL的步驟及使用方法

    FPGA中配置PLL的步驟及使用方法
    發(fā)表于 05-28 10:01 ?21次下載

    FPGA學(xué)習(xí)筆記:ROM IP使用方法

    上一篇介紹了常用的鎖相環(huán)IP,這一節(jié)將介紹一種較為常用的 存儲(chǔ)類IP ——ROM的使用方法。ROM是 只讀存儲(chǔ)器 (Read-Only Memory),顧名思義,我們只能讀出事先存放
    的頭像 發(fā)表于 08-22 15:06 ?6785次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>:ROM <b class='flag-5'>IP</b><b class='flag-5'>核</b>的<b class='flag-5'>使用方法</b>

    FPGA學(xué)習(xí)筆記:RAM IP使用方法

    我們知道除了只讀存儲(chǔ)器外還有隨機(jī)存取存儲(chǔ)器,這一篇將介紹另一種 存儲(chǔ)類IP ——RAM的使用方法。RAM是 隨機(jī)存取存儲(chǔ)器 (Random Access Memory),是一個(gè)易失性存儲(chǔ)器,斷電丟失。RAM工作時(shí)可以隨時(shí)從任何
    的頭像 發(fā)表于 08-29 16:46 ?4886次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>:RAM <b class='flag-5'>IP</b><b class='flag-5'>核</b>的<b class='flag-5'>使用方法</b>

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

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