本文介紹一個FPGA 開源項目:Micro Blaze最小系統。MicroBlaze是Xilinx提供的一個軟核IP,該軟核是由FPGA片內邏輯資源組成,其功能相當于一個CPU。利用Micro Blaze,設計師可以輕松實現一些FPGA難以實現的復雜算法。
下面圍繞各IP核參數配置、Block Design的創建、以及Xilinx SDK應用工程的創建進行簡要介紹。
01軟硬件平臺
02Block Design
搭建MicroBlaze最小系統主要用到以下幾個IP核:Clocking Wizard、 MIG 7 Series、 MicroBlaze、AXI Uartlite。
2.1 時鐘和MIG
首先,在BD工程中添加Clocking Wizard以及MIG IP核,對于IP核參數的具體配置在前面的文章中有詳細介紹。然后將時鐘模塊的輸出時鐘信號以及復位信號與MIG IP進行連接,如下圖所示:
2.2 MicroBlaze
在Block Design中添加MicroBlaze IP核,并進行如下參數配置:
- Predefined Configurations :選擇 Current Settings ;
- 優化方式 :選擇默認的 PERFORMANCE 即可;
- 啟用調試接口 :Enabla MicroBlaze Debug Module Interface;
- 啟用指令和數據緩存;
- General 參數配置:如上圖所示,保持默認配置即可;
- 對于 指令和數據緩存 的配置 : 同樣保持默認的參數配置;
- Debug :調試接口參數配置,選擇 BASIC ,其余參數采用默認配置;
- Buses :啟用AXI數據流接口,通過該接口,MicroBlaze訪問AXI-Lite總線數據;
然后,點擊 Run Block Automation ,MicroBlaze的輸入時鐘選擇MIG IP核提供的100MHz用戶時鐘。
點擊 Run Connection Automation ,參數按照上圖所示進行配置。自動連線完成后,得到下圖所示的BD工程:
2.3 AXI Uartlite
在該最小系統中,額外添加一個串口外設:AXI Uartlite,通過串口輸出驗證MicroBlaze最小系統是否正常工作,如果有需要還可以添加其它外設,如GPIO、INTIC等。
需要對串口波特率進行配置,這里選擇115200,其余參數默認即可:
然后點擊 Run Connection Automation ,將串口模塊AXI時鐘選擇為MIG輸出的100M時鐘:
2.4 Block Design
自動連線完成后,最終得到的BD工程如下圖所示:
然后依次執行 Reset Output Products , Generate Output Products, Create HDL Wrapper 。對輸入時鐘以及串口的管腳進行配置后,最后點擊生成bit流文件。
03創建Xilinx SDK工程
生成bit流文件后,點擊File->Export->Export Hardware,并勾選 Include bitstream ,然后單擊 Launch SDK,打開SDK軟件。
在SDK軟件中,點擊File->New->Application Project,創建應用程序。輸入工程名字,然后點擊 Next 。在提供的例程里,選擇 Hello World ,驗證串口輸出功能。
工程創建好后,選擇 Debug As -> Run Configurations,勾選 Reset entire system,以及Program FPGA。然后點擊 Debug。
在SDK Terminal中添加好串口并配置波特率115200,運行代碼后,串口打印輸出“Hello World“。
04實現功能
該Vivado工程主要是搭建了一個MicroBlaze最小系統并添加了AXI串口模塊,在Xilinx SDK軟件中利用C語言實現了串口打印功能。后續在此工程基礎上,可以利用MicroBlaze軟核實現更加復雜的功能。
-
FPGA
+關注
關注
1629文章
21736瀏覽量
603421 -
Xilinx
+關注
關注
71文章
2167瀏覽量
121430 -
MicroBlaze
+關注
關注
3文章
68瀏覽量
21564 -
IP核
+關注
關注
4文章
327瀏覽量
49498 -
最小系統
+關注
關注
9文章
252瀏覽量
29087
發布評論請先 登錄
相關推薦
評論