HIGHLIGHT:
- vivado設計流程:
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 note:
分析與綜合 和 限制輸入 可以調換順序
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真
- 一、硬體調試
-
- (一)建立工程
- (二)設計輸入
- (三)分析
- (四)限制輸入
- (五)綜合、實作、生成比特流
- 二、軟體仿真
-
- (一)步驟
- (二)仿真界面指導
一、硬體調試
(一)建立工程
- new project
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - next
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 編輯,然後next
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 勾選建立完工程再添加檔案
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 根據實際情況選擇型号
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - finish
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
(二)設計輸入
- add source
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - create design source
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - create file
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 命名(一般頂層子產品名和工程名保持一緻)、ok
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - finish
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 端口信号不做定義,點選ok
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 輕按兩下建立的.V檔案,然後在代碼編輯區域輸入代碼
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
(三)分析
-
open elaborated design
verilog轉換rtl
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
(四)限制輸入
- io planing
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 -
選擇管腳和管腳電平
自行在自己開發闆對應的原理圖手冊查找
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 按下ctri+s——>起名——>ok
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 右鍵關閉
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 -
打開xdc檔案
這個檔案可以做IO限制 或者 時序限制
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真
note:
限制這裡可以自己添加限制檔案
(五)綜合、實作、生成比特流
-
點選generate bitstream
點選generate bitstream後,vivado會自動跑綜合和實作。提示框點選yes即可
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 選擇跑的時候運作的處理器核心數
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 -
可以點選project summary檢視進度
圖中在綜合
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 -
跑完了後會彈出以下框框
選擇選項3再按ok,或者直接按左邊的按鈕open hardware manager
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 開發闆上電連接配接電腦後選擇program device 或者 左下角按鈕
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 點選program
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 驗證成功
二、軟體仿真
(一)步驟
-
右鍵添加
建立激勵檔案(testbench檔案)
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - next
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 編輯名字
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - finish
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - ok
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 輕按兩下testbench檔案,把自動生成的注釋删去
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 -
根據自己需求功能編寫信号激勵
這裡主要是時鐘和複位信号
【基于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軟體仿真一、硬體調試二、軟體仿真 - 設定仿真時間 這裡預設打開後仿真1000ns,可以在這裡修改
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 - 預設為顯示十六進制,可以更改為十進制
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 -
檢視時鐘周期
間隔的兩個上升沿分别add marker
單擊左邊藍線,可見間隔為20ns,符合代碼【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真 -
注意的是
代碼定義的計數器的值太大,這裡隻仿真1000ns,如果要跑仿真實際結果,需要很長時間,是以要麼就等待,要麼就修改計數器的值來模拟即可。
改完代碼直接儲存,并且relunch即可
-
儲存波形檔案
ctrl+s 儲存即可
【基于zynq的卷積神經網絡加速器設計】(一)熟悉vivado和fpga開發流程:使用Vivado硬體調試燒寫hello-world led閃爍程式實作及vivado軟體仿真一、硬體調試二、軟體仿真