被譽(yù)為“萬(wàn)能芯片”的FPGA,近年來(lái)越來(lái)越多的受到國(guó)內(nèi)市場(chǎng)的關(guān)注。不過(guò),其技術(shù)門檻之高,在芯片領(lǐng)域幾乎是無(wú)出其右的。其中,在制約FPGA發(fā)展的眾多因素中,最關(guān)鍵的便是EDA軟件工具。
缺一不可!發(fā)展FPGA需軟硬件兩手抓
FPGA全稱為Field Programmable Array,是通過(guò)可編程互連連接的可配置邏輯塊(CLB) 矩陣構(gòu)成的可編程半導(dǎo)體器件。FPGA需要配套軟件將用戶設(shè)計(jì)燒錄到芯片上才能實(shí)現(xiàn)相應(yīng)功能。
目前,在芯片市場(chǎng)主要有CPU、GPU、FPGA與ASIC四大類型。與其它主流芯片相比,F(xiàn)PGA的的靈活性要高于專用芯片ASIC,性能和實(shí)時(shí)處理能力優(yōu)于CPU,無(wú)需NRE成本,上市時(shí)間也更快。不過(guò),其功耗、成本、尺寸都大于專用芯片ASIC,應(yīng)用開(kāi)發(fā)門檻偏高,并不適合海量應(yīng)用。
知名半導(dǎo)體專家(《芯事》作者)謝志峰博士認(rèn)為:“發(fā)展FPGA必須在硬件和軟件兩方面共同發(fā)展,如果國(guó)內(nèi)芯片制程工藝達(dá)不到要求,F(xiàn)PGA產(chǎn)業(yè)很難達(dá)到最先進(jìn)的水平?!?/p>
FPGA是需要“芯片+EDA+IP”來(lái)實(shí)現(xiàn)功能的產(chǎn)品,如果把FPGA比作電腦,那么芯片相當(dāng)于Intel CPU,EDA軟件相當(dāng)于微軟OS,IP方案則相當(dāng)于應(yīng)用軟件。電腦正常工作需要Intel CPU、微軟OS、應(yīng)用軟件共同配合,F(xiàn)PGA也需要芯片、EDA、IP這些軟硬件共同支撐實(shí)現(xiàn)功能。
不過(guò),此處的EDA并不是指廣義的通用EDA。廣義的EDA 是芯片設(shè)計(jì)中必需和最重要的集成電路軟件設(shè)計(jì)工具。廣義EDA市場(chǎng)份額占據(jù)前三的Synopsys、Cadence(鏗騰電子)和被西門子收購(gòu)的Mentor,是ASIC設(shè)計(jì)領(lǐng)域主要的軟件供應(yīng)商,其它公司的軟件相對(duì)來(lái)說(shuō)在IC設(shè)計(jì)時(shí)使用者較少。
此文所指的EDA是FPGA專用的軟件開(kāi)發(fā)工具。不論用戶選擇使用的是哪個(gè)廠家的FPGA,在用戶端實(shí)現(xiàn)功能時(shí),都需要通過(guò)該廠家自主研發(fā)的EDA,也就是FPGA軟件工具的一系列流程來(lái)操作完成,比如Xilinx的Vivado、Intel的QuartusII、國(guó)內(nèi)紫光同創(chuàng)的PDS,都屬于各家的FPGA軟件工具。
從設(shè)計(jì)流程上來(lái)講,F(xiàn)PGA與其他芯片的前端設(shè)計(jì)流程是相同的,設(shè)計(jì)FPGA芯片本身也需要用到廣義的通用EDA,但當(dāng)芯片設(shè)計(jì)基本完成后,如ASIC專用芯片不需要編程,直接可焊到板子上運(yùn)行,F(xiàn)PGA則需要通過(guò)軟件工具中的流程將用戶寫好的程序編譯到FPGA中。
通俗來(lái)講,如果將硬件比作紙,用戶把需要實(shí)現(xiàn)的功能下載到芯片上類似于把畫畫到紙上,那么軟件工具就是作畫的那支畫筆。一幅畫作的完成必須兼具紙張與畫筆。也就是說(shuō),對(duì)于FPGA而言,軟硬件必須是“兩條腿走路”,互相支撐配合,缺一不可。
舉足輕重!軟件工具決定了FPGA發(fā)展水平
雖然FPGA前后端設(shè)計(jì)與數(shù)字芯片具有很多相通性,但FPGA設(shè)計(jì)流程中往往是軟件工具先行,尤其在高端大規(guī)模領(lǐng)域。就FPGA本身而言,制約其發(fā)展的因素有成本、功耗及軟件開(kāi)發(fā)工具等。其中軟件工具的作用舉足輕重。
紫光同創(chuàng)市場(chǎng)總監(jiān)呂喆認(rèn)為:“軟硬件協(xié)同發(fā)展的FPGA,軟件工具的水平基本上與硬件的水平是對(duì)應(yīng)的。從某種程度上甚至可以說(shuō),軟件工具處于決定性地位,其軟件工具研發(fā)水平?jīng)Q定了硬件規(guī)模和性能所能達(dá)到的高度。”
軟件工具的研發(fā)不僅極具重要性,對(duì)于FPGA的發(fā)展更是十分必要的。為了在應(yīng)用端最大限度地發(fā)揮硬件性能,F(xiàn)PGA廠商必須為用戶提供自主開(kāi)發(fā)的軟件工具。除了考慮與芯片硬件架構(gòu)的匹配和一致性,軟件工具編程設(shè)計(jì)時(shí)還要考慮應(yīng)用場(chǎng)景多樣性、時(shí)許模型的復(fù)雜性和用戶使用體驗(yàn)及效率等。因此,F(xiàn)PGA廠商需要在軟件工具方面不斷投入。以FPGA巨頭Xilinx公司為例,其研發(fā)人員約為1500人,軟硬件人員基本相同,其中EDA工具人員就超過(guò)500人。
FPGA企業(yè)都擁有自主研發(fā)的軟件工具。如Vivado和ISE是Xilinx公司提供的集成化FPGA開(kāi)發(fā)軟件,它的主要功能包括設(shè)計(jì)輸入(DesignEntry)、綜合(Synthesis)、仿真(Simulation)、實(shí)現(xiàn)(Implementation)和下載(Download)等。
Quartus II是Altera(已被intel收購(gòu))推出的一種可編程邏輯的設(shè)計(jì)工具,其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,日益受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。
Lattice的軟件工具Diamond包含的編程器,可對(duì)同一掃描鏈上的一個(gè)或多個(gè)FPGA器件進(jìn)行直接編程。它支持標(biāo)準(zhǔn)FPGA設(shè)計(jì)流程功能,其邏輯綜合工具專為超低密度以及低密度FPGA提供設(shè)計(jì)支持。
Pango Design Suite是紫光同創(chuàng)基于多年FPGA開(kāi)發(fā)軟件技術(shù)攻關(guān)與工程實(shí)踐經(jīng)驗(yàn)而研發(fā)的一款擁有國(guó)產(chǎn)自主知識(shí)產(chǎn)權(quán)的大規(guī)模FPGA開(kāi)發(fā)軟件,可以支持千萬(wàn)門級(jí)FPGA器件的設(shè)計(jì)開(kāi)發(fā)。
任重道遠(yuǎn)!自研FPGA軟件工具難度高
近二十多年來(lái),除了針對(duì)FPGA特點(diǎn)所采用的設(shè)計(jì)實(shí)現(xiàn)方法不斷升級(jí)外,國(guó)內(nèi)外FPGA軟件工具的方法學(xué)和總體研發(fā)模式其實(shí)未曾改變。
用戶端在使用FPGA時(shí),需將RTL代碼通過(guò)邏輯綜合工具、映射工具、布局布線工具、配置數(shù)據(jù)流生成工具、編程下載工具等生成下載到芯片里,結(jié)合時(shí)序和功耗分析工具以及在線調(diào)試工具,完成用戶應(yīng)用在FPGA中的實(shí)現(xiàn)的整個(gè)過(guò)程。
在整個(gè)FPGA軟件工具設(shè)計(jì)流程中,除了仿真工具借助第三方工具實(shí)現(xiàn),其他環(huán)節(jié)基本都需要FPGA廠商自己的軟件工具覆蓋,特別是以邏輯綜合工具和設(shè)計(jì)實(shí)現(xiàn)部分為代表的環(huán)節(jié),存在著較大研發(fā)難度。
在綜合軟件設(shè)計(jì)流程中,包含了從硬件描述語(yǔ)言HDL到門級(jí)映射和優(yōu)化的多個(gè)環(huán)節(jié),幾乎每一個(gè)小環(huán)節(jié)都需要研發(fā)人員付諸努力不斷鉆研,從而取得突破。
在用戶設(shè)計(jì)經(jīng)過(guò)綜合映射成門級(jí)網(wǎng)表之后,還需要經(jīng)過(guò)編譯、轉(zhuǎn)換、映射、布局布線、位流生成、編程下載最終在FPGA芯片實(shí)現(xiàn)功能。其中,布局、布線兩個(gè)環(huán)節(jié)作為核心技術(shù)難關(guān)尤為難以攻克。
紫光同創(chuàng)軟件專家表示,布局是將邏輯映射到目標(biāo)器件結(jié)構(gòu)資源中,布局主要考慮三個(gè)方面的因素:一是使Instances盡量集中分布,減少布線資源的線長(zhǎng);二是控制Instances均勻分布的密度;三是控制所有Instances之間的總延時(shí)盡可能小。布局關(guān)鍵技術(shù)在于如何在短時(shí)間內(nèi)得到全局最優(yōu)解。
布線是將已布局好的instances按照連接關(guān)系通過(guò)布線通道連接起來(lái)。布線主要考慮的因素包括擁塞和時(shí)序兩個(gè)方面的因素。
擁塞和時(shí)序兩個(gè)因素對(duì)于布線器來(lái)說(shuō)是矛盾的。如果產(chǎn)生擁塞,那么不可避免的使某些路徑延時(shí)較長(zhǎng);如果要使每條路徑延時(shí)最小,那么不可避免的要產(chǎn)生擁塞。為了解決擁塞和時(shí)序競(jìng)爭(zhēng)的關(guān)系,可以使用相關(guān)算法,使得時(shí)序關(guān)鍵網(wǎng)絡(luò)占用擁擠路徑資源,而在時(shí)序方面并不關(guān)鍵的網(wǎng)絡(luò)占用一條更長(zhǎng)且不擁擠的路徑資源。
可以看出來(lái),在一定程度上,F(xiàn)PGA幾乎是芯片設(shè)計(jì)領(lǐng)域中最需要技術(shù)突破的產(chǎn)品,F(xiàn)PGA軟件工具尤為復(fù)雜。
清華大學(xué)微電子所所長(zhǎng)魏少軍教授曾指出:“在EDA工具方面,國(guó)內(nèi)對(duì)‘邏輯綜合’和‘布局布線’兩個(gè)核心基本沒(méi)有貢獻(xiàn),甚至都不去碰它。國(guó)內(nèi)大多數(shù)設(shè)計(jì)企業(yè)普遍依賴EDA公司或Foundry給出的設(shè)計(jì)流程,對(duì)于產(chǎn)品性能和競(jìng)爭(zhēng)力造成影響。”
奮起直追!國(guó)產(chǎn)FPGA企業(yè)不斷突圍
從FPGA發(fā)展歷程來(lái)看,從1984年美國(guó)Xilinx公司推出了全球第一款FPGA產(chǎn)品XC2064算起,之后十多年間,F(xiàn)PGA軟件工具為FPGA的發(fā)展起到了至關(guān)重要的作用。隨著FPGA朝著系統(tǒng)平臺(tái)化的方向演進(jìn),軟件工具和生態(tài)的重要性顯得越來(lái)越重要。
前不久,賽靈思宣布推出一款名為“Vitis”的統(tǒng)一軟件平臺(tái),它能夠讓軟硬件開(kāi)發(fā)者們?cè)跓o(wú)需掌握硬件專業(yè)知識(shí)的情況下,根據(jù)軟件或算法代碼來(lái)自動(dòng)適配并使用Xilinx的硬件架構(gòu)。這也是國(guó)際領(lǐng)先廠商布局FPGA生態(tài)的戰(zhàn)略方向,即通過(guò)軟件棧和工具鏈,結(jié)合業(yè)界各細(xì)分行業(yè)的算法框架和應(yīng)用庫(kù),把傳統(tǒng)的軟件開(kāi)發(fā)者吸納到FPGA加速應(yīng)用當(dāng)中,分享FPGA高性能計(jì)算硬件平臺(tái)的價(jià)值,與CPU和GPU共享計(jì)算加速市場(chǎng)的紅利。
反觀國(guó)內(nèi)FPGA產(chǎn)業(yè),我們起步比國(guó)外晚了二十多年。在這期間國(guó)外FPGA產(chǎn)業(yè)已經(jīng)完成了系列整合并購(gòu),市場(chǎng)格局已經(jīng)基本確定,Xilinx、Intel和Lattice等企業(yè)基本上壟斷了全球市場(chǎng)。從2010年開(kāi)始,國(guó)內(nèi)才陸續(xù)出現(xiàn)自主知識(shí)產(chǎn)權(quán)的國(guó)產(chǎn)FPGA企業(yè),而紫光同創(chuàng)正是其中的佼佼者。
紫光同創(chuàng)市場(chǎng)總監(jiān)呂喆介紹,我們總說(shuō)紫光同創(chuàng)的PGT180H代表當(dāng)前國(guó)產(chǎn)FPGA的最高水平,實(shí)際上背后的軟件工具才是真正的定海神針,更大的邏輯規(guī)模和更高的性能,意味著指數(shù)級(jí)增長(zhǎng)的軟件算法復(fù)雜度,這是大家可能沒(méi)有意識(shí)到的。
紫光同創(chuàng)通過(guò)不斷嘗試,其具有自主知識(shí)產(chǎn)權(quán)的大規(guī)模FPGA開(kāi)發(fā)軟件Pango Design Suite(PDS),已經(jīng)可以支持?jǐn)?shù)千萬(wàn)門級(jí)FPGA器件的設(shè)計(jì),并可實(shí)現(xiàn)從RTL綜合到配置數(shù)據(jù)流生成下載的全套操作,形成了完全自主知識(shí)產(chǎn)權(quán)的FPGA開(kāi)發(fā)工具套件。接下來(lái),紫光同創(chuàng)將致力于做更大規(guī)模的器件,力圖進(jìn)一步突破。
從產(chǎn)業(yè)鏈角度而言,F(xiàn)PGA的發(fā)展涉及到單元架構(gòu)、IP、EDA軟件、制程工藝、封裝技術(shù)、專業(yè)人才等諸多方面,其發(fā)展之路并不平坦。加之較高的技術(shù)壁壘,對(duì)于國(guó)內(nèi)FPGA的發(fā)展來(lái)說(shuō),依靠自主技術(shù)和自主產(chǎn)品,尤其軟件工具的技術(shù)突破,就較為關(guān)鍵了。
寫在最后
如今,國(guó)內(nèi)FPGA產(chǎn)業(yè)正處于低端向中高端過(guò)渡的關(guān)鍵時(shí)期,國(guó)內(nèi)企業(yè)已經(jīng)意識(shí)到軟件工具自主化的重要意義,并逐步加大投入力度。
隨著國(guó)家、各地政府對(duì)集成電路產(chǎn)業(yè)尤其FPGA產(chǎn)品的大力扶持,國(guó)內(nèi)半導(dǎo)體產(chǎn)業(yè)鏈的不斷成熟完善,以及新興市場(chǎng)需求的增大,我們期待著有更多的國(guó)產(chǎn)FPGA企業(yè)能夠在軟件工具方面長(zhǎng)風(fēng)破浪,不斷突破,抓住市場(chǎng)增量,推進(jìn)國(guó)產(chǎn)FPGA的進(jìn)一步發(fā)展!
責(zé)任編輯:tzh
-
FPGA
+關(guān)注
關(guān)注
1630文章
21777瀏覽量
604744 -
芯片
+關(guān)注
關(guān)注
456文章
51051瀏覽量
425580 -
asic
+關(guān)注
關(guān)注
34文章
1205瀏覽量
120607 -
cpu
+關(guān)注
關(guān)注
68文章
10891瀏覽量
212439 -
eda
+關(guān)注
關(guān)注
71文章
2776瀏覽量
173520
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論