什么是自動(dòng)IP生成
隨著半導(dǎo)體行業(yè)的發(fā)展,SoC已經(jīng)成為了芯片設(shè)計(jì)的最常見(jiàn)形式。在SoC中,通常都包括了多個(gè)半導(dǎo)體IP,之后在頂層把這些IP連接到一起組成完整的系統(tǒng)。
常規(guī)的IP設(shè)計(jì)過(guò)程費(fèi)時(shí)費(fèi)力。一般來(lái)說(shuō),數(shù)字IP設(shè)計(jì)首先需要定義IP實(shí)現(xiàn)的功能、接口和高層架構(gòu)設(shè)計(jì),此后進(jìn)一步細(xì)化到微架構(gòu)設(shè)計(jì)(如模塊劃分和RTL定義),然后再是映射到具體的電路設(shè)計(jì)。模擬IP設(shè)計(jì)則是需要首先定義模塊的性能指標(biāo)(spec),之后根據(jù)該指標(biāo)再去仔細(xì)調(diào)整電路/版圖設(shè)計(jì)并隨時(shí)進(jìn)行仿真驗(yàn)證,在多次迭代之后獲得最終的模擬IP設(shè)計(jì)。在整個(gè)過(guò)程中,每一個(gè)環(huán)節(jié)都需要大量的時(shí)間和人力。
與之相對(duì),自動(dòng)IP生成則是希望能通過(guò)直接把頂層架構(gòu)設(shè)計(jì)(對(duì)于數(shù)字IP)或模塊指標(biāo)(模擬IP)映射到電路。這樣一來(lái),就能大大節(jié)省設(shè)計(jì)的時(shí)間和成本,同時(shí)可以做更多的設(shè)計(jì)探索,最終收斂到最優(yōu)設(shè)計(jì)。
數(shù)字領(lǐng)域的自動(dòng)IP生成
傳統(tǒng)的數(shù)字電路IP設(shè)計(jì)通常需要經(jīng)過(guò)以下幾個(gè)環(huán)節(jié):
(1)制定頂層的架構(gòu)和算法(使用C語(yǔ)言等高級(jí)語(yǔ)言設(shè)計(jì)),并且進(jìn)行算法驗(yàn)證;
(2)根據(jù)頂層架構(gòu)做模塊劃分和微架構(gòu)設(shè)計(jì)/優(yōu)化,包括時(shí)序規(guī)劃、clock gating等;
(3)根據(jù)微架構(gòu)設(shè)計(jì)RTL;
(4)根據(jù)RTL進(jìn)行綜合生成門(mén)級(jí)網(wǎng)表;
(5)根據(jù)門(mén)級(jí)網(wǎng)表做布局布線生成版圖GDS。
而數(shù)字領(lǐng)域的自動(dòng)IP生成則是指使用(1)中的高級(jí)語(yǔ)言設(shè)計(jì),跳過(guò)(2)和(3),直接生成RTL/門(mén)級(jí)網(wǎng)表/GDS。
我們認(rèn)為,數(shù)字領(lǐng)域的自動(dòng)IP生成非常適合信號(hào)處理型IP。信號(hào)處理型IP主要是對(duì)于輸入信號(hào)做數(shù)學(xué)運(yùn)算,其中的主要部分即做運(yùn)算的數(shù)據(jù)通路(data path),典型的信號(hào)處理型IP包括數(shù)字濾波器、視頻編解碼等等。
我們可以更進(jìn)一步把數(shù)字領(lǐng)域的自動(dòng)IP生成分為兩大類(lèi)。一類(lèi)是對(duì)于某些算法和結(jié)構(gòu)相對(duì)固定的數(shù)字IP,根據(jù)頂層的IP spec輸入去自動(dòng)生成電路設(shè)計(jì)。典型的例子是MathWorks Matlab中的數(shù)字濾波器自動(dòng)RTL綜合,用戶只需要輸入數(shù)字濾波器的類(lèi)型(FIR,IIR)、指標(biāo)(帶寬、中心頻率、濾波抑制比、通帶紋波等)等信息,就能自動(dòng)生成高質(zhì)量的數(shù)字濾波器RTL代碼。在這類(lèi)應(yīng)用中,使用自動(dòng)生成的優(yōu)勢(shì)在于可以大大較少設(shè)計(jì)驗(yàn)證的迭代時(shí)間。例如,在數(shù)字濾波器設(shè)計(jì)中,用戶最關(guān)心的就是帶寬、濾波抑制比等高層的頻域指標(biāo),但是如果使用RTL去做設(shè)計(jì)仿真的話,需要自行加入相應(yīng)的激勵(lì)波形,同時(shí)輸出的時(shí)域波形圖也無(wú)法直接反映頻域的特性,而需要去把該波形圖的數(shù)據(jù)點(diǎn)導(dǎo)出再去做傅立葉分析才能驗(yàn)證設(shè)計(jì)是否滿足頻域指標(biāo)。這一來(lái)一去就會(huì)花很多時(shí)間,而使用數(shù)字IP直接生成則可以直接在Matlab里去驗(yàn)證濾波器的性能以及把濾波器接入系統(tǒng)中的整體性能,這樣就大大加速了設(shè)計(jì)流程。
另一種數(shù)字IP自動(dòng)生成則是針對(duì)更一般電路,它通常使用C/C++/SystemC等高級(jí)語(yǔ)言作為輸入,其輸出則是功能和高級(jí)語(yǔ)言輸入等價(jià)的RTL/門(mén)級(jí)網(wǎng)表/GDS。這類(lèi)數(shù)字自動(dòng)生成工具通常又稱(chēng)作“high-level synthesis”(HLS)。HLS的優(yōu)點(diǎn)和限制都很明確:優(yōu)點(diǎn)是整體設(shè)計(jì)和驗(yàn)證速度都很快,省去了微結(jié)構(gòu)設(shè)計(jì)和RTL編寫(xiě)的時(shí)間,驗(yàn)證上也可以直接和使用高級(jí)語(yǔ)言的系統(tǒng)驗(yàn)證方便地整合在一起。而其缺陷則在于高級(jí)語(yǔ)言在描述數(shù)字邏輯時(shí)的顆粒度較粗,且一般沒(méi)有時(shí)序的概念,因此HLS生成的電路通常僅能保證功能正確,但是在電路的速度(往往由時(shí)序劃分決定)和功耗(HLS對(duì)于常規(guī)的低功耗設(shè)計(jì)方法學(xué)如clock gating的支持還不方便)上比起手寫(xiě)的RTL可能有差距。在信號(hào)處理模塊上,HLS生成的電路比起手寫(xiě)RTL差距較小,差距可以在20%以內(nèi),甚至在一些場(chǎng)合可以做到HLS生成的電路與手寫(xiě)RTL性能沒(méi)有差距。目前,HLS的主要產(chǎn)品包括Mentor Graphics的Catapult,Cadence的Stratus,Xilinx的Vivado HLS等。
HLS的概念提出已經(jīng)有十多年,但是在最近得到了越來(lái)越多的重視。這除了和HLS本身技術(shù)發(fā)展之外,還和半導(dǎo)體行業(yè)的趨勢(shì)有關(guān)。在過(guò)去,半導(dǎo)體芯片的主要范式還是大的半導(dǎo)體廠商提供通用的處理器平臺(tái),在這樣的范式下,由于在計(jì)算平臺(tái)上執(zhí)行的算法不確定,因此半導(dǎo)體廠商的策略就是把通用處理平臺(tái)的每一個(gè)細(xì)節(jié)都做到完美,這樣一來(lái)自然就沒(méi)有HLS的發(fā)展空間。而在最近,隨著人工智能、大數(shù)據(jù)和下一代多媒體需求的出現(xiàn),SoC上對(duì)于執(zhí)行固定算法的數(shù)字IP的需求在大大增強(qiáng),而且隨著互聯(lián)網(wǎng)廠商加入芯片戰(zhàn)局也為半導(dǎo)體芯片快速交付提出了需求。在這種情況下,HLS就變得越來(lái)越有價(jià)值。這是因?yàn)椋瑢?duì)于這類(lèi)執(zhí)行固定算法的數(shù)字信號(hào)處理IP,算法本身以及IP頂層架構(gòu)的優(yōu)化對(duì)于SoC芯片整體性能的影響往往遠(yuǎn)遠(yuǎn)大于具體電路實(shí)現(xiàn)帶來(lái)的影響。在較短交付周期的限制下,如果使用傳統(tǒng)的數(shù)字設(shè)計(jì)方法論,往往就意味著留給頂層架構(gòu)和算法探索的時(shí)間比較少,最后導(dǎo)致使用高效的RTL代碼實(shí)現(xiàn)了并非最優(yōu)的架構(gòu)/算法。反之,如果使用HLS,則可以大大壓縮RTL設(shè)計(jì)的時(shí)間,這樣就給架構(gòu)/算法探索留下了更多時(shí)間,最后盡管HLS生成的電路性能可能比手寫(xiě)RTL要差20%,但是頂層架構(gòu)/算法的優(yōu)化帶來(lái)的影響可能是2-3倍的性能提升,而HLS帶來(lái)的time-to-market的改善則可能是更大的影響。
谷歌使用Catapult HLS實(shí)現(xiàn)了視頻解碼IP中的絕大部分模塊。該IP是典型的數(shù)字信號(hào)處理IP。
模擬IP自動(dòng)生成
在模擬電路領(lǐng)域,自動(dòng)IP生成也是EDA領(lǐng)域的一個(gè)熱門(mén)方向。
模擬IP自動(dòng)生成目前能做的是給定一種電路結(jié)構(gòu)(例如帶4-tap DFE的wireline receiver)和模塊指標(biāo),自動(dòng)生成電路圖和版圖并完成仿真驗(yàn)證。在未來(lái),隨著電路庫(kù)中電路結(jié)構(gòu)數(shù)量的上升,也有機(jī)會(huì)能實(shí)現(xiàn)僅需輸入模塊功能和指標(biāo),IP自動(dòng)生成器可以自主選擇最優(yōu)電路結(jié)構(gòu)并生成符合指標(biāo)的電路和版圖。
模擬IP自動(dòng)生成可以分成兩部分,即自動(dòng)調(diào)優(yōu)電路中的晶體管參數(shù)和自動(dòng)生成版圖。前者至少有30年的歷史,上世紀(jì)九十年代就有不少學(xué)者在研究用各種數(shù)學(xué)優(yōu)化方法來(lái)自動(dòng)選擇模擬電路中晶體管的參數(shù)。在今天,如果僅僅是選擇電路中的晶體管參數(shù)而不考慮自動(dòng)生成版圖,那么常規(guī)的EDA工具中的參數(shù)掃描就能滿足大部分需求。但是,電路圖設(shè)計(jì)中的晶體管參數(shù)自動(dòng)調(diào)優(yōu)往往不能落實(shí)到實(shí)際設(shè)計(jì)中,這是因?yàn)殡S著半導(dǎo)體工藝越來(lái)越先進(jìn),模擬電路中的版圖效應(yīng)也越來(lái)越顯著,而電路圖設(shè)計(jì)中的晶體管參數(shù)調(diào)優(yōu)并不能反映版圖的影響,因此往往掃描得到的電路圖最優(yōu)晶體管參數(shù)和版圖設(shè)計(jì)完成后的最優(yōu)參數(shù)有一定差別。因此常見(jiàn)的做法是先做一個(gè)版本電路圖設(shè)計(jì),然后去畫(huà)版圖并做帶版圖效應(yīng)的電路仿真,然后再去調(diào)整電路圖設(shè)計(jì)中的晶體管參數(shù)。在這個(gè)過(guò)程中,即使電路圖中的晶體管參數(shù)都能自動(dòng)化調(diào)優(yōu),但是整體的設(shè)計(jì)流程還是卡在了手工畫(huà)版圖——仿真——調(diào)整電路圖晶體管參數(shù)這個(gè)循環(huán)里。
而模擬IP自動(dòng)生成解決的最大痛點(diǎn),就在于能自動(dòng)生成版圖。這樣一來(lái),整體的流程都可以做到自動(dòng)化,僅需輸入指標(biāo),生成器可以自動(dòng)生成一組晶體管參數(shù),自動(dòng)生成版圖做仿真,并自動(dòng)根據(jù)版圖仿真結(jié)果去調(diào)整電路圖晶體管參數(shù)。這就大大節(jié)省了模擬IP生成的人力和時(shí)間,并提升了設(shè)計(jì)效率。目前,模擬IP自動(dòng)生成做的最領(lǐng)先的是UC Berkeley的BAG(Berkeley Analog Generator)項(xiàng)目,該項(xiàng)目已經(jīng)能自動(dòng)生成SerDes、ADC等復(fù)雜的模擬/混合信號(hào)IP的電路設(shè)計(jì)和版圖,并且在28nm和16nm等先進(jìn)工藝下都得到了流片驗(yàn)證。
BAG自動(dòng)生成的ADC版圖
自動(dòng)IP生成是中國(guó)EDA的機(jī)會(huì)
自動(dòng)IP生成在美國(guó)得到了相當(dāng)?shù)闹匾暎绹?guó)國(guó)防高級(jí)研究計(jì)劃局(DARPA)2019年的電子復(fù)興計(jì)劃(ERI)中,自動(dòng)IP生成(IDEA)是其重點(diǎn)扶持方向之一。我們認(rèn)為,這個(gè)領(lǐng)域?qū)τ谥袊?guó)的半導(dǎo)體行業(yè)有重要價(jià)值,同時(shí)中國(guó)距離全球先進(jìn)的差距也并不大,因此如果得到足夠支持的話有機(jī)會(huì)能在未來(lái)數(shù)年內(nèi)追趕全球領(lǐng)先。
對(duì)于數(shù)字IP自動(dòng)生成來(lái)說(shuō),其主戰(zhàn)場(chǎng)在信號(hào)處理領(lǐng)域,這就從一個(gè)方面降低了工具所需要覆蓋的設(shè)計(jì)范圍。只要能加速設(shè)計(jì)流程,國(guó)產(chǎn)EDA版本的HLS完全可以考慮僅僅只支持一部分C/SystemC語(yǔ)言的特性或者甚至是自主的高級(jí)語(yǔ)言,只需要該語(yǔ)言能方便地描述這類(lèi)信號(hào)處理電路即可。我們看到,在人工智能、大數(shù)據(jù)和下一代多媒體等新興市場(chǎng),中國(guó)有一大批互聯(lián)網(wǎng)公司進(jìn)入了芯片設(shè)計(jì)領(lǐng)域(如阿里,百度,以及最近的字節(jié)跳動(dòng)等),這些互聯(lián)網(wǎng)公司對(duì)于芯片的主要訴求就是加速信號(hào)處理,并且需要能快速交付,因此國(guó)產(chǎn)HLS對(duì)于這些互聯(lián)網(wǎng)公司的芯片項(xiàng)目將有很大的吸引力。
對(duì)于模擬IP自動(dòng)生成來(lái)說(shuō),我們看到自動(dòng)版圖生成技術(shù)至今大約有5年的時(shí)間,可以說(shuō)中國(guó)半導(dǎo)體行業(yè)如果有心發(fā)展的話,完全可以在未來(lái)幾年內(nèi)趕上并達(dá)到全球一流水平。擁有下一代的自動(dòng)模擬IP生成工具,也有利于鞏固中國(guó)模擬IP設(shè)計(jì)強(qiáng)國(guó)的地位。