《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 解決方案 > 賽靈思All Programmable抽象化: All Programmable的實(shí)現(xiàn)之路

賽靈思All Programmable抽象化: All Programmable的實(shí)現(xiàn)之路

2013-05-27

自計(jì)算機(jī)計(jì)算誕生以來,抽象化與自動(dòng)化已成為設(shè)計(jì)團(tuán)隊(duì)提高生產(chǎn)力的有力工具。我們細(xì)想一下世界上第一臺數(shù)字計(jì)算機(jī)ENIAC,這是1946年受美國軍方委托開發(fā)的項(xiàng)目,被預(yù)示為“超級大腦”。它能通過編程執(zhí)行復(fù)雜的運(yùn)算序列。然而,處理編程問題并將其映射至機(jī)器的這個(gè)過程十分復(fù)雜,通常需要數(shù)周才能完成。在紙上完成編程后,需要通過操控計(jì)算機(jī)的開關(guān)和線纜將程序輸入ENIAC中,這又需要數(shù)天甚至數(shù)周時(shí)間。然后輔以機(jī)器的“單步執(zhí)行”功能進(jìn)行驗(yàn)證和調(diào)試。

 

編程抽象化

 

像1972年Dennis Richie在貝爾實(shí)驗(yàn)室開發(fā)的C編程語言之類的創(chuàng)新,使實(shí)現(xiàn)一種獨(dú)立于機(jī)器但仍允許程序員對各個(gè)信息位行為進(jìn)行控制的高級編程技術(shù)成為可能。由于C語言具有強(qiáng)大的功能和高度的靈活性,最初采用匯編代碼編寫的UNIX操作系統(tǒng)幾乎可以直接用C語言進(jìn)行重寫。鑒于與UNIX密切相關(guān),加上C自動(dòng)編譯器的推出,C語言迅速得到推廣,1983年美國國家標(biāo)準(zhǔn)協(xié)會(ANSI) 對其進(jìn)行了標(biāo)準(zhǔn)化。

 

Bjarne Stroustrup 在1978年研究博士論文時(shí)就開始研究“C with Classes”,顧名思義就是一種C語言的父集。他的目標(biāo)是在C語言中加入面向?qū)ο蟮某绦蛟O(shè)計(jì),同時(shí)在不犧牲性能或低級可控性的前提下保持可移植性。1983年,這種語言更名為C++,并新增了一些功能以及更多編譯器支持。

 

硬件抽象化

差不多在相同的時(shí)期內(nèi),抽象化也正被引入硬件設(shè)計(jì)方法中。1981年,美國國防部正在開發(fā)VHSIC硬件描述語言(VHDL),用以“解決硬件設(shè)計(jì)生命周期危機(jī)”。所提出的要求是:這種語言要具有廣泛的描述功能,在任何仿真器上得出的結(jié)果應(yīng)該是相同的,而且要獨(dú)立于技術(shù)和設(shè)計(jì)方法。

 

與此同時(shí),Gateway Design Automation公司開發(fā)了一種名為Verilog-XL的邏輯仿真器,后來被Cadence Design Systems公司收購。該語言隨后向公眾推廣,使其他從事電子設(shè)計(jì)自動(dòng)化(EDA)公司都能夠用它構(gòu)建自動(dòng)化功能。隨著VHDL和Verilog標(biāo)準(zhǔn)化,設(shè)計(jì)自動(dòng)化接踵而至。

抽象化推動(dòng)設(shè)計(jì)自動(dòng)化發(fā)展

 

基于標(biāo)準(zhǔn)的自動(dòng)化

 

為了滿足市場要求,設(shè)計(jì)團(tuán)隊(duì)正在借助軟/硬件設(shè)計(jì)方法,并利用具有不同抽象化層次的異構(gòu)并行架構(gòu)來開發(fā)“更智能”系統(tǒng)。行業(yè)標(biāo)準(zhǔn)與開源社區(qū)的推廣使抽象化自動(dòng)化成為可能。就硬件加速而言,IP標(biāo)準(zhǔn)正在孕育著真正的即插即用型IP,并促進(jìn)IP集成自動(dòng)化發(fā)展,從而有助于提高設(shè)計(jì)人員的設(shè)計(jì)生產(chǎn)力。

 

對于針對賽靈思All Programmable FPGA和SOC設(shè)計(jì)的開發(fā)團(tuán)隊(duì)而言,這些抽象化成為了提高設(shè)計(jì)團(tuán)隊(duì)設(shè)計(jì)生產(chǎn)力的有力工具。Vivado™設(shè)計(jì)套件配合使用廣泛的第三方操作系統(tǒng)、工具和IP核,可加速All Programmable器件的集成與實(shí)現(xiàn)。

Vivado設(shè)計(jì)套件:IP集成器

 

最新發(fā)布的Vivado設(shè)計(jì)套件提供一種新型IP集成器(IPI),用于實(shí)現(xiàn)IP智能集成。IPI提供圖形化、腳本編寫(Tcl)、生成即保證正確(correct-by-construction)、及以IP和系統(tǒng)為中心的設(shè)計(jì)開發(fā)流程。IPI 建立在Vivado集成設(shè)計(jì)環(huán)境的基礎(chǔ)之上,同時(shí)具備器件感知與平臺感知功能。這種互動(dòng)環(huán)境支持關(guān)鍵IP接口的智能自動(dòng)連接、IP子系統(tǒng)一鍵式生成、實(shí)時(shí)DRC以及接口變更傳播功能,而且具備強(qiáng)大的調(diào)試功能。

 

 

IPI使設(shè)計(jì)可以通過“生成即保證正確”的方式完成。設(shè)計(jì)人員能夠進(jìn)行接口級抽象化(interface level of abstraction),并可利用廣泛的IP系列。這些IP通過AMBA® AXI4接口提供,存儲在一個(gè)開放的行業(yè)標(biāo)準(zhǔn)IP-XACT庫中。

 

設(shè)計(jì)團(tuán)隊(duì)現(xiàn)在可以使用IPI快速組裝復(fù)雜的系統(tǒng)。將該工具與其他Vivado功能配合使用,能夠確保設(shè)計(jì)和IP得到正確配置,因此利用VHDL或Verilog語言提高以上抽象化,從而改善生產(chǎn)力。此外,IPI的內(nèi)置自動(dòng)化器件驅(qū)動(dòng)程序以及地址映射生成功能可以消除軟件開發(fā)流程中的手動(dòng)操作步驟。

ALL PROGRAMMABLE 抽象化與自動(dòng)化

 

Vivado設(shè)計(jì)套件:高層次綜合

 

傳統(tǒng)的標(biāo)準(zhǔn)軟件抽象化現(xiàn)在也被用于硬件開發(fā)。很多開發(fā)團(tuán)隊(duì)將C和C的派生語言作為硬件開發(fā)的建模語言。主要原因有兩點(diǎn):這種方法的驗(yàn)證優(yōu)勢是RTL仿真的100倍;或者,開發(fā)團(tuán)隊(duì)需要對運(yùn)行在處理器上的算法進(jìn)行加速。Vivado高層次綜合能使賽靈思All Programmable器件充分滿足C、C++和System C規(guī)范要求,從而加速IP的創(chuàng)建。Vivado HLS無需手動(dòng)創(chuàng)建RTL,同時(shí)還能提供快速的設(shè)計(jì)空間探索。由于能夠提高生產(chǎn)力和設(shè)計(jì)重用性,這種工具正在得到廣泛應(yīng)用。

 

賽靈思通過推出最新的Vivado,為具有行業(yè)標(biāo)準(zhǔn)的OpenCV庫增添了有效支持。OpenCV可幫助優(yōu)化運(yùn)行在處理器(例如Zynq™-7000 All Programmable SoC上的處理)上的智能視頻算法移植到基于硬件的加速器上(該加速器可通過IPI快速集成到異構(gòu)系統(tǒng)中)。憑借Vivado IPI與HLS系統(tǒng),設(shè)計(jì)架構(gòu)師就可以更加快速地實(shí)現(xiàn)復(fù)雜的異構(gòu)系統(tǒng)。

VIVADO設(shè)計(jì)套件自動(dòng)化

自動(dòng)化而非指令性的設(shè)計(jì)流程

 

根據(jù)解決問題的要求不同,開發(fā)團(tuán)隊(duì)也會采用基于模型的抽象化。基于模型的流程可提供一系列面向智能視覺、智能網(wǎng)絡(luò)應(yīng)用及其它應(yīng)用的豐富模型庫。設(shè)計(jì)團(tuán)隊(duì)可以開發(fā)并改善算法,在更高的抽象化級別上充分滿足系統(tǒng)要求,且無需擔(dān)心具體的實(shí)現(xiàn)細(xì)節(jié)。然后,基于模型的流程會自動(dòng)從算法模型中生成用于處理器的C代碼以及RTL代碼。賽靈思與MathWorks®和National Instruments®展開緊密合作,以確保為Zynq-7000 AP SoC設(shè)計(jì)的實(shí)現(xiàn)提供高度自動(dòng)化和無縫的流程。

 

要想充分發(fā)揮All Programmable設(shè)計(jì)的優(yōu)勢,主要取決于自動(dòng)化水平和高層次的抽象化。今天,賽靈思率先推出各種設(shè)計(jì)方法,能充分應(yīng)對上述挑戰(zhàn)。賽靈思與其生態(tài)系統(tǒng)的聯(lián)盟成員共同開發(fā)并推出直觀的智能標(biāo)準(zhǔn)化設(shè)計(jì)流程,可支持開發(fā)工作實(shí)現(xiàn)自動(dòng)化(而非指令化),從而在確保性能、功耗或成本優(yōu)勢的前提下靈活地滿足開發(fā)團(tuán)隊(duì)的需求。

未來的自動(dòng)化:助力軟件和系統(tǒng)設(shè)計(jì)師

 

賽靈思致力于提供一款系統(tǒng)級異構(gòu)并行的編程環(huán)境,可靈活地利用C/C++等熟悉的當(dāng)前抽象化技術(shù),并不斷擴(kuò)展到包括開放計(jì)算語言(OpenCL)(基于Eclipse的綜合軟件開發(fā)環(huán)境)在內(nèi)的最新抽象化技術(shù)。這種環(huán)境可提供特定市場的庫,能夠通過采用賽靈思All Programmable器件顯著提高異構(gòu)系統(tǒng)的驗(yàn)證效率,并且理想適用于助力采用并行架構(gòu)的系統(tǒng)架構(gòu)師、軟件應(yīng)用開發(fā)人員以及嵌入式設(shè)計(jì)人員,從而提高系統(tǒng)性能,降低材料成本和總體功耗,并在開發(fā)時(shí)間上與ASSP、DSP和GPU保持一致。

 

系統(tǒng)級抽象化與自動(dòng)化

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。