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

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

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

如何將包含XIlinx IP的用戶模塊封裝成網(wǎng)表文件

FPGA之家 ? 來源:FPGA之家 ? 2023-05-18 11:12 ? 次閱讀

在Vivado TCL命令窗口中可以通過調(diào)用write_edif命令將用戶自定義模塊封裝成.edf網(wǎng)表文件(類似ISE里的.ngc文件),但按照官方給出的參考用法生成的網(wǎng)表文件對(duì)自定義模塊有種種限制,即待封裝的模塊不能含有Xilinx IP(少部分IP可以包含,如RAM IP、FIFO IP等),如DSP IP、MIG IP等,否則在編譯時(shí)將報(bào)錯(cuò),提示有未定義的黑盒。

那么如何將包含XIlinx IP的用戶模塊封裝成網(wǎng)表文件,下面將給出詳細(xì)步驟

1. 將待封裝模塊設(shè)置為top層
如下圖所示,待封裝模塊為abc,則選中abc后右鍵,選擇“Set as Top”,

a1ceb78c-f525-11ed-90ce-dac502259ad0.png

2. I/O Buffers設(shè)置
設(shè)置Settings–>綜合 synthesis–>選項(xiàng)options下拉至最后一項(xiàng):More Options,將其值設(shè)置為:

-mode out_of_context

a1d65bfe-f525-11ed-90ce-dac502259ad0.jpg
-mode out_of_context表示在該級(jí)不插入任何I/O BUFFERs,該選項(xiàng)類似ISE里在相應(yīng)設(shè)置處不勾選I/O BUFFERs。
另外還可以在選項(xiàng)options中找到“-flatten_hierarchy”,將層級(jí)結(jié)構(gòu)設(shè)置為“full”,
層級(jí)結(jié)構(gòu)則可設(shè)置“-flatten_hierarchy”選項(xiàng)為“full”:“全”該選項(xiàng)指示工具把層級(jí)全面變平,只剩下頂層,保護(hù)IP的層級(jí)結(jié)構(gòu)不被其他用戶清楚查看。

3. 綜合
運(yùn)行綜合synthesis,完成綜合后,打開綜合設(shè)計(jì)open synthesized design

4. 生成僅包含IO端口信息的empty module
打開綜合設(shè)計(jì)open synthesized design后,在TCL命令窗口執(zhí)行如下命令:
2017.4之前版本:

write_verilog -mode port F:/FPGA/abc_stub.v

2018.1之后版本:

write_verilog -mode synth_stub F:/FPGA/abc_stub.v

其中F:/FPGA/替換為要存放的路徑,如未指明路徑,則將存放到工程文件所在路徑下。

5. 生成edf文件
重頭戲來了,分兩條:

若不含Xilinx IP則可通過如下命令生成edf文件:
write_edif F:/FPGA/abc.edf

若含Xilinx IP則需通過如下命令生成edf文件:
write_edif -security_mode all F:/FPGA/abc.edf

6. 新工程中網(wǎng)表文件調(diào)用
將上述生成的abc_stub.v和abc.edf添加到新工程中即可。

7. 帶Xilinx IP的另外一種網(wǎng)表封裝方式(不推薦
上述步驟3后,在tcl命令窗口中執(zhí)行如下命令:

write_verilog -force abc_stub.v

審核編輯:彭靜

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

    關(guān)注

    126

    文章

    7728

    瀏覽量

    142600
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2155

    瀏覽量

    120850
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    648

    瀏覽量

    32774

原文標(biāo)題:使用Vivado將包含Xilinx IP的用戶模塊封裝成網(wǎng)表文件(也適用不包含Xilinx IP的用戶模塊)

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    動(dòng)態(tài)庫(kù)封裝成python模塊的方法

    之前的文章 靜態(tài)庫(kù)封裝成 python 模塊中講解了如何將靜態(tài)庫(kù)封裝成 python 模塊,靜
    發(fā)表于 07-13 15:24 ?611次閱讀

    XILINX IP核移植

    XILINX ISE 14.7,我想建立一個(gè)工程,里面要調(diào)用之前別人的包含SRAM IP核的模塊,需要使用.v和.ngc文件,可是不知道那個(gè)
    發(fā)表于 04-18 14:21

    xilinx EDF已經(jīng)綜合過的網(wǎng)文件怎樣添加到Vivado工程中?

    xilinx EDF已經(jīng)綜合過的網(wǎng)文件怎樣添加到Vivado工程中?買了一個(gè)第三方的IP,給出了端口列表和核心
    發(fā)表于 09-07 11:34

    如何將CCS3.3工程中.C文件封裝成OBJ庫(kù)文件

    如何將CCS3.3工程中的.C文件封裝成OBJ庫(kù)文件
    發(fā)表于 11-02 09:41

    xilinx vivado 怎么封裝包含一個(gè)ip核的自定義ip?

    我寫了一個(gè)緩存模塊,里面包含有一個(gè)BlockRAM的IP核,現(xiàn)在想把這個(gè)緩存模塊封裝成我的一個(gè)自定義ip
    發(fā)表于 12-11 10:25

    怎么HDL源文件添加到Xilinx IP?

    嗨,我必須在現(xiàn)有的XilinX IP(MIG)中添加一個(gè)新的verilog文件。我取消選中了IP屬性中的“IS MANAGED”選項(xiàng),并在頂部實(shí)例化了新
    發(fā)表于 04-21 06:38

    如何將常用接口封裝成類似于NCNN的接口調(diào)用形式?

    如何將常用接口封裝成類似于NCNN的接口調(diào)用形式?
    發(fā)表于 03-10 07:08

    基于Vivadoverilog代碼封裝成IP的步驟

    Xilinx的Vivado采用原理圖的設(shè)計(jì)方式,比較直觀適合大型項(xiàng)目,我們自己的code都需要封裝成user IP。這里主要介紹怎么把多個(gè)關(guān)聯(lián)管腳合并成類似bus的大端口。
    發(fā)表于 09-15 16:54 ?42次下載
    基于Vivado<b class='flag-5'>將</b>verilog代碼<b class='flag-5'>封裝成</b><b class='flag-5'>IP</b>的步驟

    Xilinx CORE生成器IP列表名稱及說明詳解

    本頁(yè)包含通過LabVIEW FPGA模塊可用的Xilinx CORE生成器IP的列表。LabVIEW通過Xilinx
    發(fā)表于 11-18 05:55 ?4776次閱讀

    Vivado模塊封裝IP的方法介紹

    在給別人用自己的工程時(shí)可以封裝IP,Vivado用封裝IP的工具,可以得到像xilinxip
    的頭像 發(fā)表于 06-26 11:33 ?7854次閱讀

    如何將IP模塊整合到System Generator for DSP中

    了解如何將Vivado HLS設(shè)計(jì)作為IP模塊整合到System Generator for DSP中。 了解如何將Vivado HLS設(shè)計(jì)保存為
    的頭像 發(fā)表于 11-20 05:55 ?3191次閱讀

    Xilinx如何配置BSP工程包含的的公共模塊

    Xilinx的SoC在業(yè)界應(yīng)用非常廣泛。對(duì)應(yīng)的開發(fā)工具SDK也很成熟。在SDK里,每一個(gè)baremetal工程,對(duì)應(yīng)一個(gè)BSP工程,它包含一些Xilinx提供的公共模塊,比如硬件的驅(qū)動(dòng)
    的頭像 發(fā)表于 10-09 12:22 ?3528次閱讀
    <b class='flag-5'>Xilinx</b>如何配置BSP工程<b class='flag-5'>包含</b>的的公共<b class='flag-5'>模塊</b>

    如何將函數(shù)封裝成庫(kù)使用的方法介紹

    無法查看具體的代碼實(shí)現(xiàn)細(xì)節(jié),而不影響正常的調(diào)用。常見的思路是核心的函數(shù)封裝成庫(kù),下面結(jié)合例程說明具體實(shí)現(xiàn)方法。 1.庫(kù)的建立 1).新建庫(kù)工程 在CCS中,選擇Project ->
    的頭像 發(fā)表于 01-12 16:32 ?5255次閱讀
    <b class='flag-5'>如何將</b>函數(shù)<b class='flag-5'>封裝成</b>庫(kù)使用的方法介紹

    關(guān)于如何將函數(shù)封裝成庫(kù)使用的方法介紹

    關(guān)于如何將函數(shù)封裝成庫(kù)使用的方法介紹
    發(fā)表于 10-28 12:00 ?1次下載
    關(guān)于<b class='flag-5'>如何將</b>函數(shù)<b class='flag-5'>封裝成</b>庫(kù)使用的方法介紹

    關(guān)于如何將函數(shù)封裝成庫(kù)使用的方法介紹

    在項(xiàng)目開發(fā)過程中,開發(fā)者出于保護(hù)核心算法的目的,希望部分核心代碼封裝起來,使得其他使用者無法查看具體的代碼實(shí)現(xiàn)細(xì)節(jié),而不影響正常的調(diào)用。常見的思路是核心的函數(shù)封裝成庫(kù),下面
    的頭像 發(fā)表于 03-21 09:36 ?3885次閱讀
    關(guān)于<b class='flag-5'>如何將</b>函數(shù)<b class='flag-5'>封裝成</b>庫(kù)使用的方法介紹