在上篇文章中,我們發布了熱門 HLS小橙書-pp4fpgas 的第二次校訂。文中提到的習題案例現均已集成到 PYNQ 框架中,特向大家分享。
那么這些案例通過 PYNQ 框架會帶來哪些便利呢?本文給大家做一個簡單的類比:
過去
在完成項目的 HLS 優化之后,若要對其進行功能正確性的驗證,通常我們先對設計進行仿真,這樣比較方便看到設計的波形。但大型設計往往對運行的平臺有較高的要求,同時 co-simulation 等軟件層面的仿真并未使項目中的運算在硬件上運行,所得的延時等指標仍較真實值有一定差距。
當然我們也可以在設計中插入 ILA 或者借助邏輯分析儀等信號處理儀器進行實際硬件電路的觀測。但專用儀器往往在實驗室才能獲取,且較為昂貴,因此給整個開發流程帶來了極大的不便。
現在
PYNQ 框架在測試中可以理解為:
在 ARM 處理上運行了一套利用 Jupyter Notebook 和 Python 構建的軟件測試激勵產生和結果顯示的框架。
在 FPGA 上利用部分資源構建了一套時序精準的測試接口。
這樣用戶可以方便的完成測試激勵產生和顯示,同時可以實時的觀測結果。尤其是對于此次 pp4fpgas 的數字信號處理案例,我們可以在 Jupyter Notebook 上非常直觀的觀測到時域頻域的轉換,信號波形等等。用戶只需關注 HLS 設計即可。通過 PYNQ,可編程邏輯電路將作為硬件庫導入并通過其 API 進行編程,其方式與導入和編程軟件庫基本相同。
以 CORDIC 算法為例,首先我們需要對 HLS 優化后的 CORDIC 算法生成IP核,隨后就可以在PYNQ 框架內,通過內存映射 I/O 與 ARM 處理器的 IP 進行通信。如上圖所示,我們僅需創建一個 Jupyter Notebook,編寫 Python 代碼給 IP 發送數據,執行該核心,就可以在 Notebook 中得到通過硬件計算出的答案,從而完成驗證。
包括 CORDIC 在內,pp4fpgas目前配套了7個 project 練習,覆蓋了許多信號處理領域的重要內容,對提高 HLS 的運用能力,增加對 HLS 的理解十分有幫助。Project 內容如下:
FIR Filter Design
CORDIC
Phase Detector
Discrete Fourier Transform (DFT)
Fast Fourier Transform (FFT)
OFDM Receiver
FM Demodulator
編輯:lyn
-
CORDIC
+關注
關注
0文章
37瀏覽量
19957 -
HLS
+關注
關注
1文章
128瀏覽量
24038
原文標題:在 PYNQ 框架下可視化的驗證 HLS 算法實現 - 小橙書 pp4fpgas 案例發布
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論