對 Verilog 和 VHDL 說再見!
上周我跟我同事說,“ 兩種語言阻礙了嵌入式系統(tǒng)開發(fā)人員和軟件工程師借助Zynq SOCs來提升系統(tǒng)性能。”那就是“Verilog” 和 “VHDL”
正如期待那樣,這已經(jīng)得到了解決—因為SDSoC開發(fā)環(huán)境真的可以實現(xiàn)。
設(shè)計師不用學(xué)習(xí)更多新的工具來提升性能,或者選擇越來越快的處理器來代替現(xiàn)有芯片。使用Zynq SoCs 和Zynq UltraScale+ MPSoCs可以提升嵌入式系統(tǒng)性能一至二個數(shù)量級,并且可以減少BOM成本,使用可編程邏輯的特別系統(tǒng)分區(qū),獨(dú)立的軟件和硬件開發(fā)流程。
現(xiàn)在,賽靈思推出SDSoC開發(fā)環(huán)境,它是為使用C/C++設(shè)計團(tuán)隊特別設(shè)定的?;贓clipse的SDSoC開發(fā)環(huán)境采用了業(yè)界首個“全系統(tǒng)優(yōu)化的編譯器”來自動轉(zhuǎn)換C/C++為:
在Zynq器件中ARM處理器操作系統(tǒng)調(diào)用的面相對象的語言
片上邏輯上的硬件加速度器
用于ARM處理器和可編程邏輯之間交互數(shù)據(jù)的IP核
用于測試和分析性能的語言
SDSoC的工作流程如下:
整個流程很像純軟件的嵌入式設(shè)計,但是它更快,這得益于可編程邏輯上的硬件加速器。
SDSoC開發(fā)環(huán)境利用片上邏輯資源創(chuàng)建軟件可用的硬件加速器,該片上資源是基于程序編譯指示,編程分析,計劃,硬件連接模式的連接。SDSoC使用特定的板級支持包(BSP)來創(chuàng)建
可編程邏輯部分
針對性的軟件加速功能
IP和經(jīng)過優(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)化和轉(zhuǎn)化為目標(biāo)語言一樣。
SDSoC開發(fā)環(huán)境包含許多基于Zynq的開發(fā)板的支持包,包括ZC702,ZC706,賽靈思圖像處理開發(fā)板,以及第三方的安富利的Zedboard,Microzed和德致倫的ZYBO開發(fā)板。這些支持包(BSP)包含元數(shù)據(jù)使得SDSoC開發(fā)環(huán)境可以抽象化嵌入式平臺以提高生產(chǎn)效率和加速研發(fā)周期。
這里演示一個7分鐘例子來展示通過一個簡單的方法能夠在視頻Pipeline系統(tǒng)上提升60x速度的代碼執(zhí)行過程。
SDSoC開發(fā)環(huán)境系統(tǒng)優(yōu)化編譯器使用ARM和可編程邏輯在最短的時間內(nèi)來實現(xiàn)系統(tǒng)任務(wù)。SDSoC使得系統(tǒng)架構(gòu)師和軟件團(tuán)隊使用“萬能的”C/C++來快速地實現(xiàn)片上資源的優(yōu)化,自動生成系統(tǒng)連接以提高系統(tǒng)內(nèi)部連接性能。嵌入式系統(tǒng)設(shè)計師可以權(quán)衡性能,數(shù)據(jù)吞吐量,延遲,同時縮短設(shè)計周期。
這可能不是你第一次碰到嵌入式自動化工具了,所以,你可能對此還是持有懷疑態(tài)度。但是,你必須知道SDSoC系統(tǒng)編譯器是基于賽靈思高層次綜合(HLS)編譯技術(shù)的,且這項技術(shù)已經(jīng)有超過1000個開發(fā)人員使用。就是說,已經(jīng)有許多人在你之前使用了SDSoC開發(fā)環(huán)境了。
SDSoC是SDx開發(fā)環(huán)境系列的第三款產(chǎn)品,這些產(chǎn)品帶來了顯著的性能提升和功耗降低,應(yīng)用于廣泛的系統(tǒng)開發(fā)人員和軟件工程師,例如高速網(wǎng)絡(luò)(SDNet),數(shù)據(jù)中心應(yīng)用(SDAccel),現(xiàn)在是嵌入式系統(tǒng)(SDSoC)。SDx開發(fā)環(huán)境提供非常簡單,類似于ASSP的開發(fā)流程,使你可以不用變成HDL專家也可以在可編程邏輯獲得性能上的提升。