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

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

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

Vivado創(chuàng)建不包含源文件的IP

OpenFPGA ? 來(lái)源: Hack電子 ? 2023-12-06 09:01 ? 次閱讀

有時(shí)候我們想?yún)⒖脊俜降脑创a,但是有些IP怎么也找不到官方的源碼,具體原因是什么呢?

下面從下面兩種Vivado創(chuàng)建IP的流程看下具體的原因:

83976568-93cf-11ee-939d-92fbcf53809c.png

所謂“數(shù)字積木”,就是Vivado集成開(kāi)發(fā)環(huán)境基于IP的 “積木塊”設(shè)計(jì)思想。

VIvado中IP定制化流程如下:

83ad0cce-93cf-11ee-939d-92fbcf53809c.png

來(lái)源UG896

IP目錄將來(lái)自下面的IP統(tǒng)一到一個(gè)環(huán)境中,這些IP包括XilinxIP、第三方IP和用戶(hù)IP。

基于IP-XACT標(biāo)準(zhǔn),VivadoIP封裝器工具提供了獨(dú)一無(wú)二的“重用”特性。IP封裝器為Vivado的任何用戶(hù)提供了一種能力,即將設(shè)計(jì)流程任意階段的一個(gè)設(shè)計(jì)進(jìn)行封裝,然后將該IP作為一個(gè)系統(tǒng)級(jí)的IP進(jìn)行使用。

創(chuàng)建不包含源文件的IP

上面建立的IP可以很方便操作一下看到源文件,實(shí)際使用過(guò)程中IP作為知識(shí)產(chǎn)權(quán)的成果,設(shè)計(jì)者并不希望公開(kāi)IP核的源代碼,下面將帶你建立一個(gè)不包含源文件的IP。

第一步:在操作系統(tǒng)下,執(zhí)行菜單命令【開(kāi)始】-【所有程序】-【Xilinx Design Tools】-【Vivado2018】點(diǎn)擊【Vivado2018】,啟動(dòng)Vivado集成開(kāi)發(fā)環(huán)境。

83c27ca8-93cf-11ee-939d-92fbcf53809c.png

第二步:在“Vivado2018”主界面下,選擇“Create New Project”選項(xiàng),彈出“New Project-Createa New Vivado Project”對(duì)話框。

第三步:?jiǎn)螕簟綨ext】按鈕,彈出“New Project”對(duì)話框。在該對(duì)話框中,按如下參數(shù)進(jìn)行設(shè)置。

(1)Project name:gateip;

(2)Project location:XXXtest;

(3)選中“Create project subdirectory”前面的復(fù)選框。

83d27496-93cf-11ee-939d-92fbcf53809c.png

第四步:?jiǎn)螕簟綨ext】按鈕,彈出“New Project-Project Type”對(duì)話框。在該對(duì)話框中,按如下參數(shù)進(jìn)行設(shè)置。

(1)選中“RTL Project”前面的復(fù)選框;

(2)其他按默認(rèn)設(shè)置。

83dffa30-93cf-11ee-939d-92fbcf53809c.png

第七步:?jiǎn)螕簟綨ext】按鈕,彈出“New Project-Default Part”對(duì)話框。在該對(duì)話框中,選擇器件“xc7k325tffg900-2”。

83f3844c-93cf-11ee-939d-92fbcf53809c.png

第八步:?jiǎn)螕簟綨ext】按鈕,彈出“New Project-New Project Summary”對(duì)話框。

84082406-93cf-11ee-939d-92fbcf53809c.png

第九步:?jiǎn)螕簟綟inish】按鈕。

至此,完成新工程的創(chuàng)建。

84226b90-93cf-11ee-939d-92fbcf53809c.png

接下來(lái)添加文件

第一步:【Flow Navigateor】-【Add source】按鈕

842fec8e-93cf-11ee-939d-92fbcf53809c.png

彈出“Add Sources“對(duì)話框。在該對(duì)話框中,單擊【Add or crete design source】按鈕,彈出“Add Source Files”對(duì)話框。在該對(duì)話框中,定位到XXXXsource路徑。

843ff5b6-93cf-11ee-939d-92fbcf53809c.png

在該路徑下,選擇gate.v文件。可以看到在“Add Sources”對(duì)話框中添加了gate.v文件,并且注意下面的設(shè)置。

844a5056-93cf-11ee-939d-92fbcf53809c.png

gate.v文件

8453c172-93cf-11ee-939d-92fbcf53809c.png

第六步:?jiǎn)螕簟綟inish】按鈕。

第七步:Vivado成開(kāi)發(fā)環(huán)境界面左側(cè)的“Flow Navigator”窗口中找到并展開(kāi)“SYNTHESIS”選項(xiàng)。在展開(kāi)項(xiàng)中,選擇“Run Synthesis”選項(xiàng),Vivado開(kāi)始對(duì)該設(shè)計(jì)執(zhí)行綜合過(guò)程。

846b71c8-93cf-11ee-939d-92fbcf53809c.png

第八步:運(yùn)行完綜合過(guò)程后,彈出“Synthesis Completed”對(duì)話框。在該對(duì)話框中,選擇“Open Synthesized Design”前面的復(fù)選框。

84892c7c-93cf-11ee-939d-92fbcf53809c.png

第九步:自動(dòng)打開(kāi)綜合后的設(shè)計(jì)。在Vivado當(dāng)前設(shè)計(jì)界面底部的“Tel Console”窗口中輸入“write_edif F:/FILE/FPGA/ZYNQ/test/gateip/ip/gate.edf”命令,將gate.edf文件寫(xiě)到選擇的目錄下。

84948162-93cf-11ee-939d-92fbcf53809c.png

創(chuàng)建新的設(shè)計(jì)工程

第一步:?jiǎn)?dòng)Vivado集成開(kāi)發(fā)環(huán)境。

第二步:在“Vivado2018”主界面下,選擇“Create New Project”選項(xiàng),彈出“New Project-Createa New Vivado Project”對(duì)話框。

第三步:?jiǎn)螕簟綨ext】按鈕,彈出“New Project”對(duì)話框。按照實(shí)際進(jìn)行設(shè)置即可。

第四步:?jiǎn)螕簟綨ext】按鈕,彈出“New Project-Project Type”對(duì)話框。在該對(duì)話框中,按如下參數(shù)進(jìn)行設(shè)置。

(1)選中“RTL Project”前面的復(fù)選框。

(2)其他按默認(rèn)設(shè)置。

84a89832-93cf-11ee-939d-92fbcf53809c.png

第五步:?jiǎn)螕簟綨ext】按鈕,彈出“New Project-Add Sources“對(duì)話框。在該對(duì)話框中,單擊【Add Files...】按鈕,彈出“Add Source Files”對(duì)話框。在該對(duì)話框中,定位到gate.edf文件??梢钥吹皆凇癆dd Sources”對(duì)話框中添加了gate.v文件,并且注意下面的設(shè)置。

(1)在該對(duì)話框中,選中“Copy sources into project”前面的復(fù)選框。

(2)Target language:Verilog。

(3)Simulator language:Verilog。

84b2019c-93cf-11ee-939d-92fbcf53809c.png

第六步:?jiǎn)螕簟綨ext】按鈕,彈出“New Project-Add Constraints(optional)”對(duì)話框。

84ce480c-93cf-11ee-939d-92fbcf53809c.png

第七步:?jiǎn)螕簟綨EXT】按鈕,彈出對(duì)話框中,選擇器件

第八步:?jiǎn)螕簟綨ext】按鈕,彈出“New Project-New Project Summary”對(duì)話框。

第九步:?jiǎn)螕簟綟inish】按鈕。

至此,完成新工程的創(chuàng)建。

設(shè)置定制IP的庫(kù)名和目錄

第一步:在Vivado當(dāng)前工程主界面左側(cè)的“Flow Navigator”窗口中找到并展開(kāi)“PROJECT MANAGER”選項(xiàng)。在展開(kāi)項(xiàng)中,選擇“Settings”選項(xiàng)。

第二步:彈出“Settings”對(duì)話框。在該對(duì)話框左側(cè)的窗口中,找到并展開(kāi)“IP”選項(xiàng)。在展開(kāi)項(xiàng)中,找到并選擇“Packager”選項(xiàng)。在對(duì)話框右側(cè)的窗口中,按如下參數(shù)進(jìn)行設(shè)置。

84dc972c-93cf-11ee-939d-92fbcf53809c.png

第三步:?jiǎn)螕簟綩K】按鈕,退出“Settings”對(duì)話框。

封裝定制IP的實(shí)現(xiàn)

封裝IP的步驟如下所示。

第一步:在Vivado當(dāng)前工程主界面的主菜單下,執(zhí)行菜單命令【Tools】-【Createand IP Package...】;

84f1e7e4-93cf-11ee-939d-92fbcf53809c.png

第二步:彈出“Create and Package New IP”對(duì)話框。

850daa1a-93cf-11ee-939d-92fbcf53809c.png

第三步:?jiǎn)螕簟綨ext】按鈕。

第四步:彈出“Create and Package New IP-Create Peripheral,Package IP or Packagea Block Design”對(duì)話框。在該對(duì)話框中,選中“Package your current project”前面的復(fù)選框。

852361e8-93cf-11ee-939d-92fbcf53809c.png

第五步:?jiǎn)螕簟綨ext】按鈕,彈出“Create and Package New IP-Package Your Current Project”對(duì)話框。在該對(duì)話框中,按默認(rèn)參數(shù)設(shè)置;

852cee70-93cf-11ee-939d-92fbcf53809c.png

第六步:?jiǎn)螕簟綨ext】按鈕,彈出“Create and Package New IP-New IP Creation”對(duì)話框。

853e1fba-93cf-11ee-939d-92fbcf53809c.png

第七步:?jiǎn)螕簟綟inish】按鈕,彈出“Package IP”提示對(duì)話框。

第八步:?jiǎn)螕簟綩K】按鈕,在Vivado右側(cè)窗口中,出現(xiàn)配置IP參數(shù)的界面。如圖所示,給出了“Identification”參數(shù)配置對(duì)話框。在該對(duì)話框中,按如下參數(shù)進(jìn)行設(shè)置。

85510eb8-93cf-11ee-939d-92fbcf53809c.png

(1)Library:userdefme(與前面聲明的庫(kù)名稱(chēng)一致)。

(2)Name:gate

(3)Verison:1.0

(3)Display name:gate_v1_0

(4)Description: 2 input multi_gate with same DELAY configuration parameter

(5)Vendor display name:GPNT

(6)Companyurl:空著即可

(7)其他按默認(rèn)參數(shù)設(shè)置。

第九步:選擇“Compatibility”選項(xiàng)。

856db856-93cf-11ee-939d-92fbcf53809c.png

第十步:彈出如圖所示的“Compatibility”參數(shù)配置對(duì)話框,該配置對(duì)話框用于確認(rèn)該IP所支持的FPGA的類(lèi)型

第十一步:?jiǎn)螕簟癋ile Groups”選項(xiàng),彈出如圖所示的“File Groups”參數(shù)配置對(duì)話框

8588d6c2-93cf-11ee-939d-92fbcf53809c.png

在該對(duì)話框中,設(shè)計(jì)者可以添加一些額外的文件,如測(cè)試平臺(tái)文件。

第十二步:?jiǎn)螕?“Customization Parameters”選項(xiàng)。

看到此時(shí)的界面為空的,并沒(méi)有像前面封裝包含源文件IP的時(shí)候出現(xiàn)“DELAY”參數(shù),這是因?yàn)椤癉ELAY”參數(shù)對(duì)于Verilog HDL而言是行為級(jí)描述,在綜合的時(shí)候不起任何作用。所以,在對(duì)設(shè)計(jì)綜合后,讀者看不到“DELAY”參數(shù)。

第十三步:?jiǎn)螕簟癈ustomization GUI”選項(xiàng),彈出如圖所示的“Customization GUI”對(duì)話框。該對(duì)話框給出了輸入/輸出端口,以及帶有默認(rèn)值的參數(shù)選項(xiàng)。

859244be-93cf-11ee-939d-92fbcf53809c.png

第十四步:選擇 “Review and Package”選項(xiàng),彈出“Review and Package”對(duì)話框,在該對(duì)話框中單擊【Package IP】按鈕,如圖所示。

85a7db1c-93cf-11ee-939d-92fbcf53809c.png

第十八步:彈出“Package IP”對(duì)話框,提不“Finished packaging ‘gate_v_l_0’successfully”消息,提示封裝IP成功。

85c4a648-93cf-11ee-939d-92fbcf53809c.png

第十九步:?jiǎn)螕簟綩K】按鈕。

第二十步:在Vivado當(dāng)前工程主界面的主菜單下,執(zhí)行菜單命令【File】-【Close Project】,關(guān)閉當(dāng)前的工程。

調(diào)用并驗(yàn)證不包含源文件的IP 設(shè)計(jì)

調(diào)用和使用完全和之前的章節(jié)一樣,這里就不再贅述。

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1715

    瀏覽量

    149710
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    648

    瀏覽量

    29310
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    815

    瀏覽量

    66702
  • 源文件
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    4601

原文標(biāo)題:【Vivado那些事】創(chuàng)建不包含源文件的IP

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PYNQ設(shè)計(jì)案例:基于HDL語(yǔ)言+Vivado的自定義IP創(chuàng)建

    作者:Mculover666 1.實(shí)驗(yàn)?zāi)康?用HDL語(yǔ)言+Vivado創(chuàng)建一個(gè)掛載在AXI總線上的自定義IP核 2.實(shí)驗(yàn)步驟 2.1.創(chuàng)建一個(gè)新的項(xiàng)目 ? ? 2.2.調(diào)用Create
    的頭像 發(fā)表于 12-21 16:34 ?3487次閱讀
    PYNQ設(shè)計(jì)案例:基于HDL語(yǔ)言+<b class='flag-5'>Vivado</b>的自定義<b class='flag-5'>IP</b>核<b class='flag-5'>創(chuàng)建</b>

    基于 FPGA vivado 2017.2 的74系列IP封裝

    指定添加源文件),先添加源文件。點(diǎn)擊 Next繼續(xù)5)選擇目標(biāo)FPGA器件:xc7a35tcpg236-1或Basys3。6)最后在新工程總結(jié)中,檢查工程創(chuàng)建是否有誤。沒(méi)有問(wèn)題,則點(diǎn)
    發(fā)表于 12-20 10:23

    怎么遷移那些具有Netlists源文件的pcores?

    的項(xiàng)目,其中包含其他目錄中包含分層網(wǎng)表文件和少數(shù)pcoreshave .bbd源文件的內(nèi)容。我需要將該項(xiàng)目遷移到vivado,但我無(wú)法遷移那
    發(fā)表于 05-14 09:19

    包含路徑不會(huì)添加到項(xiàng)目中的每個(gè)源文件怎么解決?

    當(dāng)在項(xiàng)目設(shè)置中添加包含路徑時(shí),不會(huì)將此路徑添加到每個(gè)源文件中,因此需要在文件夾中搜索頭文件源文件無(wú)法構(gòu)建。我的項(xiàng)目過(guò)去常常正確構(gòu)建。 我
    發(fā)表于 05-05 07:49

    基于vivado的fir ip核的重采樣設(shè)計(jì)與實(shí)現(xiàn)

    本文基于xilinx 的IP核設(shè)計(jì),源于音頻下采樣這一需求。 創(chuàng)建vivado工程 1. 首先打開(kāi)vivado,創(chuàng)建一個(gè)新的project(
    發(fā)表于 02-08 02:25 ?4954次閱讀
    基于<b class='flag-5'>vivado</b>的fir <b class='flag-5'>ip</b>核的重采樣設(shè)計(jì)與實(shí)現(xiàn)

    Vivado將模塊封裝為IP的方法介紹

    在給別人用自己的工程時(shí)可以封裝IP,Vivado用封裝IP的工具,可以得到像xilinx的ip一樣的可以配置參數(shù)的IP核,但是用其他工程調(diào)用
    的頭像 發(fā)表于 06-26 11:33 ?7967次閱讀

    如何創(chuàng)建Vivado HLS項(xiàng)目

    了解如何使用GUI界面創(chuàng)建Vivado HLS項(xiàng)目,編譯和執(zhí)行C,C ++或SystemC算法,將C設(shè)計(jì)合成到RTL實(shí)現(xiàn),查看報(bào)告并了解輸出文件。
    的頭像 發(fā)表于 11-20 06:09 ?3968次閱讀

    如何使用Vivado功能創(chuàng)建AXI外設(shè)

    了解如何使用Vivado創(chuàng)建和封裝IP功能創(chuàng)建可添加自定義邏輯的AXI外設(shè),以創(chuàng)建自定義IP
    的頭像 發(fā)表于 11-29 06:48 ?7161次閱讀
    如何使用<b class='flag-5'>Vivado</b>功能<b class='flag-5'>創(chuàng)建</b>AXI外設(shè)

    如何在vivado創(chuàng)建新工程上使用IP集成器創(chuàng)建塊設(shè)計(jì)

    本文介紹如何在 vivado 開(kāi)發(fā)教程(一) 創(chuàng)建新工程 的基礎(chǔ)上, 使用IP集成器, 創(chuàng)建塊設(shè)計(jì)。
    的頭像 發(fā)表于 02-08 10:47 ?2488次閱讀
    如何在<b class='flag-5'>vivado</b><b class='flag-5'>創(chuàng)建</b>新工程上使用<b class='flag-5'>IP</b>集成器<b class='flag-5'>創(chuàng)建</b>塊設(shè)計(jì)

    Vivado下頭文件使用注意事項(xiàng)

    并不局限于Vivado一種EDA。頭文件主要使用“文件包括”處理,所謂"文件包含"處理是一個(gè)源文件
    的頭像 發(fā)表于 02-08 10:26 ?1677次閱讀
    <b class='flag-5'>Vivado</b>下頭<b class='flag-5'>文件</b>使用注意事項(xiàng)

    Vivado那些事】Vivado下頭文件使用注意事項(xiàng)

    并不局限于Vivado一種EDA。頭文件主要使用“文件包括”處理,所謂"文件包含"處理是一個(gè)源文件
    發(fā)表于 03-07 06:01 ?19次下載
    【<b class='flag-5'>Vivado</b>那些事】<b class='flag-5'>Vivado</b>下頭<b class='flag-5'>文件</b>使用注意事項(xiàng)

    使用VIvado封裝自定IP并使用IP創(chuàng)建工程

    在FPGA實(shí)際的開(kāi)發(fā)中,官方提供的IP并不是適用于所有的情況,需要根據(jù)實(shí)際修改,或者是在自己設(shè)計(jì)的IP時(shí),需要再次調(diào)用時(shí),我們可以將之前的設(shè)計(jì)封裝成自定義IP,然后在之后的設(shè)計(jì)中繼續(xù)使用此IP
    的頭像 發(fā)表于 04-21 08:58 ?5954次閱讀

    編輯與改寫(xiě)IP源文件的方法

    有些時(shí)候,根據(jù)設(shè)計(jì)需求可能會(huì)想要修改IP核生成的源文件(只能修改未加密文件),包括HDL文件和XDC約束文件。這種修改不能直接修改
    的頭像 發(fā)表于 08-25 14:38 ?2804次閱讀

    使用EWPtool將源文件導(dǎo)入到IAR Embedded Workbench

    以前在IAREmbedded Workbench中創(chuàng)建工程之后導(dǎo)入源文件,需要在IAR EmbeddedWorkbench中手動(dòng)創(chuàng)建文件夾,然后手動(dòng)導(dǎo)入源文件。
    的頭像 發(fā)表于 10-21 10:40 ?2696次閱讀

    為EBAZ4205創(chuàng)建Xilinx Vivado文件

    電子發(fā)燒友網(wǎng)站提供《為EBAZ4205創(chuàng)建Xilinx Vivado文件.zip》資料免費(fèi)下載
    發(fā)表于 06-16 11:41 ?1次下載
    為EBAZ4205<b class='flag-5'>創(chuàng)建</b>Xilinx <b class='flag-5'>Vivado</b>板<b class='flag-5'>文件</b>