本文介紹一個(gè)FPGA 開源項(xiàng)目:Micro Blaze最小系統(tǒng)。MicroBlaze是Xilinx提供的一個(gè)軟核IP,該軟核是由FPGA片內(nèi)邏輯資源組成,其功能相當(dāng)于一個(gè)CPU。利用Micro Blaze,設(shè)計(jì)師可以輕松實(shí)現(xiàn)一些FPGA難以實(shí)現(xiàn)的復(fù)雜算法。
下面圍繞各IP核參數(shù)配置、Block Design的創(chuàng)建、以及Xilinx SDK應(yīng)用工程的創(chuàng)建進(jìn)行簡(jiǎn)要介紹。
01軟硬件平臺(tái)
02Block Design
搭建MicroBlaze最小系統(tǒng)主要用到以下幾個(gè)IP核:Clocking Wizard、 MIG 7 Series、 MicroBlaze、AXI Uartlite。
2.1 時(shí)鐘和MIG
首先,在BD工程中添加Clocking Wizard以及MIG IP核,對(duì)于IP核參數(shù)的具體配置在前面的文章中有詳細(xì)介紹。然后將時(shí)鐘模塊的輸出時(shí)鐘信號(hào)以及復(fù)位信號(hào)與MIG IP進(jìn)行連接,如下圖所示:
2.2 MicroBlaze
在Block Design中添加MicroBlaze IP核,并進(jìn)行如下參數(shù)配置:
- Predefined Configurations :選擇 Current Settings ;
- 優(yōu)化方式 :選擇默認(rèn)的 PERFORMANCE 即可;
- 啟用調(diào)試接口 :Enabla MicroBlaze Debug Module Interface;
- 啟用指令和數(shù)據(jù)緩存;
- General 參數(shù)配置:如上圖所示,保持默認(rèn)配置即可;
- 對(duì)于 指令和數(shù)據(jù)緩存 的配置 : 同樣保持默認(rèn)的參數(shù)配置;
- Debug :調(diào)試接口參數(shù)配置,選擇 BASIC ,其余參數(shù)采用默認(rèn)配置;
- Buses :?jiǎn)⒂肁XI數(shù)據(jù)流接口,通過該接口,MicroBlaze訪問AXI-Lite總線數(shù)據(jù);
然后,點(diǎn)擊 Run Block Automation ,MicroBlaze的輸入時(shí)鐘選擇MIG IP核提供的100MHz用戶時(shí)鐘。
點(diǎn)擊 Run Connection Automation ,參數(shù)按照上圖所示進(jìn)行配置。自動(dòng)連線完成后,得到下圖所示的BD工程:
2.3 AXI Uartlite
在該最小系統(tǒng)中,額外添加一個(gè)串口外設(shè):AXI Uartlite,通過串口輸出驗(yàn)證MicroBlaze最小系統(tǒng)是否正常工作,如果有需要還可以添加其它外設(shè),如GPIO、INTIC等。
需要對(duì)串口波特率進(jìn)行配置,這里選擇115200,其余參數(shù)默認(rèn)即可:
然后點(diǎn)擊 Run Connection Automation ,將串口模塊AXI時(shí)鐘選擇為MIG輸出的100M時(shí)鐘:
2.4 Block Design
自動(dòng)連線完成后,最終得到的BD工程如下圖所示:
然后依次執(zhí)行 Reset Output Products , Generate Output Products, Create HDL Wrapper 。對(duì)輸入時(shí)鐘以及串口的管腳進(jìn)行配置后,最后點(diǎn)擊生成bit流文件。
03創(chuàng)建Xilinx SDK工程
生成bit流文件后,點(diǎn)擊File->Export->Export Hardware,并勾選 Include bitstream ,然后單擊 Launch SDK,打開SDK軟件。
在SDK軟件中,點(diǎn)擊File->New->Application Project,創(chuàng)建應(yīng)用程序。輸入工程名字,然后點(diǎn)擊 Next 。在提供的例程里,選擇 Hello World ,驗(yàn)證串口輸出功能。
工程創(chuàng)建好后,選擇 Debug As -> Run Configurations,勾選 Reset entire system,以及Program FPGA。然后點(diǎn)擊 Debug。
在SDK Terminal中添加好串口并配置波特率115200,運(yùn)行代碼后,串口打印輸出“Hello World“。
04實(shí)現(xiàn)功能
該Vivado工程主要是搭建了一個(gè)MicroBlaze最小系統(tǒng)并添加了AXI串口模塊,在Xilinx SDK軟件中利用C語言實(shí)現(xiàn)了串口打印功能。后續(xù)在此工程基礎(chǔ)上,可以利用MicroBlaze軟核實(shí)現(xiàn)更加復(fù)雜的功能。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22034瀏覽量
617887 -
Xilinx
+關(guān)注
關(guān)注
73文章
2184瀏覽量
125210 -
MicroBlaze
+關(guān)注
關(guān)注
3文章
68瀏覽量
21945 -
IP核
+關(guān)注
關(guān)注
4文章
338瀏覽量
50766 -
最小系統(tǒng)
+關(guān)注
關(guān)注
9文章
253瀏覽量
29566
發(fā)布評(píng)論請(qǐng)先 登錄
FPGA最小系統(tǒng)設(shè)計(jì)
FPGA最小系統(tǒng)板設(shè)計(jì)資料下載
FPGA最小系統(tǒng)
FPGA最小系統(tǒng)配置電路的設(shè)計(jì)
FPGA硬件最小系統(tǒng)設(shè)計(jì)的視頻教程資料免費(fèi)下載

FPGA的最小系統(tǒng)電路原理圖免費(fèi)下載

Multisim 12.0 搭建并仿真51單片機(jī)最小系統(tǒng)

STM32最小系統(tǒng)搭建(原理圖)

Nios ii最小系統(tǒng)搭建教程

評(píng)論