1. 程式人生 > >Vivado自定義IP封裝流程

Vivado自定義IP封裝流程

一,概述

將已有的FPGA功能模組封裝成IP,方便在Vivado中使用。為了增加通用性,使用AXI4-Lite匯流排作為控制匯流排,使用AXI4-Stream匯流排作為資料流匯流排。

二,IP封裝流程

在Vivado工程中,選擇選單欄中的Tools,然後再下拉選單中選擇Creat and Package IP… 。如圖1所示。


圖1 建立或打包IP

然後彈出嚮導,如圖2所示。


圖2 IP建立嚮導

點選 next,進入下一步,選擇操作型別,如圖3所示。在本例中選擇對特定資料夾內的程式碼進行封裝。


圖3 選擇操作型別

選擇打包程式碼所在的資料夾,如圖4所示。


圖4 選擇目標資料夾

嚮導提示需要為IP工程制定一個名字和儲存地址,如圖5所示,這個工程是臨時的,IP封裝完之後就會消失,再次編輯IP時才會再重新建立


圖5 設定IP工程名稱和位置

點選Finish結束,如圖6所示。


圖6 建立完成

三,設定IP引數

設定IP的資訊,例如名稱,版本,功能描述等,如圖7所示。


圖7 IP資訊設定

配置IP的相容性,一般選擇預設就可以了,如圖8所示。


圖8 IP相容性配置

配置IP的檔案系統,一般選擇預設就可以了,如圖9所示。


圖9 IP檔案系統

配置IP的引數,為了方便系統能識別該IP的AXI4-Lite匯流排,需要頂層檔案中定義2個引數,分別是:AXI_BASEADDR和AXI_HIGHADDR,為32bit資料,用來作為該AXI4外設的地址空間,如圖10所示。


圖10 IP引數配置

配置IP的埠,由於IP自動新增的匯流排埠一般都有問題,所有在配置前,需要將自動新增的匯流排埠去掉,然後再配置埠。

1.去掉埠
2.新增埠
\
3.新增AXI匯流排

4.配置AXI匯流排資訊
5.配置埠
6.配置引數

注意,這裡需要對AXI匯流排的時鐘增加“ASSOCIATED_BUSIF“,並對應到各種的匯流排。

配置IP的地址空間,需要修改成圖11所示。


圖11 IP地址控制

配置IP的介面,可以根據自己的需要進行配置。如圖12所示。


圖12 IP介面

最後生成IP,如圖13所示。


圖13 封裝IP

三,測試

開啟一個Vivado工程,進入IP Catalog,然後右鍵調出下拉選單,選擇Add Repository..,選擇IP所在的資料夾,如圖14所示。

!

圖14 匯入IP

這裡就可以在IP Catalog中找到剛才自定義的IP,並使用,如圖15所示。雙擊該IP,就可以對該IP進行配置。


圖15 使用IP