常見(jiàn)FPGA邏輯單元比較(僅參考)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
FPGA介紹
不介紹了...
Virtex-4 (或者更早的架構(gòu)) Slices
Xilinx FPGA 中的基本可編程邏輯模塊稱(chēng)為 slice。
此架構(gòu)(稍作修改)用于 Virtex-5 之前的所有 Virtex FPGA 系列和迄今為止的所有 Spartan FPGA 系列(至少,直到 Spartan-3A)。
Virtex-4 FPGA slice 包括:
-
兩個(gè) 4 輸入查找表(Look-Up Tables),可以實(shí)現(xiàn)任何 4 輸入Bool函數(shù),用作組合函數(shù)生成器(一個(gè)查找表標(biāo)記為“F”,另一個(gè)標(biāo)記為“G”)。
-
兩個(gè)專(zhuān)用的用戶(hù)控制組合邏輯復(fù)用器(MUXF5 和 MUXFX)。MUXF5 可用于組合slice的查找表(LUT)的輸出,從而實(shí)現(xiàn) 5 輸入組合電路。MUXFX 用于組合其他 MUXF5 和 MUXFX(來(lái)自其他slice)的輸出。
-
專(zhuān)用算術(shù)邏輯(兩個(gè) 1 位加法器、進(jìn)位鏈和兩個(gè)專(zhuān)用與門(mén),用于快速高效的乘法)。
-
兩個(gè) 1 位寄存器,可以配置為觸發(fā)器或鎖存器。這些寄存器的輸入由 YMUX 和 XMUX 多路復(fù)用器選擇。請(qǐng)注意,這些多路復(fù)用器不受用戶(hù)控制:路徑在 FPGA 編程期間選擇。
Virtex-4 slice的簡(jiǎn)化圖如下所示。

這種基于四輸入查找表的架構(gòu)可以被認(rèn)為是經(jīng)典的架構(gòu),也是前期國(guó)產(chǎn)FPGA的基本架構(gòu)。
要實(shí)現(xiàn)一個(gè)四輸入查找表(4-input LUT)需要 16 位內(nèi)存。然后,我們可以通過(guò)計(jì)算查找表位的總數(shù)來(lái)測(cè)量可放入Slices 中的組合邏輯量。
Xilinx Virtex-4 slice |
|
---|---|
Combinational logic density (in LUT bits) | 32 |
Register bits | 2 |
Virtex-5 Slices
Virtex-5 Slices包括:
-
四個(gè)查找表(Look-Up Tables),可以配置為具有 1 位輸出的 6 輸入查找表或具有 2 位輸出的 5 輸入查找表。
-
三個(gè)專(zhuān)用的用戶(hù)可控制的組合邏輯復(fù)用器(F7AMUX、F7BMUX 和 F8MUX)。F7AMUX 和 F7BMUX 組合Slices的查找表的輸出以實(shí)現(xiàn) 7 輸入組合電路。F8MUX 用于組合 F7AMUX 和 F7BMUX 的輸出。
-
專(zhuān)用算術(shù)邏輯(兩個(gè) 1 位加法器和一個(gè)進(jìn)位鏈)。
-
四個(gè) 1 位寄存器,可配置為觸發(fā)器或鎖存器。這些寄存器的輸入由 AMUX-DMUX 多路復(fù)用器選擇。請(qǐng)注意,這些多路復(fù)用器不受用戶(hù)控制:路徑在 FPGA 編程期間選擇。
與之前架構(gòu)的主要區(qū)別:
-
可配置的 6 對(duì) 1 或 5 對(duì) 2 查找表,而不是 4 對(duì) 1 查找表。
-
每個(gè)切片有 4 個(gè)查找表(LUT)和 4 個(gè)寄存器位。
-
專(zhuān)用算術(shù)邏輯電路不包括專(zhuān)用與門(mén)。
Virtex-5 FPGA Slices的簡(jiǎn)化圖如下:

例如,在 Virtex-5 中,僅用一個(gè)查找表就可以實(shí)現(xiàn)一個(gè)完整的 4 選 1 多路復(fù)用器。
Xilinx Virtex-5 slice |
|
---|---|
Combinational logic density (in LUT bits) | 256 |
Register bits | 4 |
Altera ALMs
Altera FPGA(Stratix 和 Cyclone 系列)使用略有不同的邏輯塊,稱(chēng)為“自適應(yīng)邏輯模塊”(“Adaptive Logic Modules,ALM)。
ALM 資源包括:
-
兩個(gè)四輸入查找表和四個(gè)三輸入查找表用于組合邏輯實(shí)現(xiàn)。
-
專(zhuān)用算術(shù)和進(jìn)位邏輯。
-
兩個(gè)可編程寄存器。
需要注意的是,一個(gè)自適應(yīng)邏輯模塊(ALM)只有 8 個(gè)輸入,這比查找表(LUT)的輸入總數(shù)要少。這意味著一些輸入信號(hào)連接到不止一個(gè)查找表。在自適應(yīng)邏輯模塊中有幾個(gè)輸入信號(hào)復(fù)用器,它們形成一種可由用戶(hù)編程的互連矩陣(在配置時(shí))。請(qǐng)注意,并非所有的連接都是可能的。更多細(xì)節(jié)請(qǐng)參考 Stratix-IV 器件手冊(cè)。
Altera ALM 的架構(gòu)簡(jiǎn)化圖如下:

Altera ALM |
|
---|---|
Combinational logic density (in LUT bits) | 64 |
Register bits | 2 |
Actel VersaTile
Actel 主要生產(chǎn)用于航空航天和軍事應(yīng)用的 FPGA。與頂級(jí)的 Xilinx 和 Altera 設(shè)備相比,Actel 的 FPGA 提供的邏輯資源較少。
Actel 基于 flash 的 FPGA(如 ProASIC-3)的基本邏輯模塊稱(chēng)為 VersaTile。每個(gè) VersaTile 單元可以實(shí)現(xiàn)以下任何一種:
- 任何三輸入組合邏輯函數(shù)或 D 觸發(fā)器/鎖存器。
一個(gè) VersaTile 只能實(shí)現(xiàn)其中之一,不能兩者兼得。因此,為了進(jìn)行比較,我們將查找表和寄存器位除以 2。
Actel VersaTile |
|
---|---|
Combinational logic density (in LUT bits) | 4 |
Register bits | 0.5 |
總結(jié)
這些架構(gòu)非常不同,所以很難客觀地對(duì)它們進(jìn)行比較。所以接下來(lái)的比較只能直觀上進(jìn)行應(yīng)用,其結(jié)果只能進(jìn)行參考。。
通常,對(duì)于 FPGA 設(shè)計(jì)來(lái)說(shuō),瓶頸通常是查找表(LUT)的數(shù)量(而不是寄存器的數(shù)量)。從這個(gè)角度來(lái)看,可以說(shuō)一個(gè) Virtex-5 Slices理論上可以替代 8 個(gè) Virtex-4 Slices或 4 個(gè)自適應(yīng)邏輯模塊(ALM)。但在實(shí)際設(shè)計(jì)中,不可能利用所有的資源。
Logic block | Virtex-4 slices equivalent |
---|---|
Xilinx Virtex-4 slice (reference) | 1 |
Xilinx Virtex-5 slice | 2 |
Altera ALM | 1.3 |
Actel VersaTile | 0.25 |
