專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

FPGA的邏輯單元與門是什么對應(yīng)關(guān)系

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年11月26日   【字體:

一般而言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ù)。

對 于第一種方法,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è)門。對ESB(BRAM),由于用標(biāo)準(zhǔn)門陣列實(shí)現(xiàn)1bit的RAM時(shí)一般需要4個(gè)門,因此 SB/BARM 做RAM使用時(shí),1bit等效4個(gè)門,對Altera FPGA中一個(gè)2048bit的ESB,等效門數(shù)為8K。光靠這些數(shù)據(jù)還不能比較準(zhǔn)確地計(jì)算出FPGA的等效門數(shù)。因?yà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ù)值。 也就是說對于某一具體型號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ì)致的分析。

下面以EP20K1000E為例詳細(xì)說明FPGA等效門數(shù)的估計(jì)方法。

(1)計(jì)算邏輯陣列的等效門數(shù)
估算EP20K1000E的門數(shù)時(shí),把FPGA特定資源和LCA300K標(biāo)準(zhǔn)邏輯陣列的門數(shù)(LSI LCA300K Data Book)比較,可以對FPGA等效門做出估計(jì)。FPGA一個(gè)LUT+FF等效門數(shù)計(jì)算如圖2所示

即LUT+FF等效于8~21個(gè)門,上限和下限分別由實(shí)現(xiàn)簡單函數(shù)、復(fù)雜函數(shù)分別界定。

APEX20K 的等效門數(shù)也可以根據(jù)經(jīng)驗(yàn)數(shù)據(jù)獲得,把超過100個(gè)針對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萬門。

(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比較的方法,即通過與實(shí)現(xiàn)相同容量RAM在LCA300K所用的門數(shù)相比較,從而得到ESB的每一bit相當(dāng)于多少門,從而計(jì)算出ESB的等效門數(shù),參考圖3。

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萬門。

總而言之,對EP20K1000E,LUT+FF等效門數(shù)約為46萬(經(jīng)驗(yàn)數(shù)值),ESB全用作RAM時(shí)等效門數(shù)約為130萬,所以最大系統(tǒng)門數(shù)為170萬。

結(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ì)一般分為LUT+FF和ESB(BRAM)兩部分,LUT+FF等效于8~21個(gè)門,典型值為12;ESB做RAM使用時(shí),一般相當(dāng)于4門 /bit,此時(shí)估計(jì)出的門數(shù)最多,如果ESB做乘積項(xiàng)/LUT則等效門數(shù)大大減小,例如對EP20K1000E,前者為130萬,后者為2萬。

關(guān)閉窗口

相關(guān)文章