《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 如何選擇eFPGA,?

如何選擇eFPGA?

2019-07-17
關(guān)鍵詞: eFPGA ASSP 芯片

  嵌入式FPGA(eFPGA)是指將一個(gè)或多個(gè)FPGA以IP的形式嵌入ASIC,ASSP或SoC等芯片中,。

  換句話說(shuō),,eFPGA是一種數(shù)字可重構(gòu)結(jié)構(gòu),由可編程互連中的可編程邏輯組成,,通常表現(xiàn)為矩形陣列,數(shù)據(jù)輸入和輸出位于邊緣周圍,。 eFPGA通常具有數(shù)百或數(shù)千個(gè)輸入和輸出,,可連接到總線,、數(shù)據(jù)路徑,、控制路徑、GPIO,、PHY或任何需要的器件,。

  所有eFPGA都將查找表(LUT)作為基本構(gòu)建模塊,。 LUT有N個(gè)輸入選擇一個(gè)小表,其輸出表示N個(gè)輸入的任何需要的布爾函數(shù),。 有些eFPGA LUT有四個(gè)輸入,,有的有六個(gè),。有些LUT有兩個(gè)輸出,。 LUT通常在輸出端具有觸發(fā)器; 這些可以用來(lái)存儲(chǔ)結(jié)果,。這些LUT寄存器組合通常以四進(jìn)制形式出現(xiàn),還有進(jìn)位算術(shù)和移位器,,以便有效地實(shí)現(xiàn)加法器,。

  LUT接收來(lái)自可編程互聯(lián)網(wǎng)絡(luò)的所有輸入,,并將其所有輸出反饋到可編程互連網(wǎng)絡(luò)。

  除了LUT之外,,eFPGA還可能包含MAC(乘法器/累加器模塊)。 它們也連接到可編程互連網(wǎng)絡(luò),,用于提供更高效的數(shù)字信號(hào)處理(DSP)和人工智能(AI)功能。 對(duì)于內(nèi)存來(lái)說(shuō),,有大量的RAM,,通常是雙端口的封裝,。至于LUT和MAC,通過(guò)RAM連接到可編程互連網(wǎng)絡(luò),。

  eFPGA具有輸入和輸出引腳的外環(huán),,將eFPGA連接到SoC的其它部分,,這些引腳也連接到可編程的互連網(wǎng)絡(luò),。

  軟件工具用于合成Verilog或VHDL代碼,以編程eFPGA邏輯和互連來(lái)實(shí)現(xiàn)任何所需的功能,。

  eFPGA是方便的新邏輯塊,可在許多方面提高SoC的價(jià)值,,其中包括:

  使用數(shù)百個(gè)LUT的廣泛,,快速的控制邏輯;

  可重新配置的網(wǎng)絡(luò)協(xié)議;

  用于視覺(jué)或人工智能的可重構(gòu)算法;

  用于航空航天應(yīng)用的可重配置DSP;

  用于MCU和SoC的可重配置加速器。

  除了以上這些,,還有更多,,這里就不一一介紹了。

  當(dāng)今,,已經(jīng)有了一些eFPGA供應(yīng)商,,主要包括Achronix,F(xiàn)lex Logix,,Menta和QuickLogic,,此外,還有一些較小的供應(yīng)商,。有了這些選擇,,客戶需要決定哪一個(gè)最能滿足他們的需求。那么,,要如何選擇呢? 雖然需要考慮商業(yè)因素,,但本文重點(diǎn)討論技術(shù)因素。

  第1步:制程的兼容性

  通常情況下,,即使在IP評(píng)估的早期階段,,公司也會(huì)選擇foundry廠和工藝節(jié)點(diǎn)。而臺(tái)積電,、GlobalFoundries和SMIC現(xiàn)在或正在開(kāi)發(fā)針對(duì)包括65nm,,40nm,28nm,,22nm,,16nm,14nm和7nm工藝節(jié)點(diǎn)的eFPGA,。

  但是,并非所有供應(yīng)商對(duì)所有代工廠/工藝節(jié)點(diǎn)都有eFPGA,,至少目前還沒(méi)有,。 通過(guò)他們的網(wǎng)站檢查哪些與您的制程兼容非常重要。 您還應(yīng)該看看所討論的eFPGA是否已經(jīng)在芯片中進(jìn)行了驗(yàn)證,,并在NDA下提供了報(bào)告,。

  不要忘記檢查金屬堆棧的兼容性。您選擇的關(guān)鍵IP,,如SerDes或您的應(yīng)用可能需要您使用特定的金屬堆棧,,但并非所有eFPGA IP都與所有金屬堆棧兼容。

  第2步:陣列大小和功能

  并非所有的eFPGA供應(yīng)商都可以做非常小規(guī)模的eFPGA,,同時(shí),并不是所有廠商都可以做出規(guī)模非常大的eFPGA,。另外,,它們支持的MAC和RAM的性質(zhì)可能會(huì)有所不同,。

  對(duì)于您是否需要數(shù)百個(gè)LUT或數(shù)十萬(wàn)個(gè)LUT,以及您對(duì)MAC和RAM的需求,,這可能會(huì)篩選出一些供應(yīng)商,。

  步驟3:使用RTL進(jìn)行基準(zhǔn)測(cè)試

  eFPGA供應(yīng)商會(huì)為您提供用于評(píng)估的軟件,以便您可以確定(RTL)每個(gè)eFPGA可以實(shí)現(xiàn)的硅面積和性能,。您需要eFPGA能夠在與SoC其余部分相同的溫度和電壓范圍內(nèi)運(yùn)行,因此請(qǐng)確保您需要的是支持的,。

  在進(jìn)行基準(zhǔn)測(cè)試時(shí),,將蘋果與蘋果進(jìn)行比較(compare apples to apples)非常重要,。例如,您應(yīng)該在相同的工藝(slow/slow or typ/typ or fast/fast)以及相同電壓和相同溫度下比較每個(gè)eFPGA,。您應(yīng)該期望來(lái)自eFPGA供應(yīng)商的軟件工具將允許您檢查不同工藝轉(zhuǎn)角和電壓組合下的性能,。

  請(qǐng)注意,您的RTL適用于eFPGA。如果從硬連線ASIC設(shè)計(jì)中采用RTL,,則觸發(fā)器之間往往會(huì)有20~30個(gè)邏輯層,。如果你把它放在沒(méi)有優(yōu)化的eFPGA中,它會(huì)運(yùn)行得非常慢,。在eFPGA中,LUT輸出總是有觸發(fā)器,,您可以使用它們向RTL添加更多的流水線,,以在eFPGA中獲得更高的性能,。

  談到RTL,,確保你正在測(cè)試什么對(duì)你很重要。

  一個(gè)16位加法器,。你關(guān)心的是它的運(yùn)行速度有多快,,但是如果你不小心,看到的結(jié)果可能會(huì)讓你感到驚訝?,F(xiàn)在想象一個(gè)大的eFPGA。如果加法器放置在陣列的一個(gè)角落,,輸入和輸出接近,,則性能將遠(yuǎn)高于在陣列中間找到加法器的情況。這是因?yàn)槿绻^察從陣列輸入到陣列輸出的性能,,當(dāng)加法器位于陣列中間時(shí),到數(shù)據(jù)輸入和加法器輸出的加法器的距離會(huì)更長(zhǎng),。實(shí)際上,,加法器是相同的,,并且在兩個(gè)位置運(yùn)行速度都很快。問(wèn)題在于你的測(cè)試沒(méi)有隔離加法器的性能,,但它也加入了達(dá)到加法器所需的信號(hào),。

  下圖是一個(gè)例子,,它使用一個(gè)LUT來(lái)布線,LUT速度不會(huì)改變,,但通過(guò)互連進(jìn)入和離開(kāi)LUT的延遲會(huì)發(fā)生,。

5d28375d1bba3-thumb.jpg

  為了應(yīng)對(duì)這種效應(yīng),,尤其是因?yàn)槟赡軙?huì)比較兩種不同尺寸的eFPGA,您需要做的是在輸入和輸出上設(shè)置寄存器,,這可確保您關(guān)心的性能均可測(cè)量,,不受陣列的大小和位置的限制,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。