Vivado HLS教程
準備學習Vivado HLS,這里做個記錄。
本著先感性再理性的學習規律,首先翻譯Xilinx提供的教程ug871,同步上手操作。
教程描述
本教程是一些較小的教程的集合,這些教程說明和演示了使用高級綜合將C,C ++和SystemC代碼轉換為RTL實現的過程中的所有步驟。 本教程介紹了如何創建初始RTL實現,然后在不更改C代碼的情況下使用優化指令將其轉換為低區域和高吞吐量的實現。 以下各節描述了每個教程的摘要。
高層次綜合簡介
本教程介紹了Vivado高級綜合(HLS)。 您可以使用圖形用戶界面(GUI)和Tcl環境學習執行高級綜合的主要任務。
C驗證
本教程回顧了一個好的C測試平臺的各個方面,并演示了Vivado高級綜合C調試環境的基本操作。 本教程還顯示了如何調試任意精度的數據類型。
接口綜合
該接口綜合教程回顧了為RTL設計創建端口的所有方面。 您可以學習如何控制塊級I / O端口協議和端口I / O協議,如何將C函數中的數組實現為多個端口和接口協議類型(RAM,FIFO,AXI4-Stream),以及如何 實現了AXI4總線接口。
為了創建最佳的設計實現,本教程以一個設計示例作為結束,其中將I / O訪問和邏輯一起優化。
任意精度類型
本教程中的實驗練習將用原生C類型編寫的C設計與用Vivado高級綜合任意精度類型編寫的相同設計進行了對比,顯示了后者如何在不犧牲準確性的情況下提高了硬件結果的質量。
設計分析
本教程使用DCT函數來解釋Vivado高級綜合中交互式設計分析功能的特性。 初始設計將帶您經歷多個分析和優化階段,這些階段突出了分析透視圖的所有功能,并為設計優化方法提供了基礎。
設計優化
本教程使用矩陣乘法器示例,回顧了兩種設計的優化技術。 設計優化實驗室解釋了如何對設計進行流水線設計,并與流水線化循環與流水線化功能的方法進行了對比。
本教程向您展示如何利用從分析中學到的見解來更新初始C代碼并創建更優化的設計實現。
RTL驗證
本教程說明如何使用RTL協同仿真功能自動驗證通過綜合創建的RTL。 本教程演示了C測試平臺的重要性,并向您展示了如何使用RTL驗證的輸出在Vivado和Mentor Graphics ModelSim模擬器中查看波形圖。
在IPI中使用HLS IP
本教程說明了如何將由高級綜合創建的RTL設計打包為IP,添加到Vivado IP目錄中,以及如何在Vivado Design Suite中使用。
在ZynqSoC設計中使用HLS IP
除了在Zynq?-7000SoC設計中使用HLS IP模塊之外,本教程還介紹了如何將由高級綜合創建的C驅動程序文件合并到Zynq處理系統(PS)的軟件中。
在SystemGeneratorforDSP中使用HLS IP
本教程說明了如何將由高級綜合創建的RTL設計打包為IP并在System Generator for DSP中使用。
總結
以上是生活随笔為你收集整理的Vivado HLS教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第5章 Python 数字图像处理(DI
- 下一篇: 1058. A+B in Hogwart