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

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

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

教你打包一個(gè)自己的Vivado IP核

C29F_xilinx_inc ? 來(lái)源:賽靈思 ? 作者:賽靈思 ? 2022-02-16 16:21 ? 次閱讀

寫在前面
模塊復(fù)用是邏輯設(shè)計(jì)人員必須掌握的一個(gè)基本功,通過(guò)將成熟模塊打包成IP核,可實(shí)現(xiàn)重復(fù)利用,避免重復(fù)造輪子,大幅提高我們的開發(fā)效率。

接下來(lái)將之前設(shè)計(jì)的串口接收模塊和串口發(fā)送模塊打包成IP核,再分別調(diào)用這兩個(gè)IP核,構(gòu)成串口接收--發(fā)送循回,依次驗(yàn)證IP核打包及調(diào)用是否成功。

源碼在這:串口(UART)的FPGA實(shí)現(xiàn)
Vivado版本:Vivado 2019.2
開發(fā)板:xc7a35tfgg484-2

打包
打包串口發(fā)送模塊uart_tx
1、首先打開發(fā)送模塊的VIVADO工程,確保其編譯無(wú)誤(最好進(jìn)行仿真驗(yàn)證、上板驗(yàn)證保證其功能正確性),如下:

pYYBAGIMo_yABsTrAAMHlQrWHB4743.png

2、點(diǎn)擊Tools-----create and package new ip

pYYBAGIMpACAWISXAAMBQAPDSzQ092.png

3、點(diǎn)擊Next

poYBAGIMpAWAPR_1AAD9jNhcBfw163.png

4、選擇選項(xiàng)1,點(diǎn)擊Next,各選項(xiàng)含義:

1---將當(dāng)前工程打包為IP核
2----將當(dāng)前工程的模塊設(shè)計(jì)打包為IP核
3----將一個(gè)特定的文件夾目錄打包為IP核
4----創(chuàng)建一個(gè)帶AXI接口的IP核

pYYBAGIMpAaAB45PAAEqFIqEUzE531.png

5、選擇IP存放路徑,建議專門建一個(gè)文件夾來(lái)管理所有建立的IP核,然后點(diǎn)擊Next

pYYBAGIMpAiAV82jAACNaOVmEtw253.png

6、點(diǎn)擊OK,然后點(diǎn)擊NEXT,會(huì)自動(dòng)創(chuàng)建一個(gè)新工程,用來(lái)生成IP核

poYBAGIMpAqAdgdcAABWNls8zrM557.png

pYYBAGIMpAyAMlAnAAECdtH1svM113.png

7、新生成的IP核打包工程如下:

poYBAGIMpA-AbvvmAAMt5Lrk1r4613.png

在右邊的界面可以配置一系列參數(shù)

Identification:主要是一系列信息,如IP名字,開發(fā)者、版本號(hào)等。因?yàn)楸疚膬H作示范,所以我這邊所有信息都沒改

compatibility:兼容的系列,這里根據(jù)自己需求添加所需要的系列芯片就好了。我這邊保持默認(rèn)

file groups:IP核的文件架構(gòu),可以添加或刪除文件。比如添加仿真文件、例化文件,說(shuō)明文件等。我這邊保持默認(rèn)

Customization Parameters:定制化參數(shù)??蓪?duì)參數(shù)進(jìn)行自己的配置,如參數(shù)名稱啊,類型啊,自定義區(qū)間,可選列表等。

poYBAGIMpBGAV_3iAADLTjk43Ak600.png

點(diǎn)擊BPS----edit parameter,對(duì)參數(shù)進(jìn)行配置(該參數(shù)為串口模塊的波特率)

pYYBAGIMpBOAMp8zAADz-DjP5Dk836.png

將格式Format改為long類型,再勾上Specify Range,Type改成List of values,再添加3個(gè)參數(shù)(僅作示范)--4800、9600、115200。再將默認(rèn)值Default value改為9600。這樣就將該參數(shù)配置成了可選參數(shù),默認(rèn)9600,可選值:4800、9600、115200。

再使用同樣的方法將參數(shù)CLK_FRE(模塊時(shí)鐘頻率)改為long類型,默認(rèn)50000000.

pYYBAGIMpBWAf6IWAADDZbwsRHk284.png

pYYBAGIMpBeAASzUAADAdXjhvpc930.png

Ports and Interfaces:這里展示了IP的接口,可根據(jù)需求添加、刪除接口或者總線。

poYBAGIMpBqAVHwLAADGsXDuKJY836.png

需要說(shuō)明的是,這里很容易報(bào)警告:

poYBAGIMpByAVN96AADVip-X2Bo219.png

這個(gè)警告是因?yàn)镮P核打包器在設(shè)計(jì)中推斷出了時(shí)鐘端口或是復(fù)位端口。例如:如果信號(hào)名稱包含以下任何一種:[ ]clk,[ ]clkin, [ ]clock[ ], [ ]aclk 或 [ ]aclkin,那么IP打包器就會(huì)為將其判斷成為時(shí)鐘接口。被自動(dòng)判斷出的接口,IP打包器會(huì)傾向于認(rèn)為你使用AXI接口來(lái)處理這個(gè)信號(hào),因?yàn)镮P打包器工具主要是針對(duì)于AXI接口。所以如果你的IP中并不使用AXI總線,這兩條警告可以直接忽略,在實(shí)際的IP中不會(huì)有任何的影響。

Addressing and Memory:地址分配和儲(chǔ)存映射。本設(shè)計(jì)用不到,直接跳過(guò),感興趣的可以看XILINX的手冊(cè)UG1118。

Customization GUI:參數(shù)設(shè)置的GUI界面??梢詫?duì)以后配置IP核的界面做一個(gè)修改??梢钥吹?,紅框內(nèi)的參數(shù)都是我設(shè)置好的默認(rèn)值。

pYYBAGIMpB6AGuo0AADNicZ4bY8834.png

Review and Package:IP核總覽及生成界面。點(diǎn)擊Package IP完成IP打包

poYBAGIMpCGASAbKAADJCoYaKPM740.png

IP核成功打包,如下:

pYYBAGIMpCKAMgy7AABCLqYzQuE836.png

打包串口接收模塊uart_rx
使用同樣的方法把串口接收模塊也打包成IP。

調(diào)用
接下來(lái)分別調(diào)用這兩個(gè)IP核,構(gòu)成串口接收--發(fā)送循回,依次驗(yàn)證IP核打包及調(diào)用是否成功。

首先新建一個(gè)工程,點(diǎn)擊Settings----IP----Repository, 添加IP核所在路徑:

poYBAGIMpCWAPBbYAADnM0_GBRA751.png

點(diǎn)擊 create block design,新建一個(gè)BD模塊,建議名稱與項(xiàng)目名稱一致。

poYBAGIMpCeAF31_AACZtKO5_hU045.png

在BD編輯窗口添加IP,搜uart就出現(xiàn)了我們打包的兩個(gè)IP核:

pYYBAGIMpCmAMujaAACdJivCH-Y898.png

分別添加串口發(fā)送模塊和串口接收模塊:

pYYBAGIMpCyAGXefAACtd6YcwbU890.png

把對(duì)外的四個(gè)端口(clk,rst,txd,rxd)引出來(lái),右擊sys_clk,點(diǎn)擊make external ,其他三個(gè)端口操作一致;再把對(duì)應(yīng)的線連接,然后點(diǎn)擊regenerate layout:

pYYBAGIMpC-AIkTnAAC89O6UruY167.png

這里我們的 Block Design 就設(shè)計(jì)完成了,在 Diagram 窗口空白處右擊,然后選擇“Validate Design” 驗(yàn)證設(shè)計(jì)。驗(yàn)證完成后彈出對(duì)話框提示“Validation Successful”表明設(shè)計(jì)無(wú)誤,點(diǎn)擊“OK”確認(rèn)。最后按 快捷鍵“Ctrl+S”保存設(shè)計(jì)。

接下來(lái)在 Source 窗口中右鍵點(diǎn)擊 Block Design 設(shè)計(jì)文件“system.bd”,然后依次執(zhí)行“Generate Output Products”和“Create HDL Wrapper”。

然后添加管腳約束,生成bit流文件。

測(cè)試
下載bit流文件,使用串口調(diào)試助手發(fā)送一包數(shù)據(jù)給FPGA,理論上FPGA馬上回相同的信息給串口調(diào)試助手(此時(shí)串口波特率9600):

pYYBAGIMpDKAPPtpAACk8dKg9yQ410.png

返回設(shè)計(jì)階段,點(diǎn)擊IP核框圖,將波特率改為115200,如下:

poYBAGIMpDOAEBBxAAB3-PzuGh4305.png

重新生成并下載bit流文件,使用串口調(diào)試助手發(fā)送一包數(shù)據(jù)給FPGA,理論上FPGA馬上回相同的信息給串口調(diào)試助手(此時(shí)串口波特率115200):

pYYBAGIMpDaASCZ5AACj6FlWebA200.png

參考資料
UG1118----Creating and Packaging Custom IP

米聯(lián)客----XILINX 7 系列 FPGA 基礎(chǔ)入門

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • IP核
    +關(guān)注

    關(guān)注

    4

    文章

    326

    瀏覽量

    49384
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    806

    瀏覽量

    66246
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    vivado導(dǎo)入舊版本的項(xiàng)目,IP核心被鎖。

    vivado導(dǎo)入其他版本的項(xiàng)目的時(shí)候,IP被鎖,無(wú)法解開,請(qǐng)問(wèn)該如何解決。 使用軟件:vivado 2019.2 導(dǎo)入項(xiàng)目使用版本:vivado
    發(fā)表于 11-08 21:29

    Vivado中FFT IP的使用教程

    本文介紹了Vidado中FFT IP的使用,具體內(nèi)容為:調(diào)用IP>>配置界面介紹>>IP
    的頭像 發(fā)表于 11-06 09:51 ?234次閱讀
    <b class='flag-5'>Vivado</b>中FFT <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用教程

    芯驛電子 ALINX 推出全新 IP 產(chǎn)品線,覆蓋 TCP/UDP/NVMe AXI IP

    在創(chuàng)新加速的浪潮中,為更好地響應(yīng)客戶群需求, 芯驛電子 ALINX 推出全新 IP 產(chǎn)品線 ,致力于為高性能數(shù)據(jù)傳輸和復(fù)雜計(jì)算需求提供 高帶寬、低延遲 的解決方案。發(fā)布的第IP
    的頭像 發(fā)表于 10-30 17:39 ?200次閱讀
     芯驛電子 ALINX 推出全新 <b class='flag-5'>IP</b> <b class='flag-5'>核</b>產(chǎn)品線,覆蓋 TCP/UDP/NVMe AXI <b class='flag-5'>IP</b> <b class='flag-5'>核</b>

    芯驛電子ALINX推出全新IP產(chǎn)品線

    在創(chuàng)新加速的浪潮中,為更好地響應(yīng)客戶群需求,芯驛電子 ALINX 推出全新 IP 產(chǎn)品線,致力于為高性能數(shù)據(jù)傳輸和復(fù)雜計(jì)算需求提供高帶寬、低延遲的解決方案。發(fā)布的第IP
    的頭像 發(fā)表于 10-30 11:53 ?164次閱讀
    芯驛電子ALINX推出全新<b class='flag-5'>IP</b><b class='flag-5'>核</b>產(chǎn)品線

    Xilinx DDS IP的使用和參數(shù)配置

    用RAM實(shí)現(xiàn)個(gè)DDS,從原理上來(lái)說(shuō)很簡(jiǎn)單,在實(shí)際使用的時(shí)候,可能沒有直接使用官方提供的IP來(lái)的方便。這個(gè)博客就記錄下,最近使用到的這個(gè)
    的頭像 發(fā)表于 10-25 16:54 ?278次閱讀
    Xilinx DDS <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用和參數(shù)配置

    如何申請(qǐng)xilinx IP的license

    在使用FPGA的時(shí)候,有些IP是需要申請(qǐng)后才能使用的,本文介紹如何申請(qǐng)xilinx IP的license。
    的頭像 發(fā)表于 10-25 16:48 ?170次閱讀
    如何申請(qǐng)xilinx <b class='flag-5'>IP</b><b class='flag-5'>核</b>的license

    FPGA的IP使用技巧

    仿真,需要經(jīng)過(guò)綜合以及布局布線才能使用。 IP的優(yōu)點(diǎn)在于其靈活性高、可移植性強(qiáng),允許用戶自配置。然而,其缺點(diǎn)在于對(duì)模塊的預(yù)測(cè)性較低,在后續(xù)設(shè)計(jì)中存在發(fā)生錯(cuò)誤的可能性,有定的設(shè)計(jì)風(fēng)險(xiǎn)。 選擇合適
    發(fā)表于 05-27 16:13

    關(guān)于FPGA IP

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

    Vivado 使用Simulink設(shè)計(jì)FIR濾波器

    vivado工程 System Generator提供了幾種導(dǎo)入方法: 1、直接生成hdl網(wǎng)表文件。 生成的.v或.vhd文件直接例化dsp的IP,用戶可直接將代碼文件添加至
    發(fā)表于 04-17 17:29

    如何禁止vivado自動(dòng)生成 bufg

    Vivado中禁止自動(dòng)生成BUFG(Buffered Clock Gate)可以通過(guò)以下步驟實(shí)現(xiàn)。 首先,讓我們簡(jiǎn)要了解下什么是BUFG。BUFG是個(gè)時(shí)鐘緩沖器,用于緩沖輸入時(shí)鐘
    的頭像 發(fā)表于 01-05 14:31 ?1882次閱讀

    FPGA優(yōu)質(zhì)開源模塊-SRIO IP的使用

    本文介紹個(gè)FPGA常用模塊:SRIO(Serial RapidIO)。SRIO協(xié)議是種高速串行通信協(xié)議,在我參與的項(xiàng)目中主要是用于FPGA和DSP之間的高速通信。有關(guān)SRIO協(xié)議的詳細(xì)介紹網(wǎng)上有很多,本文主要簡(jiǎn)單介紹
    的頭像 發(fā)表于 12-12 09:19 ?2053次閱讀
    FPGA優(yōu)質(zhì)開源模塊-SRIO <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用

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

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

    AMD Versal系列CIPS IP建立示例工程

    接著上篇“AMD Versal系列CIPS IP介紹”文章來(lái)進(jìn)步講解如何來(lái)建立CIPS IP核示例工程。
    的頭像 發(fā)表于 12-05 13:34 ?617次閱讀
    AMD Versal系列CIPS <b class='flag-5'>IP</b><b class='flag-5'>核</b>建立示例工程

    FPGA新IP學(xué)習(xí)的正確打開方式

    的情況時(shí),總會(huì)遇到些以前未曾接觸過(guò)的新內(nèi)容,這些新內(nèi)容會(huì)讓我們感到陌生和恐懼,不知道該如何下手。 那么今天以xilinx vivado 為例分享學(xué)習(xí)FPGA 新IP的正確打開方式
    發(fā)表于 11-17 11:09

    LCD的通用驅(qū)動(dòng)電路IP設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《LCD的通用驅(qū)動(dòng)電路IP設(shè)計(jì).doc》資料免費(fèi)下載
    發(fā)表于 11-15 11:15 ?1次下載
    LCD的通用驅(qū)動(dòng)電路<b class='flag-5'>IP</b><b class='flag-5'>核</b>設(shè)計(jì)