為何說(shuō)嵌入式FPGA改變了芯片和SoC的未來(lái)設計方式
芯片設計人員今天面臨的最關(guān)鍵的問(wèn)題之一是在設計過(guò)程中實(shí)時(shí)重新配置RTL,甚至在系統中也是如此。不幸的是,芯片設計人員無(wú)法及時(shí)知道是否必須這樣做。在這一點(diǎn)上,任何變化都會(huì )花費數百萬(wàn)美元,并將項目推遲數月。
本文引用地址:http://dyxdggzs.com/article/201702/344454.htm有了嵌入式FPGA,這個(gè)問(wèn)題便解決了。芯片設計人員在開(kāi)展項目時(shí),會(huì )知道他們在項目期間擁有隨時(shí)更改RTL的靈活性,這是前所未有的。
因為嵌入式FPGA是一種新技術(shù),在開(kāi)始介紹之前,我們要將其與已經(jīng)存在了幾十年的標準FPGA之間的差別說(shuō)出來(lái)。從根本上講,嵌入式FPGA是一個(gè)IP block,允許將完整的FPGA集成到SoC或任意類(lèi)型的集成電路中。正如RAM,SERDES,PLL以及處理器一樣,從單獨的芯片轉變成常規的IP block。FPGA現在也是一個(gè)IP區塊。
FPGA在可編程互連結構中組合了可編程/可重配置邏輯塊陣列。 在FPGA芯片中,芯片的外緣由GPIO,SERDES和專(zhuān)用PHY(如DDR3 / 4)組成。 在高級FPGA中,I/O環(huán)約占芯片的1/4,架構約占芯片的3/4?!凹軜嫛北旧碓谌缃竦腇PGA芯片中大多是互連,其中20-25%的結構面積是可編程邏輯,75-80%是可編程互連。

嵌入式FPGA是一種沒(méi)有周邊環(huán)形GPIO,SERDES和PHY的FPGA架構。相反,嵌入式FPGA使用標準數字信號連接到芯片的其余部分,實(shí)現非常寬,非??斓钠匣ミB。
深入嵌入式FPGA內部之原始的構造塊
FPGA中的可編程邏輯塊是查找表(LUT),它可以通過(guò)編程實(shí)現任意布爾函數:4個(gè),5個(gè)或6個(gè)輸入具有一個(gè)或兩個(gè)輸出。
在Flex Logix EFLX陣列中,LUT是一個(gè)雙4輸入LUT,它可以組合形成一個(gè)5輸入LUT。LUT輸出可以任意存儲在觸發(fā)器中。LUT通常被分組為具有進(jìn)位邏輯的四個(gè)組,以便于加法器和移位器。

另一個(gè)可編程邏輯塊是MAC(乘法累加器)或DSP加速器塊。
在Flex邏輯EFLX陣列中,有一個(gè)22位預加器,一個(gè)22x22乘法器和一個(gè)4位后置加法器/累加器。 MAC可以組合或級聯(lián)以實(shí)現快速DSP功能。

可編程邏輯塊由設置LUT數值的配置位編程,選擇是否旁路使用觸發(fā)器,是否激活進(jìn)位邏輯等。配置位還對MAC的操作進(jìn)行編程。通常在FPGA中,配置位從外部閃存加載。
對于嵌入式FPGA,它是相同的,因為幾乎所有的SoC都有一個(gè)從外部閃存引導的ARM/ARC /MIPS等處理器。同樣的閃存用于存儲嵌入式閃存的配置位。
可編程邏輯塊接收輸入并將輸出發(fā)送到互連網(wǎng)絡(luò ),該互連網(wǎng)絡(luò )允許從FPGA架構中的任意邏輯塊可編程地進(jìn)行連接?;ミB結構同樣也由配置位編程?;ミB結構通常是FPGA架構的主體。
嵌入式FPGA的主要區別是互連結構的設計。最佳互連使用較小的面積和較少的金屬層,同時(shí)提供資源的高利用率。
與FPGA芯片不同,嵌入式FPGA中沒(méi)有PHY/SERDES/PLL。嵌入式FPGA中有一個(gè)I/O環(huán),但它是真正簡(jiǎn)單的數字互連到芯片的其余部分。嵌入式FPGA有成百上千的互連,它們可以在芯片內全速運行。這種I/O寬度和帶寬的增加是將FPGA嵌入到芯片的巨大優(yōu)勢。

嵌入式FPGA內部之構建任意規模和結構的陣列
當中的一個(gè)復雜問(wèn)題是客戶(hù)需要各種規模和結構的嵌入式FPGA,并且人人都希望在使用芯片前可以在硅片中驗證IP塊。
例如,在16nm中,客戶(hù)可能希望僅需要幾百個(gè)可編程邏輯的LUT就可以讓快速可重構控制邏輯運行在1GHz;而在同一進(jìn)程中的另一客戶(hù)可能想要50K-100K個(gè)LUT作為數據中心處理器加速器。如何能夠滿(mǎn)足這些客戶(hù)最少的設計投資和上市時(shí)間?
Flex Logix使用平鋪構造塊的方法。首先,使用上述方法設計4個(gè)EFLX IP核。每個(gè)IP核都是一個(gè)獨立的FPGA,但它們也可以陣列化,提供大約75個(gè)EFLX陣列,從100 個(gè)LUT到122.5K個(gè)LUT,以及任何邏輯/DSP的混合。

每個(gè)EFLX IP核都有額外的頂層互連,允許IP核自動(dòng)連接到周?chē)腎P核,使大型陣列的規模為NxN。
EFLX-100陣列的規模為5x5或3,000個(gè)LUT(在EFLX-100中實(shí)際上有120個(gè)LUT)。

EFLX-2.5K接管2500個(gè)LUT,規模為122.5K個(gè)LUT。

陣列可以是全邏輯或全DSP或這兩種核心的任意組合,如下圖所示:

還可以在嵌入式陣列中嵌入大量的RAM。Flex Logix通過(guò)使用標準RAM編譯器來(lái)生成客戶(hù)請求的任何類(lèi)型的RAM(單端口,雙端口;ECC/奇偶校驗/無(wú);根據需要而定),并在核心之間定位RAM。RAM是單個(gè)EFLX陣列的一部分。

使用上述方法可以允許少量IP核生成幾乎無(wú)限種類(lèi)的嵌入式FPGA陣列,以滿(mǎn)足任何客戶(hù)需求。
嵌入式FPGA內部之在硅片中驗證構建塊
Flex Logix構建驗證芯片以驗證硅片中的IP核。下圖是TSMC 40ULP的例子。

在這個(gè)過(guò)程中,客戶(hù)使用的VT(電壓閾值掩碼)組合有很大范圍,Flex Logix設計的EFLX陣列與所有可能的組合兼容。因此,驗證芯片具有5個(gè)陣列:在所請求的VT組合中的1個(gè)大陣列(4×4)和在其他4種規模中的4個(gè)2x2陣列。
由于40nm的EFLX陣列可以以高達300MHz的頻率工作,并且GPIO僅在150MHz以?xún)炔趴煽?,因此有一個(gè)片上PLL可以產(chǎn)生非??焖?、精確的時(shí)鐘用于測試性能,并且有SRAM可以使用“測試向量”加載,然后全速運行。這提供了“芯片上的測試器”,使得我們可以在上述GPIO速度下驗證全速操作。還有溫度/電壓監視器,以確保在最壞的目標情況條件下進(jìn)行測試。
所以說(shuō)嵌入式FPGA將改變芯片和SoC未來(lái)的設計方式。 設計師無(wú)需再被困在項目中,并被迫花費數百萬(wàn)美元來(lái)在需要的時(shí)候改變RTL。 當RTL需要更新時(shí),公司也不再會(huì )有延誤計劃的風(fēng)險。使用嵌入式FPGA,芯片設計過(guò)程變得簡(jiǎn)單很多,價(jià)格也便宜很多。
評論