在今年的FPGA國際研討會(ISFPGA’20)上,英特爾發(fā)表了一篇名為《Architectural Enhancements in Intel Agilex FPGAs》的論文,它在技術(shù)層面詳細(xì)介紹了英特爾的新旗艦FPGA - Agilex系列的若干重大的架構(gòu)創(chuàng)新。 相比Altera時代的頂級FPGA系列Stratix、特別是2016年推出的Stratix10 FPGA,Agilex在FPGA架構(gòu)層面做出了諸多根本性的改變??偨Y(jié)起來主要有以下六個方面:
有了這些新型架構(gòu)的加持,Agilex相比Stratix10 FPGA取得了超過40%的性能提升。同時,它在設(shè)計的靈活性和穩(wěn)定性等方面也取得了可觀的提升。在接下來的文章中,老石將分別對這幾點架構(gòu)創(chuàng)新做深入解析。 這篇論文的全文,已上傳至知識星球“老石談芯進(jìn)階版”,請于文末掃碼進(jìn)入星球查看。 Agilex FPGA簡介 在之前的文章《英特爾10納米Agilex FPGA核心技術(shù)分析》中,老石曾對Agilex FPGA在系統(tǒng)層面的重要創(chuàng)新做過深度梳理。與進(jìn)化多年的Stratix、Arria、Cyclone、Max等FPGA產(chǎn)品系列相比,Agiliex是英特爾收購Altera后推出的第一個全新的高端FPGA系列。正因如此,Agilex也被英特爾寄予了很高的期望。 Agilex這個名稱源于Agile(敏捷)和Flexible(靈活)的合二為一,這兩個特點也是現(xiàn)代FPGA技術(shù)最為核心的要素。作為新一代旗艦FPGA,Agilex上自然也裝備了很多英特爾專屬的“黑科技”。在半導(dǎo)體工藝上,Agilex是首個使用英特爾10納米量產(chǎn)工藝的FPGA產(chǎn)品,它基于第三代FinFET晶體管技術(shù)進(jìn)行制造,并在物理實現(xiàn)時對FPGA架構(gòu)進(jìn)行了針對性優(yōu)化。 在系統(tǒng)層面,Agilex引入了對UPI、CXL以及PCIe Gen4/5的硬核支持。CXL全稱是Compute Express Link,它是英特爾發(fā)起的一個緩存一致性標(biāo)準(zhǔn)。CXL的主要目的在于明確定義硬件加速器與處理器之間的互聯(lián)標(biāo)準(zhǔn)。CXL在2019年3月提出,它的主要創(chuàng)始成員見下圖。從中可以看出,CXL的主要發(fā)起者中除了英特爾之外,還有有四個互聯(lián)網(wǎng)公司、兩個服務(wù)器設(shè)備制造商,以及兩個網(wǎng)絡(luò)設(shè)備制造商。這也清晰的呈現(xiàn)出CXL的目標(biāo)應(yīng)用領(lǐng)域:網(wǎng)絡(luò)數(shù)據(jù)中心、通信基礎(chǔ)設(shè)施、云計算與云服務(wù)等等。而這些領(lǐng)域也正是當(dāng)前FPGA大展身手的平臺。關(guān)于CXL的更多介紹,可以參考之前的文章。 接下來,老石就對Agilex FPGA在架構(gòu)方面的主要升級做詳細(xì)介紹。 全新的芯片布局 相比Stratix10 FPGA,Agilex在芯片布局和微架構(gòu)設(shè)計上做出了多個重要改變。Agilex的芯片布局如下圖所示。與現(xiàn)有的英特爾FPGA相似,Agilex也使用了EMIB(嵌入式多管芯互聯(lián)橋接)技術(shù),用來提供多個異構(gòu)硅片之間的高速互聯(lián),特別是可編程邏輯部分與不同速度的收發(fā)器Tile之間的連接。在下圖中可以看到,收發(fā)器固定位于芯片的東西兩側(cè),而其他的非可編程邏輯結(jié)構(gòu),諸如通用IO接口、存儲器接口、嵌入式SRAM、4核ARM CPU等等,都將固定位于芯片的南北兩側(cè)。 Agilex在芯片布局上的一個重大變化,就是將原本位于芯片中間的很多通用I/O、存儲器I/O、硬核處理器等部分移到了芯片兩端。 在英特爾之前的幾代FPGA中,例如Arria10和Stratix10 FPGA中,可編程邏輯陣列、I/O單元、存儲器、DSP等邏輯結(jié)構(gòu)都是按列間隔排列,如下圖所示。事實上,這也是包括賽靈思在內(nèi)的其他FPGA廠商所常用的芯片布局方法。 Arria10 FPGA的芯片布局 這種間隔排列的結(jié)構(gòu)最大的優(yōu)點在于,它能簡化FPGA設(shè)計過程中的布局規(guī)劃,特別是與I/O相關(guān)的布局。這是因為每個邏輯單元與I/O的距離近似,所以在布局和放置時有著比較高的靈活性。 然而,這種結(jié)構(gòu)最突出的缺點是,它相當(dāng)于人為的將可編程邏輯陣列分成了很多區(qū)域,這就極大的增加了跨區(qū)域的布線延時。同時,對于高速且大型的設(shè)計而言,這種結(jié)構(gòu)很有可能造成局部的布局擁塞。相信有經(jīng)驗的FPGA工程師在很多實際項目中都遇到過這樣的問題,那就是在一個設(shè)計中,可能有很多區(qū)域的設(shè)計擁堵嚴(yán)重,而其他區(qū)域卻有著大量可用資源。這一問題的根源之一就是由于這種FPGA結(jié)構(gòu)所致。 在Agilex里,這些I/O被移出了可編程邏輯陣列,并挪到了芯片的上下兩側(cè),從而形成了一個更加規(guī)整的可編程陣列布局,如下圖所示。由于消除了I/O單元對邏輯陣列帶來的區(qū)隔,系統(tǒng)性能會得到提升,也會極大簡化時序計算,并提升布局與放置的靈活性。 ALM微架構(gòu)的設(shè)計優(yōu)化 在微架構(gòu)方面,Agilex對其中的ALM(Adaptive Logic Module)進(jìn)行了設(shè)計優(yōu)化,以進(jìn)一步降低其傳輸延時。 ALM是FPGA的基本可編程單元,Stratix10 的ALM結(jié)構(gòu)如下圖所示。它主要包含一個6輸入LUT,一個加法器進(jìn)位鏈,以及4個輸出寄存器。多個ALM可以組成更大的可編程陣列,名為LAB(Logic Array Block)。 Stratix 10 FPGA的ALM結(jié)構(gòu) 和Stratix10相比,Agilex對ALM做了不少架構(gòu)升級,如下圖所示。其中,增加了兩個LUT的快速輸出端口,使得LUT的輸出可以直連HyperFlex寄存器,而無需通過ALM內(nèi)部的寄存器中轉(zhuǎn)。這顯然是針對利用HyperFlex對關(guān)鍵路徑進(jìn)行retiming的應(yīng)用場景。同時,ALM內(nèi)部的寄存器靈活性得到了極大增強,可以看到在Agilex的ALM里,每個寄存器的輸入都增加了一個4輸入MUX,同時寄存器可以通過兩個獨立的時鐘進(jìn)行控制。 Agilex FPGA的ALM結(jié)構(gòu) 除了ALM之外,Agilex還特別增加了片上內(nèi)存MLAB的邏輯密度。與Stratix10相比,單位面積內(nèi)Agilex有著雙倍的MLAB密度,而且50%的LAB可以配置成存儲器模式。這個優(yōu)化很明顯是針對高帶寬需求的應(yīng)用領(lǐng)域,如AI相關(guān)的計算加速等。 重新設(shè)計的布線架構(gòu) Agilex對FPGA的布線單元進(jìn)行了重新設(shè)計。在下圖中可以看到,每個交換節(jié)點都只連接一個邏輯功能單元(可以是LAB、RAM、DSP等),但可以連接多個其他的布線單元或者其他的交換節(jié)點。 相比之下,在之前的FPGA架構(gòu)中,通常情況下一個交換節(jié)點會和左右兩側(cè)的兩個邏輯功能單元進(jìn)行連接。Agilex這樣的簡化設(shè)計使得它的整體布線架構(gòu)更加簡潔,也在很大程度上減少了交換節(jié)點MUX的輸入,從而在保證布線靈活性的基礎(chǔ)上,有效的降低容抗、并提升性能。事實上,在之前的研究中就表明,F(xiàn)PGA的布線節(jié)點并不需要保持全連接,這在之前的文章中有過詳細(xì)解析。而Agilex則更進(jìn)一步,直接做成了1對1連接,相信這也對FPGA設(shè)計工具和布局布線算法提出了更高的要求。 此外,Agilex對延時的同一性做了針對性的優(yōu)化。在之前的FPGA中,由于存在不可避免的工藝和時序變化(variation),會特意對芯片上的各種硬件資源做差異化處理。也就是說,同樣的硬件資源可能有著不同的延時分布。從理論上講,F(xiàn)PGA設(shè)計工具會避免將慢速資源分配到關(guān)鍵路徑上。但在實際應(yīng)用中,這并非總是可行的。例如,在高速設(shè)計或深度流水線設(shè)計中,可能存在多條near critical path,這就給資源分配造成很大負(fù)擔(dān)和限制。 在Agilex中,使用了基本同化的硬件資源,以及對應(yīng)的布線方法,從而使得各個硬件資源的延時趨于近似。從下圖中可以清楚的看到,相比Stratix10 FPGA,Agilex的延時分布非常平坦。這樣就簡化了布局布線工具對資源分配的過程,從而提升了開發(fā)效率和系統(tǒng)性能。 新一代HyperFlex寄存器結(jié)構(gòu) Stratix10 FPGA中首次引入了HyperFlex架構(gòu)。它的主要思想就是在FPGA的布線網(wǎng)絡(luò)上,加入很多名為Hyper-Register的小型寄存器,這樣可以把原本比較長的時序路徑分割成多個較短的路徑,從而提升FPGA的時鐘頻率。 但是,理想很豐滿,現(xiàn)實很骨感。HyperFlex這樣的設(shè)計有著很好的初衷,但在實際應(yīng)用中還是存在著很多的問題。比如,很多情況下并不會用到所有的hyper-register,這就需要每個寄存器都配備一個2:1選擇器用來選通。然而這樣的架構(gòu)反而會帶來較大的額外延時。此外,每個Hyper-Register并非由邊沿驅(qū)動的“寄存器”(flip-flop),而是由脈沖驅(qū)動的“鎖存器”(latch),這就使得它的時序特性較差,并且非常容易受工藝變化(process variation)的影響。 值得注意的是,在賽靈思推出的ACAP中,也采用了類似的設(shè)計理念。ACAP引入了名為“Imux寄存器”的新結(jié)構(gòu),并且對上述問題進(jìn)行了針對性的改進(jìn)。有關(guān)ACAP的詳細(xì)技術(shù)解讀,請參考這篇文章《賽靈思下一代計算平臺ACAP技術(shù)細(xì)節(jié)全揭秘》。 顯然,英特爾也意識到了這些問題,并在Agilex FPGA中采用了“第二代”HyperFlex架構(gòu),并對上面的問題進(jìn)行了大幅改進(jìn)。新一代Hyper-Register的結(jié)構(gòu)如下圖所示,可以看到它把鎖存器替換成了寄存器,并對驅(qū)動節(jié)點進(jìn)行了重新設(shè)計。同時,Agilex在布線網(wǎng)絡(luò)中移除了近三分之二的Hyper-Register,這無論對于面積、功耗、或是設(shè)計工具的優(yōu)化來說,都是極為有利的。 多樣的時序優(yōu)化方法 Agilex主要采用了三種時序優(yōu)化方法:retiming、clock skewing和time borrowing。例如,retiming可以在不改變邏輯功能的前提下,重新分配寄存器在延時路徑中的位置,從而實現(xiàn)“取長補短”,降低整體的路徑延時。這實際上與所謂的“木桶理論”類似,而retiming就是將其他更長的木板拆開,并將短板補齊,如下圖所示。由于篇幅所限,有關(guān)clock skewing和timing borrowing的具體內(nèi)容在本文不再詳述,老石之后會在知識星球和微博里進(jìn)一步解讀。 更加靈活的DSP微架構(gòu) 之前的文章曾經(jīng)多次介紹過,F(xiàn)PGA在人工智能應(yīng)用中的最大優(yōu)勢之一就是可以采用可變精度的字長表示和數(shù)學(xué)運算,從而帶來巨大的性能提升。相比Stratix10 FPGA,Agilex的DSP單元增加了對FP16、FP19、BFLOAT16的支持,同時也保留了對FP32、INT9等多種數(shù)據(jù)表達(dá)方式的支持,這極大提升了DSP的配置靈活性,使其更加適用于AI相關(guān)的應(yīng)用。 Agilex 的DSP邏輯架構(gòu)如下圖所示,它可以配置成多種結(jié)構(gòu),同時也可以在水平方向上進(jìn)行擴(kuò)展,從而支持向量和矩陣操作。 結(jié)語 下圖展示了Agilex的工程樣片與Stratix10的基準(zhǔn)測試比較結(jié)果??梢钥吹剑?strong>Agilex可以取得平均41%的性能提升。在這些基準(zhǔn)測試的設(shè)計中,最高時鐘頻率的平均值是566MHz,其中最小284MHz,最高的時鐘頻率達(dá)到了951MHz!相比于傳統(tǒng)FPGA設(shè)計的300MHz左右的時鐘頻率,這組數(shù)據(jù)也標(biāo)志著FPGA的時鐘頻率提升到了一個全新的高度。同時應(yīng)該注意到,盡管Agilex使用了10納米工藝,但相比Stratix10而言,Agilex使用了更低的電壓以降低功耗。在這個背景下,這些頻率的提升大部分都?xì)w功于Agilex的架構(gòu)創(chuàng)新。 這次發(fā)表的Agilex論文很好的介紹了英特爾新旗艦FPGA的重要架構(gòu)創(chuàng)新,讓人對Agilex量產(chǎn)并交付后的表現(xiàn)更加的期待。然而,這篇論文并沒有過多介紹Quartus工具為了這些架構(gòu)創(chuàng)新而做的改進(jìn)。在Agilex發(fā)布之初,英特爾就宣布它將成為首款支持oneAPI的FPGA產(chǎn)品。那么,Agilex實際開發(fā)的靈活性、編譯效率、實際性能、以及如何利用oneAPI對FPGA進(jìn)行編程和開發(fā),也都值得我們繼續(xù)關(guān)注。 (注:本文僅代表作者個人觀點,與任職單位無關(guān)。) *免責(zé)聲明:本文由作者原創(chuàng)。文章內(nèi)容系作者個人觀點,半導(dǎo)體行業(yè)觀察轉(zhuǎn)載僅為了傳達(dá)一種不同的觀點,不代表半導(dǎo)體行業(yè)觀察對該觀點贊同或支持,如果有任何異議,歡迎聯(lián)系半導(dǎo)體行業(yè)觀察。 今天是《半導(dǎo)體行業(yè)觀察》為您分享的第2266期內(nèi)容,歡迎關(guān)注。 ★CIS會迎來拐點嗎? ★為什么我看中的人都想去華為海思? ★中國存儲產(chǎn)業(yè)的另一面 存儲|傳感器|IGBT|ARM|FPGA|中興|蘋果|半導(dǎo)體股價|IP |
19款電子扎帶
電路板識別電子標(biāo)簽