我們?cè)诒容^FPGA的芯片參數(shù)時(shí)經(jīng)常說(shuō)某一款FPGA是多少萬(wàn)門的,也有的說(shuō)其有多少個(gè)LE,那么二者之間有何關(guān)系呢?
FPGA等效門數(shù)的計(jì)算方法有兩種,一是把FPGA基本單元(如LUT+FF,ESB/BRAM)和實(shí)現(xiàn)相同功能的標(biāo)準(zhǔn)門陣列比較,門陣列中包含的門數(shù)即為該FPGA基本單元的等效門數(shù),然后乘以基本單元的數(shù)目就可以得到FPGA門數(shù)估計(jì)值;二是分別用FPGA和標(biāo)準(zhǔn)門陣列實(shí)現(xiàn)相同的功能,從中統(tǒng)計(jì)出FPGA的等效門數(shù),這種方法比較多的依賴于經(jīng)驗(yàn)數(shù)據(jù)。
對(duì)于第一種方法,F(xiàn)PGA包括LUT/FF/RAM等資源,分析各種資源等效門數(shù)時(shí),總原則是等效原則,就是實(shí)現(xiàn)相同的功能,在標(biāo)準(zhǔn)門陣列中需要的門數(shù)就是FPGA該資源等效門數(shù),例如實(shí)現(xiàn)一個(gè)帶寄存器輸出的4輸入XOR,在FPGA中需要用一個(gè)LUT和1個(gè)FF實(shí)現(xiàn),在標(biāo)準(zhǔn)門陣列中一般要用21個(gè)與非門實(shí)現(xiàn),于是1個(gè)LUT+1個(gè)FF等效于21個(gè)門。對(duì)ESB(BRAM),由于用標(biāo)準(zhǔn)門陣列實(shí)現(xiàn)1bit的RAM時(shí)一般需要4個(gè)門,因此ESB/BARM 做RAM使用時(shí),1bit等效4個(gè)門,對(duì)Altera FPGA中一個(gè)2048bit的ESB,等效門數(shù)為8K。光靠這些數(shù)據(jù)還不能比較準(zhǔn)確地計(jì)算出FPGA的等效門數(shù)。因?yàn)檫@只是一種簡(jiǎn)單情況,實(shí)際情況要復(fù)雜很多。
例如,如果實(shí)現(xiàn)的是帶寄存器輸出地2輸入XOR,F(xiàn)PGA也要用1個(gè)LUT+FF,而標(biāo)準(zhǔn)門陣列只需要8個(gè)NAND,于是1個(gè)LUT+1個(gè)FF只等效于8個(gè)門。同時(shí)特定功能的實(shí)現(xiàn),在不同的標(biāo)準(zhǔn)門陣列系列中需要的門數(shù)也不一樣,因此等效門的計(jì)算只能是個(gè)大概的數(shù)值。也就是說(shuō)對(duì)于某一具體型號(hào)FPGA的門數(shù)估計(jì),與FPGA資源的用途有密切關(guān)系。LUT用于實(shí)現(xiàn)2輸入XOR和4輸入XOR等效門數(shù)不一樣(分別為1和13);FF不帶異步清零、復(fù)位、時(shí)鐘使能和帶這些端口的等效門數(shù)不同(分別為8和13);ESB(BRAM)做RAM使用時(shí),1bit等效4個(gè)門,1個(gè)2048bit的BRAM等效8K門,但是做查找表使用時(shí)可能只相當(dāng)于不到200門。因此估計(jì)FPGA的等效門數(shù)需要做更細(xì)致的分析。
圖1顯示了EP20K系列的等效門數(shù)等參數(shù),下面以EP20K1000E為例詳細(xì)說(shuō)明FPGA等效門數(shù)的估計(jì)方法。
圖1 EP20K 系列的等效門數(shù)等參數(shù)
(1)計(jì)算邏輯陣列的等效門數(shù)
估算EP20K1000E的門數(shù)時(shí),把FPGA特定資源和LCA300K標(biāo)準(zhǔn)邏輯陣列的門數(shù)(LSI LCA300K Data Book)比較,可以對(duì)FPGA等效門做出估計(jì)。FPGA一個(gè)LUT+FF等效門數(shù)計(jì)算如圖2所示
圖2 一個(gè)LUT+FF等效門數(shù)
即LUT+FF等效于8~21個(gè)門,上限和下限分別由實(shí)現(xiàn)簡(jiǎn)單函數(shù)、復(fù)雜函數(shù)分別界定。
APEX20K的等效門數(shù)也可以根據(jù)經(jīng)驗(yàn)數(shù)據(jù)獲得,把超過(guò)100個(gè)針對(duì)4輸入LUT的設(shè)計(jì)用FPGA實(shí)現(xiàn),同時(shí)用LCA300K gate arrays和Design Compiler實(shí)現(xiàn),比較相同的設(shè)計(jì)FPGA所用的LE數(shù)目和LCA300K所用的門數(shù)可知,每個(gè)LE相當(dāng)于12個(gè)門。EP20K1000E有38400個(gè)LE,于是相當(dāng)于46萬(wàn)門。
(2)計(jì)算ESB的等效門數(shù)
RAM中一個(gè)bit所需要的門數(shù)與RAM的體系結(jié)構(gòu)、工藝、廠商等有關(guān),一般而言,1bit相當(dāng)于4個(gè)門,Altera也采用這個(gè)標(biāo)準(zhǔn),這樣可以方便地估計(jì)ESB等效門數(shù)。
計(jì)算ESB等效門數(shù)也可以采用和LSI LCA300K比較的方法,即通過(guò)與實(shí)現(xiàn)相同容量RAM在LCA300K所用的門數(shù)相比較,從而得到ESB的每一bit相當(dāng)于多少門,從而計(jì)算出ESB的等效門數(shù),參考圖3。
圖3 ESB的等效門數(shù)
從上圖可見(jiàn),4gates/bit是一個(gè)比較合適的估計(jì),于是EP20K1000E的ESB等效門數(shù)為
160 ESBs X 2,048 bits per ESB X 4 gates per bit = 1,310,720 gates,即約為130萬(wàn)門。
總而言之,對(duì)EP20K1000E,LUT+FF等效門數(shù)約為46萬(wàn)(經(jīng)驗(yàn)數(shù)值),ESB全用作RAM時(shí)等效門數(shù)約為130萬(wàn),所以最大系統(tǒng)門數(shù)為170萬(wàn)。
結(jié)論:
FPGA等效門數(shù)估計(jì)方法可以是把FPGA資源基本單元(如LUT+FF,ESB)和實(shí)現(xiàn)相同功能的標(biāo)準(zhǔn)門陣列相比得到FPGA基本單元等效的門數(shù),然后乘以單元的個(gè)數(shù)得到整個(gè)FPGA等效門數(shù)。也可以是實(shí)現(xiàn)很多設(shè)計(jì),和用標(biāo)準(zhǔn)門陣列相比,從中統(tǒng)計(jì)出等效門數(shù)。FPGA的等效門數(shù)估計(jì)一般分為L(zhǎng)UT+FF和ESB(BRAM)兩部分,LUT+FF等效于8~21個(gè)門,典型值為12;ESB做RAM使用時(shí),一般相當(dāng)于4門/bit,此時(shí)估計(jì)出的門數(shù)最多,如果ESB做乘積項(xiàng)/LUT則等效門數(shù)大大減小,例如對(duì)EP20K1000E,前者為130萬(wàn),后者為2萬(wàn)。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22049瀏覽量
618374 -
ESB
+關(guān)注
關(guān)注
0文章
10瀏覽量
8982 -
等效
+關(guān)注
關(guān)注
0文章
15瀏覽量
9641
原文標(biāo)題:FPGA門數(shù)計(jì)算方法
文章出處:【微信號(hào):Hack電子,微信公眾號(hào):Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論