AXI_03 AXI_LITE_SLAVE_IP核设计与验证
由于該系列文章閱讀有順序性,所以請跳轉至該系列文章第一篇從頭開始閱讀,并按照文章末尾指示按順序閱讀,否則會云里霧里,傳送門在此:? ?https://blog.csdn.net/qq_33486907/article/details/88289714??《AXI_01 《AXI總線系列文章》由來》
目錄
1.AXI_LITE_SLAVE_IP
1.1 AXI_LITE_SLAVE_IP設計
1.1.1 STEP1: 建立一個空白工程,命名為AXI_Build
1.1.2?STEP2: 利用向導建立一個axi_lite_slave的IP核模板
1.1.3? STEP3: 在AXI模板中定制LED驅動邏輯
1.1.4? STEP4: 配置IP核
1.2?AXI_LITE_SLAVE_IP使用示例
1.2.1 STEP1: 建立一個工程,命名為axi_led
1.2.2 STEP2: 導入自定義IP核
1.2.3 STEP3: 搭建硬件系統
1.2.4? STEP4: 編寫軟件應用
在學習并掌握了《AXI_02 AXI4總線簡介(協議、時序)》內容后,可以開始設計一個基于AXI總線的IP核了,設計AXI IP核有兩種方式:(1)可以按照上面的內容自行設計; (2)可以使用向導生成代碼,然后在Example Design上進行定制修改;
?方式(1)可以自主可控,對代碼編寫要求較高,否則VIVADO開發環境不能很好的識別是否使用了AXI總線; 方式(2)向導生成的代碼,開發環境可以較好的支持,但功能可能不是你需要的,需要進行定制修改; 不論是方式(1)還是方式(2)都需要對AXI總線協議有清楚的認識和了解。 ?本篇內容將闡述如何利用向導生成代碼,并進行定制化修改,完成IP核的設計與仿真。
1.AXI_LITE_SLAVE_IP
AXI_LITE_SLAVE_IP設計是本篇內容中最為簡單的內容,這里給出一個實例,直接利用IP核去完成對LED燈的控制,這里還涉及到與ARM端的配合使用;
1.1 AXI_LITE_SLAVE_IP設計
1.1.1 STEP1: 建立一個空白工程,命名為AXI_Build
?????? 這里隨便選擇一個器件即可,點擊NEXT;?
?????? 點擊FINISH,完成空白工程建立;
1.1.2?STEP2: 利用向導建立一個axi_lite_slave的IP核模板
隨后將打開一個基于AXI_LITE總線的IP核模板工程,可以在該模板工程下對工程的功能進行修改;? 模板中只是給出了一個包含4個可讀可寫的寄存器的例子,并沒有包含任何的功能,要實現特定的功能需要自行添加代碼;
1.1.3? STEP3: 在AXI模板中定制LED驅動邏輯
這里要實現一個控制LED燈的邏輯功能,具體添加的代碼就不再這里給出了,可以打開對應的IP核文件進行查看,添加的代碼會在文件中進行明確的注釋;
把要添加的代碼添加完成以后,運行一下run synthesis綜合一下看看有沒有錯誤;
1.1.4? STEP4: 配置IP核
添加所有系列,以支持在所有器件上使用;
?????? 經過以上步驟以后,就可以在IP Catalog中看到這個IP核了,如下圖:
?????? 之后就可以在VIVADO中設計使用該IP核了;
1.2?AXI_LITE_SLAVE_IP使用示例
示例使用RAM端,通過C語言去控制LED燈;
1.2.1 STEP1: 建立一個工程,命名為axi_led
建立工程的步驟與《1.1.1 STEP1: 建立一個空白工程,命名為AXI_Build》節中相同,不再贅述,這里只給出一些關鍵信息;
1.2.2 STEP2: 導入自定義IP核
?????? 在新的工程中使用自定義IP核時,需要先導入;
?????? VIVADO會自動導入IP核;
1.2.3 STEP3: 搭建硬件系統
?????? 添加好ARM核后,雙擊開始配置,關于ARM核的配置就不再一一描述,這里只給出關鍵信息,具體配置可以到具體工程中進行查看;
ARM配置完成后,開始添加自定義IP;
執行完對應步驟,點擊刷新Regenerate layout按鈕重新布局,可以獲得下圖所示的系統;
?????? 引出LED燈的端口,如下圖:
?????? 最后可以得到如圖所示的系統:
?????? 配置一下自定義IP核的基地址(不配置系統將采用默認的地址),這里將地址配置為0x4000_000,這個基地址在后面編寫程序的時候要使用到,如下圖:
?????? 搭建完成以后開始輸出products:
?????? 生成系統頂層文件:
執行run implementation,如下圖:
??????
?????? 執行完成以后打開IMPLEMENTED DESIGN,開始為設計分配管腳;這里分配管腳主要是為PL端4個LED燈端口分配管腳,PS端的管腳不需要分配,如下圖:
?????? 分配完管腳以后,保存時要保存.XDC約束文件,如圖:
?????? 之后,直接運行Generate Bitstream,如圖:
?????? 以上步驟就完成了系統硬件的搭建工作;
1.2.4? STEP4: 編寫軟件應用
首先,導出板級支持包到SDK,如圖:
啟動SDK
建立一個APP工程,如下所示:
操作:FILE -> NEW -> Application project
工程建立以后,可以在如下所示的文件下可以看到自定義IP核的驅動:
?????? 之后打開helloworld.c的進行軟件編寫了:
?????? 編輯代碼如下:
?????? 在VIVADO環境下將bit文件下載如SOC,如下圖:
?????? 在SDK環境下運行run as,全速運行,即可看到流水燈開始運行,如下圖所示:
以上便完成了一個最為簡單的自定義AXI_LITE_SLAVE_IP的使用;
?驗證視頻傳送門:
https://v.youku.com/v_show/id_XNDA4ODY2MDcxMg==.html?x&sharefrom=android&sharekey=c323e94f5ac00126bfd808c4376ed4b23
不要急著跑,干貨在后面,下一篇文章傳送門在此:
《AXI_04 AXI_LITE_MASTER_IP設計與驗證》
?https://blog.csdn.net/qq_33486907/article/details/88303243
本篇IP核源碼工程和驗證工程傳送門在此,點擊下方下載鏈接一:
https://download.csdn.net/download/qq_33486907/1984547
或點擊下載鏈接二:https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.22131debncNwzA&id=588531553802
推薦使用鏈接一,鏈接二即將停止服務
總結
以上是生活随笔為你收集整理的AXI_03 AXI_LITE_SLAVE_IP核设计与验证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AXI_02 AXI4总线简介(协议、
- 下一篇: 联想拯救者 140W PD 3.1 氮化