我跟我同事說,“ 兩種語言阻礙了嵌入式系統(tǒng)開發(fā)人員和軟件工程師借助Zynq SOC來提升系統(tǒng)性能。”那就是“Verilog” 和 “VHDL”
正如期待那樣,這已經得到了解決—因為SDSoC開發(fā)環(huán)境真的可以實現。
設計師不用學習更多新的工具來提升性能,或者選擇越來越快的處理器來代替現有芯片。使用Zynq SoC 和Zynq UltraScale+ MPSoC可以提升嵌入式系統(tǒng)性能一至二個數量級,并且可以減少BOM成本,使用可編程邏輯的特別系統(tǒng)分區(qū),獨立的軟件和硬件開發(fā)流程。
現在,賽靈思推出SDSoC開發(fā)環(huán)境,它是為使用C/C++設計團隊特別設定的。基于Eclipse的SDSoC開發(fā)環(huán)境采用了業(yè)界首個“全系統(tǒng)優(yōu)化的編譯器”來自動轉換C/C++為:
在Zynq器件中ARM處理器操作系統(tǒng)調用的面相對象的語言
片上邏輯上的硬件加速度器
用于ARM處理器和可編程邏輯之間交互數據的IP核
用于測試和分析性能的語言
SDSoC的工作流程如下:
整個流程很像純軟件的嵌入式設計,但是它更快,這得益于可編程邏輯上的硬件加速器。
SDSoC開發(fā)環(huán)境利用片上邏輯資源創(chuàng)建軟件可用的硬件加速器,該片上資源是基于程序編譯指示,編程分析,計劃,硬件連接模式的連接。SDSoC使用特定的板級支持包(BSP)來創(chuàng)建
可編程邏輯部分
針對性的軟件加速功能
IP和經過優(yōu)化的庫
自動生成的系統(tǒng)連接
然后全系統(tǒng)優(yōu)化的編譯器自動將系統(tǒng)編譯為一個完整的軟件或者硬件系統(tǒng)。同時也會生成可編程邏輯比特流文件和用于ARM的ELF文件。
在此,盡管你沒有在上述流程上看到Verilog 或VHDL,這并不意味著賽靈思砍掉對HDL語言的支持。SDSoC開發(fā)環(huán)境會封裝和自動生成HDL、綜合、布局布線就像C/C++編譯器封裝和自動完成代碼優(yōu)化和轉化為目標語言一樣。
SDSoC開發(fā)環(huán)境包含許多基于Zynq的開發(fā)板的支持包,包括ZC702,ZC706,賽靈思圖像處理開發(fā)板,以及第三方的安富利的Zedboard,Microzed和德致倫的ZYBO開發(fā)板。這些支持包(BSP)包含元數據使得SDSoC開發(fā)環(huán)境可以抽象化嵌入式平臺以提高生產效率和加速研發(fā)周期。
SDSoC開發(fā)環(huán)境系統(tǒng)優(yōu)化編譯器使用ARM和可編程邏輯在最短的時間內來實現系統(tǒng)任務。SDSoC使得系統(tǒng)架構師和軟件團隊使用“萬能的”C/C++來快速地實現片上資源的優(yōu)化,自動生成系統(tǒng)連接以提高系統(tǒng)內部連接性能。嵌入式系統(tǒng)設計師可以權衡性能,數據吞吐量,延遲,同時縮短設計周期。
這可能不是你第一次碰到嵌入式自動化工具了,所以,你可能對此還是持有懷疑態(tài)度。但是,你必須知道SDSoC系統(tǒng)編譯器是基于賽靈思高層次綜合(HLS)編譯技術的,且這項技術已經有超過1000個開發(fā)人員使用。就是說,已經有許多人在你之前使用了SDSoC開發(fā)環(huán)境了。
SDSoC是SDx開發(fā)環(huán)境系列的第三款產品,這些產品帶來了顯著的性能提升和功耗降低,應用于廣泛的系統(tǒng)開發(fā)人員和軟件工程師,例如高速網絡(SDNet),數據中心應用(SDAccel),現在是嵌入式系統(tǒng)(SDSoC)。SDx開發(fā)環(huán)境提供非常簡單,類似于ASSP的開發(fā)流程,使你可以不用變成HDL專家也可以在可編程邏輯獲得性能上的提升。
-
嵌入式系統(tǒng)
+關注
關注
41文章
3610瀏覽量
129605 -
C++
+關注
關注
22文章
2113瀏覽量
73745 -
自動化工具
+關注
關注
0文章
8瀏覽量
1645
發(fā)布評論請先 登錄
相關推薦
C++中的結構和類
基于OpenHarmony開發(fā)板上測試Native C++應用開發(fā)
C++入門教程之C++程序設計的課件資料免費下載
![<b class='flag-5'>C++</b>入門教程之<b class='flag-5'>C++</b>程序設計的課件資料免費下載](https://file.elecfans.com/web1/M00/7D/9D/pIYBAFwJzPaATfGzAAB9eKe7fFA045.png)
C++程序設計的基礎知識初步了解C++的資料免費下載
![<b class='flag-5'>C++</b>程序設計的基礎知識初步了解<b class='flag-5'>C++</b>的資料免費下載](https://file.elecfans.com/web1/M00/95/47/o4YBAFz-DYOAIEloAACt1tceweA466.png)
嵌入式程序開發(fā),C語言和C++究竟應該用哪個?
![嵌入式程序<b class='flag-5'>開發(fā)</b>,<b class='flag-5'>C</b>語言和<b class='flag-5'>C++</b>究竟應該用哪個?](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
IAR中使用C++做開發(fā)語言,更加簡單高效
![IAR中使用<b class='flag-5'>C++</b>做<b class='flag-5'>開發(fā)</b>語言,更加簡單高效](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
MDK中用C++開發(fā)STM32
![MDK中用<b class='flag-5'>C++</b><b class='flag-5'>開發(fā)</b>STM32](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
運用JNI連結OpenCV開發(fā)C++并打包成aar lib的使用教學
C++學習筆記之c++的基本認識
C++之父新作帶你勾勒現代C++地圖
![<b class='flag-5'>C++</b>之父新作帶你勾勒現代<b class='flag-5'>C++</b>地圖](https://file1.elecfans.com/web2/M00/AD/10/wKgZomU_azGAffwHAAAHSRvJtKU665.png)
開箱即用!教你如何正確使用華為云CodeArts IDE for C/C++!
![開箱即用!教你如何正確使用華為云CodeArts IDE for <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>!](https://file1.elecfans.com//web2/M00/B1/D1/wKgaomVnCCCAU_AjAACrYkCTilw477.gif)
C++簡史:C++是如何開始的
![<b class='flag-5'>C++</b>簡史:<b class='flag-5'>C++</b>是如何開始的](https://file1.elecfans.com/web2/M00/A9/66/wKgZomUl7m-AHJX6AABuJjgxs14678.png)
評論