日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Vivado中RTL封装IP流程

發布時間:2023/12/19 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vivado中RTL封装IP流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Vivado中RTL封裝IP流程

前言

本文記錄自己將RTL代碼封裝成IP的流程,以供之后查閱使用。最近一個月在做一個數據仲裁與轉發的項目,已經完成功能仿真,準備將其封裝成IP在Block Design中進行調用。實驗平臺為Vivado 2018.3,編程語言為Verilog,IP的接口主要是一個AXI-Lite接口和一個AXI-Full接口。閑言少敘,我們直接開始。

詳細流程

準備工作

新建一個文件夾ip_test,在該文件夾下新建文件夾rtl,將所有RTL源碼放入該文件夾,完成準備工作;

新建一個文件夾top_module,里面僅存放RTL源碼的最頂層的.v文件,便于IP生成正確的接口。(之前嘗試將所有的RTL源碼一次導入,發現vivado不能正確識別頂層模塊,從而導致IP接口一直不對)

創建工程

雙擊打開vivado 2018.3,選擇Tasks->Manage IP->New IP Location,按下圖所示順序進行操作;

上圖中的IP location選擇之前建立的ip_test文件夾路徑,選完后點擊Finish完成工程的創建;

因為本項目已有RTL源碼,所以上圖中我們選Package a specified directory;如果沒有源碼想創建一個帶AXI接口的空IP往里寫功能的話就選擇Create a new AXI4 Peripheral;

此處一定注意下圖中的路徑,選擇RTL頂層模塊源碼的路徑

指定項目的名稱,本示例工程名字為ip_test;

點擊Finish后我們看到封裝IP的界面,此時看到IP的名稱與頂層模塊相同,且接口也與頂層模塊的一致,只是此時除了頂層模塊外,其余模塊均未添加到Design Sources中。

下面進行剩余源碼的添加,將rtl文件夾中的代碼添加到Design Sources中。

選擇IP封裝模塊的File Groups選項,點擊Merge changes from File Groups Wizard

可以看到此時的IP已經包含了所有的源碼;

屬性配置

在Ports and Interfaces界面中,我們可以看到,vivado工具自動將時鐘復位信號、AXI-Full信號和AXI-Lite信號進行打包處理(vivado永遠的神!),但還有一些屬性需要設置,否則vivado會報warning。如復位信號的低電平復位屬性、時鐘與AXI協議的相關屬性等;

添加復位信號的低電平復位屬性流程如下:

將clk時鐘與rst_clk_n綁定起來,并指定AXI-Lite接口用clk時鐘

具體各參數的屬性配置情況大家可以參考vivado官方教程ug1118。完成上面時鐘或者復位的綁定配置后,最后進行IP核的導出。

導出IP

在封裝IP界面選擇Review and Package,先進行打包IP的配置,點擊Edit packaging settings;

進行上圖所示的配置,其中Delete project after packaging選項可以不選,因為導出IP可能之后還要繼續,要對RTL代碼進行修改上板測試來迭代更新,所以我們一般保留導出IP的項目工程。

最后回到封裝IP的界面,點擊Package IP選項即可。

已經成功打包,詢問是否關閉項目工程,Yes或者No均可。

到指定的路徑下查看,發現已經生成我們所需的IP。至此,封裝IP圓滿結束。

結語

本文為筆者打包IP的經驗分享帖,其中不免錯誤不足之處,如果其中步驟有誤還望大家指正出來,一起交流進步。

參考資料

Vivado Design Suite User Guide: Creating and Packaging Custom IP (UG1118)

總結

以上是生活随笔為你收集整理的Vivado中RTL封装IP流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。