|
FPGA等效門數(shù)的計算方法有兩種: 1. 把 FPGA基本單元,(如 LUT+FF,ESB/BRAM)和實現(xiàn)相同功能的標準門陣列比較,門陣列中包含的門數(shù)即為該 FPGA 基本單元的等效門數(shù), 然后乘以基本單元和數(shù)目就可以得到 FPGA門數(shù)估計值; 2. 分別用 FPGA和標準門陣列實現(xiàn)相同的功能,從中統(tǒng)計出 FPGA的等效門數(shù),這種方法比較多的依賴于經驗數(shù)據(jù)。 對于第一種方法,FPGA 包括 LUT/FF/RAM 等資源,分析各種資源等效門數(shù)時,總原則是等效原則,就是實現(xiàn)相同的功能,在標準門陣列中需要的門數(shù)就是 FPGA該資源等效門數(shù),例如實現(xiàn)一個帶寄存器輸出的 4 輸入 XOR,在 FPGA中需要用一個 LUT和 1 個 FF實現(xiàn),在標準門陣列中一般要用21 個與非門實現(xiàn),于是 1 個 LUT+1 個 FF 等效于 21 個門。對 ESB(BRAM),由于用標準門陣列實現(xiàn) 1bit 的 RAM 時一般需要4 個門,因此 ESB/BARM 做 RAM 使用時,1bit 等效 4 個門,對 Altera FPGA 中一個 2048bit的 ESB,等效門數(shù)為 8K。光靠這些數(shù)據(jù)還不能比較準確地計算出 FPGA 的等效門數(shù)。因為這只是一種簡單情況,實際情況要復雜很多。例如,如果實現(xiàn)的是帶寄存器輸出地 2 輸入 XOR,F(xiàn)PGA 也要用 1 個 LUT+FF,而標準門陣列只需要 8 個NAND,于是 1 個 LUT+1 個 FF 只等效于 8 個門。同時特定功能的實現(xiàn),在不同的標準門陣列系列中需要的門數(shù)也不一樣,因此等效門的計算只能是個大概的數(shù)值。 也就是說對于某一具體型號 FPGA 的門數(shù)估計,與 FPGA 資源的用途有密切關系。LUT 用于實現(xiàn) 2 輸入 XOR和 4 輸入 XOR 等效門數(shù)不一樣(分別為 1 和 13);FF 不帶異步清零、復位、時鐘使能和帶這些端口的等效門數(shù)不同(分別為 8 和 13);ESB(BRAM)做 RAM 使用時,1bit 等效 4 個門,1 個2048bit 的 BRAM 等效 8K門,但是做查找表使用時可能只相當于不到 200 門。因此估計 FPGA 的等效門數(shù)需要做更細致的分析。 圖1 顯示了 EP20K 系列的等效門數(shù)等參數(shù) 下面以 EP20K1000E為例詳細說明 FPGA等效門數(shù)的估計方法。 1.計算邏輯陣列的等效門數(shù) 估算 EP20K1000E 的門數(shù)時,把 FPGA 特定資源和 LCA300K 標準邏輯陣列的門數(shù)(LSI LCA300K Data Book)比較,可以對 FPGA 等效門做出估計。FPGA一個 LUT+FF等效門數(shù)計算如圖 2 所示 即 LUT+FF等效于 8~21 個門,上限和下限分別由實現(xiàn)簡單函數(shù)、復雜函數(shù)分別界定。 APEX20K 的等效門數(shù)也可以根據(jù)經驗數(shù)據(jù)獲得,把超過 100 個針對 4 輸入 LUT 的設計用FPGA實現(xiàn),同時用 LCA300K gate arrays 和Design Compiler 實現(xiàn),比較相同的設計 FPGA 所用的 LE數(shù)目和 LCA300K所用的門數(shù)可知,每個 LE相當于 12 個門。EP20K1000E有 38400個 LE,于是相當于 46 萬門。 2.計算 ESB的等效門數(shù) RAM 中一個 bit 所需要的門數(shù)與RAM 的體系結構、工藝、廠商等有關,一般而言 1bit相當于 4 個門,Altera也采用這個標準,這樣可以方便地估計 ESB 等效門數(shù)。 計算 ESB 等效門數(shù)也可以采用和 LSI LCA300K比較的方法,即通過與實現(xiàn)相同容量 RAM 在LCA300K 所用的門數(shù)相比較,從而得到 ESB 的每一 bit 相當于多少門,從而計算出 ESB 的等效門數(shù),參考圖 3。 從上表可見,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 萬(經驗數(shù)值),ESB 全用作 RAM 時等效門數(shù)約為 130 萬,所以最大系統(tǒng)門數(shù)為 170 萬。 結論: FPGA等效門數(shù)估計方法可以是把 FPGA資源基本單元(如 LUT+FF,ESB)和實現(xiàn)相同功能的標準門陣列相比得到FPGA基本單元等效的門數(shù), 然后乘以單元的個數(shù)得到整個FPGA等效門數(shù)。也可以是實 現(xiàn)很多設計,和用標準門陣列相比,從中統(tǒng)計出等效門數(shù)。 FPGA的等效門數(shù)估計一般分為LUT+FF和ESB(BRAM)兩部分,LUT+FF 等效于 8~21 個門,典型值為 12;ESB做 RAM使用時,一般相當于4 門/bit,此時估計出的門數(shù)最多,如果 ESB 做乘積項/LUT 則等效門數(shù)大大減小,例如對EP20K1000E,前者為130 萬,后者為2萬。 |