VIVADO開發流程(Block design)

本篇整理一些網路文章做整理與教學講解,以xilinx vivado作為開發環境,建立一個簡單的zynq mp spi XSA流程說明之

1. Create project

這個段落可參考vivado開發流程(Simulation)同一個段落,簡單來說就是建立一個空專案並進入開發介面.

2. Create block design

  • 本小節介紹新增block desgin以及新增ip之簡介

  • 首先點選create blok diagram,並且命名後進入open block design

  • 在空白區右鍵,選取add ip,並在搜尋欄位打上zynq,找到“Zynq UltraScale+ MPSoC IP”

  • 同樣的做法,將axi quad spi的ip新增上來

  • Run connection automation可以自動的補足需要的ip以及拉線

  • 更新接線後可能還會再出現Run connection automation字樣,點選使其自動將尚未完成拉線的clk等自動連接完成,綠色欄位的Run connection automation會消失,如下圖

  • Run block automation在這裡不需要勾選產生相關pin

  • 過程中會問你是否要新增address 點選Yes,並可以在address editor,map檢查

  • 完成拉線後使用validate design做初步的拉線確認,這裡功能主要檢查clock是否完成接線,或是頻率對不對

  • Save block diagram

3. Out of context per IP and HDL warpper

  • 這個小節主要是針對新增的每個ip做初步的合成測試,並且合併成一個module。

  • 在source視窗選擇針對剛剛建立的block design(在這裡是design1.bd),右鍵點選gernerate output products。

  • 選擇out of context per ip,也就是針對每個ip各別做一次合成

  • on local host就是用你當前的系統做合成,number of job使用的cpu核心數,使用越多越快完成計算,建議使用此電腦最大核心數-1的數量,保留一核做系統運作

  • 可以從Design run觀察運作狀態,有時候會出現syntha error,但後面使用Run synthsis仍可以運作,

  • 右鍵選擇Create HDL wrapper,使用"Let vivado manage wrapper and auto-update"即可

  • 產生好之後會出現一個.v檔,粗體字表示已經set as top,沒有要右鍵將其set as top

  • 完成後即可進行Run synthesis

4.Run synthesis

  • 從Flow navigator找到Synthesis,執行合成

  • 視窗中option欄位中的number of job為使用的CPU核心數,若要盡可能使用全系統運作建議選擇最大值-1,保留一核進行作業系統運行

  • 完成合成後,可進入IO ports頁面選擇對應腳位,本區區塊需參考所使用的IC SPEC

5.Run implentment

  • 從Flow navigator找到Implement執行,或者Synthesis完成後會自動問你要不要往下執行Implement

  • Implement完成後開啟該分頁可於Device頁面當中確認接線,如下圖

6. Generate Bitstream

  • 從Flow navigator找到generate bitstream執行,或者implement完成後會自動問你要不要往下執行generate bitstrea

7. export XSA

  • 要與vitis或petalinux整合,需再將bitstream轉換成xsa檔

  • File -> Export Hardware(產生XSA),要選include bitstream將剛剛產生的檔案

Last updated