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