vivado 下的microblaze系統搭建

  FPGA硬件邏輯獨有的並行性使其在實時處理和並行算法中佔盡優勢,但當執行串行操作時卻需要使用笨重的狀態機來完成。因此,要實現對實時性要求不高的串行操作,對各類IP核的總體控制調度,亦或是快速移植軟件協議棧時,利用fpga內部CPU 是個比較好的選擇。

   下面描述怎麼搭建一個最小的microblaze軟核,以及各個模塊的意義。

create block design,添加microblaze軟核。

配置添加microblaze之後,點擊 run block automation 

這裏暫時不使用DDR之類的緩存設備,利用片內memory存儲代碼,因此將local memory 容量增大。

點擊OK後,工具自動生成CPU 系統所需要的所有必要硬件模塊,包括:時鐘管理單元(clk_wiz_1),復位邏輯(rst_clk_wiz),調試模塊(MDM),microblaze CPU ,以及local memory 。

 

MDM模塊 選擇 enable jtag uart.可以連接jtag,在SDK 界面打印調試信息。  

 

按照硬件需求,配置時鐘復位,添加輸入輸出端口,進行電氣檢查。

右鍵,source窗口中 block design 名稱,依次選中generate output products 和generate HDL wrapper 。前者生成可綜合,佈局佈線的.V文件,後者產生工程頂層封裝。

按照正常流程,添加XDC 文件,生成bit文件。file ---- export  ------ export hardware,導出硬件平臺。這裏要選擇include bitstream,否則SDK 中無法識別硬件系統。最後點擊file --- launch SDK 啓動軟件開發工具,開始軟件設計流程。

 

 

C 代碼添加,在test 的src目錄下添加,這裏只是描述一下調試怎麼配置jtag模式。在對應的 _bsp 上,右鍵,選擇board support package setting  。

配置爲mdm即可在測試的時候直接在SDK 打印結果。如果外掛有uart,也可以用外部的串口,同時board support package setting 全部設置爲外部串口

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章