Xilinx技術(shù)總監(jiān):為FPGA設(shè)計(jì)帶來革命性變革
全球可編程平臺領(lǐng)導(dǎo)廠商賽靈思公司 (Xilinx, Inc. (NASDAQ: XLNX) )日前在進(jìn)駐北京新址的慶典上,強(qiáng)調(diào)其對高增長的中國市場的承諾。該公司不斷擴(kuò)大其在亞太地區(qū)的影響力,包括開設(shè)研發(fā)中心,并將本地銷售、市場營銷和應(yīng)用工程設(shè)計(jì)等業(yè)務(wù)整合到統(tǒng)一的辦公地點(diǎn)。新址面積達(dá) 2,000 平米,將為北京本地、整個亞太區(qū)乃至跨國客戶提供強(qiáng)有力的支持。
以下是賽靈思賽靈思公司軟件研發(fā)技術(shù)總監(jiān)宋傳華博士在慶典中的演講實(shí)錄:
賽靈思中國研發(fā)中心的成立是賽靈思公司在2011年非常重要的投資,也是我們賽靈思研發(fā)部將創(chuàng)新DNA植根在中國的一個重要步驟,同時它也是我們“中國智造”整體戰(zhàn)略的一個重要組成部分。
當(dāng)前賽靈思擁有多項(xiàng)領(lǐng)先業(yè)界的先進(jìn)技術(shù)。其中業(yè)界首創(chuàng)的包括先進(jìn)的28納米半導(dǎo)體技術(shù)、基于堆疊硅片互聯(lián)技術(shù)(SSIT)的多晶圓集成技術(shù)、數(shù)模混合技術(shù)以及多核可擴(kuò)展處理平臺技術(shù)。這些技術(shù)大多基于硅片和硬件的平臺,而在軟件設(shè)計(jì)技術(shù)方面,我們也推出了AutoESL這一高層次綜合工具。它可以同時支持C語言、C++和SystemC的輸入,通過自動化的綜合過程生成高效的寄存器傳輸級設(shè)計(jì)描述。那么當(dāng)這一高層次綜合技術(shù)和多核可拓展處理平臺技術(shù)結(jié)合在一起時,又將能夠給大家?guī)硪恍┦裁礃拥男伦兓兀?/p>
Zynq™-7000是我們最新的一款芯片,它同時集成了ARM的處理器和FPGA可編程邏輯,并擁有多方面的技術(shù)優(yōu)勢。首先是基于28納米的先進(jìn)工藝,完美地將高性能和低功耗結(jié)合在了一起。同時,由于我們的CPU里集成了雙核ARM的處理器和常用外設(shè)接口模塊,大家仍然可以用傳統(tǒng)軟件開發(fā)的流程來開發(fā)自己的系統(tǒng)。此外,Zynq極大的加強(qiáng)了處理器和FPGA可編程邏輯之間的互聯(lián),其數(shù)量遠(yuǎn)超傳統(tǒng)的多芯片解決方案,其速度也更快。關(guān)于Zynq平臺,最后我們來總結(jié)一個關(guān)鍵的信息就是,我們這個平臺不僅是一款先進(jìn)的芯片,更是給大家提供了一個完整的開發(fā)平臺,它可以更好的支持大家完成自己所需的解決方案。
在整個設(shè)計(jì)平臺方面,在芯片的層面,我們提供了兩個部分,一是我們的處理器的系統(tǒng),第二就是我們可編程邏輯系統(tǒng)。從軟件的層面,我們提供操作系統(tǒng)和板極支持,我們的系統(tǒng)可以支持多種流行的嵌入式操作系統(tǒng)包括Linux、VxWorks、Android、WinCE和OSE等,這些大家都可以在我們的平臺上使用。為了便于用戶的開發(fā)我們還提供系統(tǒng)的仿真器,以及完善的軟件開發(fā)工具,也包括我們極為豐富的軟件IP,幫助大家快速的完成自己的設(shè)計(jì)。賽靈思和合作伙伴也提供了很多的參考板和參考開發(fā)流程,大家基于此進(jìn)行拓展,就可以很快的完成自己的解決方案。在技術(shù)支持方面,賽靈思和我們的合作伙伴都可以給大家提供前后一致、完整的支持流程。來保證大家可以獲得必要的幫助。
AutoESL是一款創(chuàng)新性產(chǎn)品,是最近幾年業(yè)界非常關(guān)注的ESL設(shè)計(jì)方法學(xué)中一個突出的設(shè)計(jì)工具。它可以同時支持C語言、C++和SystemC這三種語言的輸入,然后通過我們的工具的自動綜合過程生成所需RTL設(shè)計(jì)描述。在傳統(tǒng)的開發(fā)流程中,這個轉(zhuǎn)換過程是需要是由算法組和硬件設(shè)計(jì)組來分別完成的,如今已經(jīng)可以由我們的工具自動轉(zhuǎn)換完成了。同時AutoESL還提供了一個集成的驗(yàn)證流程。我們可以在C語言級別對算法進(jìn)行驗(yàn)證,然后系統(tǒng)會自動生成RTL包裝函數(shù),與C語言的測試向量進(jìn)行連接和混合仿真來確認(rèn)設(shè)計(jì)的功能,這個過程也是完全自動化的,無需用戶輸入和干預(yù)。當(dāng)實(shí)現(xiàn)RTL之后,我們的工具會自動與后端FPGA實(shí)現(xiàn)軟件進(jìn)行無縫連接,為大家提供一個完整的開發(fā)流程。
高層次的綜合有以下幾點(diǎn)好處。首先是設(shè)計(jì)生產(chǎn)率的提升。多年前工業(yè)界就完成了從晶體管級設(shè)計(jì)到RTL設(shè)計(jì)的轉(zhuǎn)變,今天我們完成的從RTL級設(shè)計(jì)到C語言級別設(shè)計(jì)的又一次飛躍。在高層次語言級別上進(jìn)行設(shè)計(jì)有著豐富的數(shù)據(jù)類型支持,它可以幫助用戶更好地關(guān)注算法級的設(shè)計(jì)理念,而不被一些煩瑣硬件實(shí)現(xiàn)細(xì)節(jié)所打擾。舉個例子講,比如說當(dāng)我們用到浮點(diǎn)運(yùn)算的時候,我們通常是會愿意用整型的定點(diǎn)數(shù)據(jù)類型去進(jìn)行轉(zhuǎn)換,以提高資源的利用率。在AutoESL設(shè)計(jì)流程中,我們直接給大家提供了定點(diǎn)數(shù)據(jù)類型的支持,包括中間類型轉(zhuǎn)換和精度的取舍操作,這樣大家就不必再關(guān)心這些繁瑣的實(shí)現(xiàn)細(xì)節(jié)。我們還可以看這樣一個具體的例子,在光流檢測視頻應(yīng)用中,若使用RTL進(jìn)行設(shè)計(jì),模塊功能仿真需要兩天的時間,而用C語言級別進(jìn)行仿真驗(yàn)證,只需短短的十秒鐘。另外,我們的設(shè)計(jì)在可復(fù)用性和可移植性方面也有著更好的表現(xiàn)。當(dāng)設(shè)計(jì)需要從一種性能指標(biāo)轉(zhuǎn)換成另一種性能指標(biāo)或者從一種器件移植到另外一種器件時,傳統(tǒng)的流程需要重新設(shè)計(jì)RTL的描述,而如今我們只要改變其中一兩個約束條件就能達(dá)到預(yù)期效果。
當(dāng)Zynq和AutoESL結(jié)合在一起時,它們能給我們帶來什么呢?在傳統(tǒng)的設(shè)計(jì)流程中,軟硬件的劃分是在系統(tǒng)設(shè)計(jì)之初完成的,需要我們的系統(tǒng)架構(gòu)師在一開始就進(jìn)行系統(tǒng)的劃分。再由軟件工程師對軟件進(jìn)行編程和測試,硬件開發(fā)人員對系統(tǒng)的硬件流程進(jìn)行開發(fā)和測試,最終將這兩部分集成到Zynq平臺上。但是當(dāng)Zynq和AutoESL結(jié)合在一起之后,我們的產(chǎn)品流程甚至設(shè)計(jì)方法學(xué)都產(chǎn)生了根本性的變化。在新的流程里,首先由系統(tǒng)開發(fā)人員進(jìn)行系統(tǒng)算法級別的開發(fā),并通過對算法的性能分析,來找到系統(tǒng)的性能、功耗的瓶頸部分,然后將其通過AutoESL轉(zhuǎn)換成硬件加速器,依靠系統(tǒng)反饋來監(jiān)測系統(tǒng)指標(biāo)是否可以滿足我們的需要。接下來我們的工具就會把軟件部分交給軟件編輯器去生成相應(yīng)的二進(jìn)制應(yīng)用程序,而硬件部分交給AutoESL工具產(chǎn)生硬件加速器的RTL代碼,進(jìn)而完成可編程邏輯的實(shí)現(xiàn)。整個系統(tǒng)的開發(fā)流程不再是分離的,而是變成了一個完整的開發(fā)過程。
通過這樣全新的設(shè)計(jì)流程,整個設(shè)計(jì)的靈活性也得到了較大的提升。我們不再需要一開始就綁定在某個解決方案上,而是可以根據(jù)我們的性能分析結(jié)果和設(shè)計(jì)需求的變化,現(xiàn)場決定設(shè)計(jì)方案。
綜上所述,我們說這種設(shè)計(jì)方法學(xué)的轉(zhuǎn)變是革命性的,將給大家?guī)砣碌脑O(shè)計(jì)體驗(yàn)和開發(fā)的便利。