05.19 Vivado如何創建用戶IP核

在Zynq開發過程中,我們看到Xilinx為我們提供了很多IP核,很多IP都可以免費使用,但是在我們具體的工程開發中,很多時候需要自己來創建IP核的,這樣做的好處主要是:

1、系統設計定製化;

2、設計複用,提高效率,還可加密IP核;

Zynq芯片是基於FPGA+ARM的方式,在FPGA內部集成了ARM核,而FPGA和ARM通信主要是通過AXI總線,關於AXI總線,可查閱XAPP1168文檔,下面就演示如何創建一個用戶IP核,並把創建好的IP添加到系統設計中。

開發環境:Vivado 2018.1

開發平臺:Zedboard

首先啟動Vivado 2018.1,新建工程,在Board列表中選擇Zedboard,點Next一步步繼續,

Vivado如何创建用户IP核

選擇Tools--Create and Package New IP,打開用戶IP創建嚮導,

Vivado如何创建用户IP核

選擇Create AXI4 Peripheral,點 Next繼續,

Vivado如何创建用户IP核

設置需要創建的IP的信息,繼續Next,

Vivado如何创建用户IP核

在Add Interfaces對話框中,可以選擇Interface Type、mode和Data Width等,根據實際情況來選擇。繼續next,最後通過嚮導完成了一個基於AXI接口的用戶IP,但此時的IP只是提供了AXI總線的模板,還需要我們自己把用戶IP的邏輯添加進來。

在IP Catalog中搜索我們剛創建的用戶IP名,可以看到已經出現在列表中了,

Vivado如何创建用户IP核

選中該IP,右鍵在菜單中選擇Edit in IP Packager,系統將會打開另一個Vivado IDE來對用戶IP核進行編輯和封裝,

Vivado如何创建用户IP核

在新打開的界面中,打開頂層文件,在user to add ports here處增加用戶IP端口,

Vivado如何创建用户IP核

在子文件中,增加用戶邏輯代碼,

Vivado如何创建用户IP核

增加和檢查例化文件接口,保存文件。

打開Package IP-axi_PWM,可以看到窗口左側有很多IP核的信息,大家可以逐個打開看看,我們看到Ports and Interfaces中出現了我們剛添加的接口,

Vivado如何创建用户IP核

至此,一個簡單的用戶IP核就創建好了,接下來,我們把這個IP添加進工程設計中,點擊Create Block Design,添加ZYNQ Processing system、AXI_GPIO、AXI_PWM三個IP,

Vivado如何创建用户IP核

點擊 Run Block Automation和Run Connection Automation將系統連接起來,完成連接的系統如下圖所示:

Vivado如何创建用户IP核


分享到:


相關文章: