天天看點

【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

HIGHLIGHT:

  • vivado設計流程:
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

    note:

    分析與綜合 和 限制輸入 可以調換順序

【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真

  • 一、硬體調試
    • (一)建立工程
    • (二)設計輸入
    • (三)分析
    • (四)限制輸入
    • (五)綜合、實作、生成比特流
  • 二、軟體仿真
    • (一)步驟
    • (二)仿真界面指導

一、硬體調試

(一)建立工程

  1. new project
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  2. next
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  3. 編輯,然後next
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  4. 勾選建立完工程再添加檔案
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  5. 根據實際情況選擇型号
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  6. finish
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

(二)設計輸入

  1. add source
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  2. create design source
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  3. create file
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  4. 命名(一般頂層子產品名和工程名保持一緻)、ok
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  5. finish
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  6. 端口信号不做定義,點選ok
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  7. 輕按兩下建立的.V檔案,然後在代碼編輯區域輸入代碼
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

(三)分析

  1. open elaborated design

    verilog轉換rtl

    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

(四)限制輸入

  1. io planing
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  2. 選擇管腳和管腳電平

    自行在自己開發闆對應的原理圖手冊查找

    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  3. 按下ctri+s——>起名——>ok
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  4. 右鍵關閉
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  5. 打開xdc檔案

    這個檔案可以做IO限制 或者 時序限制

    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

note:

限制這裡可以自己添加限制檔案

【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

(五)綜合、實作、生成比特流

  1. 點選generate bitstream

    點選generate bitstream後,vivado會自動跑綜合和實作。提示框點選yes即可

    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  2. 選擇跑的時候運作的處理器核心數
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  3. 可以點選project summary檢視進度

    圖中在綜合

    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  4. 跑完了後會彈出以下框框

    選擇選項3再按ok,或者直接按左邊的按鈕open hardware manager

    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  5. 開發闆上電連接配接電腦後選擇program device 或者 左下角按鈕
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  6. 點選program
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  7. 驗證成功

二、軟體仿真

(一)步驟

  1. 右鍵添加

    建立激勵檔案(testbench檔案)

    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  2. next
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  3. 編輯名字
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  4. finish
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  5. ok
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  6. 輕按兩下testbench檔案,把自動生成的注釋删去
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  7. 根據自己需求功能編寫信号激勵

    這裡主要是時鐘和複位信号

    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  8. 點選行為仿真
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

結果:

【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

9. 點選所例化的檔案,将cnt信号拖入信号欄

【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

自行檢視結果即可

(二)仿真界面指導

  1. 按鈕指導:
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  2. 設定仿真時間
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
    這裡預設打開後仿真1000ns,可以在這裡修改
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  3. 預設為顯示十六進制,可以更改為十進制
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  4. 檢視時鐘周期

    間隔的兩個上升沿分别add marker

    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
    單擊左邊藍線,可見間隔為20ns,符合代碼
    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  5. 注意的是

    代碼定義的計數器的值太大,這裡隻仿真1000ns,如果要跑仿真實際結果,需要很長時間,是以要麼就等待,要麼就修改計數器的值來模拟即可。

改完代碼直接儲存,并且relunch即可

【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
  1. 儲存波形檔案

    ctrl+s 儲存即可

    【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真

繼續閱讀