開發環境:xp vivado2013.4
基於AXI-Lite的用戶自定義IP核設計
這里以用戶自定義led_ip為例:
1.建立工程
和設計一過程一樣,見vivado設計一http://blog.chinaaet.com/detail/35736:
這樣我們就進入了主界面
2.創建IP
Tools –》Create and Package IP
來到IP創建歡迎界面:Next
接下來我們要選擇AXI4 peripheral,如下圖
Next之后,我們可以看到IP的信息,可以自己修改某些信息:
然后修改一下Name,其余的保持默認:
下面要勾選一下Generate Drivers
然后Next之后,我們選第二個:如下圖
點擊finish,就進入了編輯IP的界面
3.編輯IP
既然是自定義IP核,那么我們需要修改led_ip_v1_0.v
雙擊文件,在15行添加output wire [3:0]led, 如下圖所示:
添加用戶定義的port
接下來,將我們用戶的port,連接到led_ip_v1_0_S_AXI,在48行:
.LED(LED),
在led_ip_v1_0_S_AXI模塊中還沒有LED端口,因此展開source文件:
雙擊圖上文件:在15行添加output wire [3:0]led,
如下圖所示:
接下來就是新建用戶邏輯文件了,user_logic.v
編寫verilog文件:
然后這個用戶邏輯模塊要在led_ip_v1_0_S_AXI中例化:
例化如下:在397行左右:
保存所有文件,然后編譯,在IP封裝之前,確保無誤:
果然編譯出錯,是上面有些寫成了led,有些寫成了LED,全部修改成LED吧:圖我就不重新貼了:這次編譯通過了
編譯成功后,這里我們選擇cancal了,就是不Run Implementation了、
接下來就是:
4.封裝IP
點擊左側的Package IP
現在就一個一個來看,在IP Identification中
在IP Compatibility,可以看到已經支持zynq了,如果要添加family 右鍵添加即可
IP File Groups
點擊紅色框中的,有兩警告,忽略之
在IP Customization Parameter中同樣點擊紅色框中內容
在IP Ports里面可以看到LED這個端口了
Review and Package
可以IP核路徑,點擊Re-Package IP
然后出現一個警告,忽略,點擊ok
這樣我們就完成了自定義IP的設計和封裝,然后也就回到了project_2主界面,注意之前的界面一直是在edit Ip的這個界面完成的、
在之前ise中也完成過自定義IP核:http://blog.chinaaet.com/detail/34661,相對而言,vivado設計的步驟更加的清晰明了,也簡單一些。
下一次博客將在該工程中使用該自定義IP核,並且上板調試。
轉載:http://blog.chinaaet.com/xzy610030/p/37177