1 開發工具
1.1 獨立開發環境
PL—>Vivado
PS(ARM)-->SDK(Xilinx)或者第三方ARM開發工具
1.2 集成開發環境
SDSoC
1.3 總結
Ø 獨立開發環境大概分爲四個步驟:
(1) 系統架構師肯定硬件-軟件分區方案;
(2) 硬件工程師處理被分配到硬件中的功能,並將它們轉換或設計成IP核(Verilog/VHDL,也可用Vivado HLS實現C/C++高層次綜合);
(3) 利用Vivado IP Integrator 建立整個嵌入式系統的模塊化設計。包括開發須要的數據移動工具(AXI-DMA、AXI Memory Master、AXI-FIFO 等),以及鏈接 PL IP 與 PS 的 AXI 接口(GP、HP 和 ACP),以後將此項目導入到SDK中;
(4) 軟件工程師使用SDK開發PS中ARM處理器的驅動程序和應用。
對於以硬件爲中心的優化流程,矛盾每每出如今不一樣的數據移動工具和PL-PS接口以及寫入和調試驅動程序與應用,爲避免重構硬件形成軟件的變化,使得PS-PL開發更加緊密,賽靈思推出了SDSoC開發環境。將上述步驟(2)、(3)和(4)實現高度自動化,以縮短開發時間。該開發環境會生成必要的硬件和軟件組件,用以同步硬件和軟件並保存源程序語義,同時支持任務級並行處理和流水線化的通訊與計算,從而實現高性能。SDSoC 環境會自動安排全部必要的賽靈思工具(Vivado、IP Integrator、HLS 和 SDK),以生成針對
Zynq SoC 的完整軟硬件系統,並且所需的用戶介入程度很小。
2 Vivado
Vivado是基於IP的設計,稱爲blockdesign(BD),調用已有的IP,用戶本身編寫的邏輯模塊也封裝成IP,而後在模塊blcok中連線。邏輯開發完畢,再轉到SDK,SDK會根據Vivado的硬件設計設置調用相應的內部驅動代碼。(PL部分就如同ARM的總線AXI等掛的外設)
2.1 開發步驟
(1) 新建工程,選擇要開發的zynq芯片型號;編程
(2) 點擊「Create Block Design」,新建一個模塊block,並命名;
(3) 點擊「IP Catalog」,添加所須要的IP(包括ARM,PL-PS的接口,外圍接口模塊等等),用戶本身編寫的邏輯模塊封裝成IP,與固定IP同樣在此添加到BD中。緩存
(4) 約束文件(管腳約束、時序約束);
(5) 點擊「Generate Bitstream」,開始綜合、佈線、生成bit文件;
(6) 最後File -> Export ->Export Hardware 導出 .hdf 硬件描述文件給SDK用。
3 SDK
SDK根據上述生成的.hdf文件匹配FSBL,只需添加main.c文件便可。
3.1 步驟
(1) 在SDK中會根據.hdf文件顯示配置好的硬件配置環境;架構
(2) File -> New ->Application Project模塊化
(3) 系統會根據hdf配置好對應的板級支持包bsp,這個就是庫函數。在src裏面添加main.c,寫控制代碼,保存的時候會自動編譯函數
(4) 燒寫FPGA的bit文件,而後點擊Run,臨時調試,也能夠作成boot.bin文件燒寫到外flash或SD卡里面;工具
4 相似嵌入式 C/C++/OpenCL 應用開發的體驗--SDSoC
SDSoC™ 開發環境可爲異構 Zynq® AllProgrammable SoC 及 MPSoC 部署提供相似嵌入式 C/C++/OpenCL 應用的開發體驗,其中包括簡單易用的 Eclipse IDE 和綜合設計環境。SDSoC 提供業界首款 C/C++/OpenCL 全系統優化編譯器,可實現系統級的特性描述、可編程邏輯中的自動軟件加速、自動系統鏈接生成以及可加速編程的各類庫。此外,它還可幫助最終用戶及第三方平臺開發人員快速定義、集成和驗證系統級解決方案,爲其最終用戶實現定製化編程環境。(軟件工程師可以對
Zynq SoC 中的可編程邏輯和 ARM 處理系統進行編程)
l 簡單易用的 EclipseIDE 可用於開發支持嵌入式 C/C++/OpenCL 應用的全面 Zynq All Programmable SoC 和 MPSoC 系統
l 只需一點按鈕,就可對可編程邏輯 (PL) 中的功能進行加速
l 支持做爲目標 OS 的裸機、Linux 與 FreeRTOS
l Xilinx 庫做爲 Vivado HLS 的一部分,由聯盟成員提供,是可選硬件優化的庫。
l OpenCL 在 2016.3 版中爲早期的測試版。請聯繫您的當地銷售表明提出申請
4.1 系統級的特性描述
l 快速性能估算與面積估算可在幾分鐘內完成,包括 PS、數據通訊以及 PL
l 高速緩存、存儲器以及總線利用率的自動運行時儀表
l 可實現最佳整體系統架構的便捷生成與探索性能
4.2 全系統優化編譯器
l 可將C/C++/OpenCL 應用編譯成全功能 Zynq SoC 與 MPSoC 系統
l 可在生成 ARM 軟件與 FPGA 比特流的可編程邏輯中實現自動功能加速
l 不只可優化系統鏈接,並且還支持吞吐量、時延以及面積權衡的快速系統探索
4.3 SDSoC開發流程開發工具
1. SDSoC 環境使用快速估算流程(經過調用內含的Vivado HLS)構建應用項目。這樣在數分鐘內就能大體估算出性能和資源狀況。
2. 若是有必要,用適當的指令優化 C/C++ 應用和硬件功能,並從新運行估算直到實現所需的性能和佔位面積。
3. 而後,SDSoC 環境構建整個系統。該過程會生成完整的 Vivado Design Suite 項目和比特流,以及一個針對 Linux、FreeRTOS 或裸機的可引導的運行時間軟件映像。
測試
---------------------
做者:CONQUERczy
來源:CSDN
原文:https://blog.csdn.net/oQiCheng1234567/article/details/70886276
版權聲明:本文爲博主原創文章,轉載請附上博文連接!優化