常見FPGA邏輯單元比較(僅參考)
掃描二維碼
隨時隨地手機看文章
FPGA介紹
不介紹了...
Virtex-4 (或者更早的架構) Slices
Xilinx FPGA 中的基本可編程邏輯模塊稱為 slice。
此架構(稍作修改)用于 Virtex-5 之前的所有 Virtex FPGA 系列和迄今為止的所有 Spartan FPGA 系列(至少,直到 Spartan-3A)。
Virtex-4 FPGA slice 包括:
-
兩個 4 輸入查找表(Look-Up Tables),可以實現(xiàn)任何 4 輸入Bool函數(shù),用作組合函數(shù)生成器(一個查找表標記為“F”,另一個標記為“G”)。
-
兩個專用的用戶控制組合邏輯復用器(MUXF5 和 MUXFX)。MUXF5 可用于組合slice的查找表(LUT)的輸出,從而實現(xiàn) 5 輸入組合電路。MUXFX 用于組合其他 MUXF5 和 MUXFX(來自其他slice)的輸出。
-
專用算術邏輯(兩個 1 位加法器、進位鏈和兩個專用與門,用于快速高效的乘法)。
-
兩個 1 位寄存器,可以配置為觸發(fā)器或鎖存器。這些寄存器的輸入由 YMUX 和 XMUX 多路復用器選擇。請注意,這些多路復用器不受用戶控制:路徑在 FPGA 編程期間選擇。
Virtex-4 slice的簡化圖如下所示。
這種基于四輸入查找表的架構可以被認為是經典的架構,也是前期國產FPGA的基本架構。
要實現(xiàn)一個四輸入查找表(4-input LUT)需要 16 位內存。然后,我們可以通過計算查找表位的總數(shù)來測量可放入Slices 中的組合邏輯量。
| Xilinx Virtex-4 slice |
|
|---|---|
| Combinational logic density (in LUT bits) | 32 |
| Register bits | 2 |
Virtex-5 Slices
Virtex-5 Slices包括:
-
四個查找表(Look-Up Tables),可以配置為具有 1 位輸出的 6 輸入查找表或具有 2 位輸出的 5 輸入查找表。
-
三個專用的用戶可控制的組合邏輯復用器(F7AMUX、F7BMUX 和 F8MUX)。F7AMUX 和 F7BMUX 組合Slices的查找表的輸出以實現(xiàn) 7 輸入組合電路。F8MUX 用于組合 F7AMUX 和 F7BMUX 的輸出。
-
專用算術邏輯(兩個 1 位加法器和一個進位鏈)。
-
四個 1 位寄存器,可配置為觸發(fā)器或鎖存器。這些寄存器的輸入由 AMUX-DMUX 多路復用器選擇。請注意,這些多路復用器不受用戶控制:路徑在 FPGA 編程期間選擇。
與之前架構的主要區(qū)別:
-
可配置的 6 對 1 或 5 對 2 查找表,而不是 4 對 1 查找表。
-
每個切片有 4 個查找表(LUT)和 4 個寄存器位。
-
專用算術邏輯電路不包括專用與門。
Virtex-5 FPGA Slices的簡化圖如下:
例如,在 Virtex-5 中,僅用一個查找表就可以實現(xiàn)一個完整的 4 選 1 多路復用器。
| Xilinx Virtex-5 slice |
|
|---|---|
| Combinational logic density (in LUT bits) | 256 |
| Register bits | 4 |
Altera ALMs
Altera FPGA(Stratix 和 Cyclone 系列)使用略有不同的邏輯塊,稱為“自適應邏輯模塊”(“Adaptive Logic Modules,ALM)。
ALM 資源包括:
-
兩個四輸入查找表和四個三輸入查找表用于組合邏輯實現(xiàn)。
-
專用算術和進位邏輯。
-
兩個可編程寄存器。
需要注意的是,一個自適應邏輯模塊(ALM)只有 8 個輸入,這比查找表(LUT)的輸入總數(shù)要少。這意味著一些輸入信號連接到不止一個查找表。在自適應邏輯模塊中有幾個輸入信號復用器,它們形成一種可由用戶編程的互連矩陣(在配置時)。請注意,并非所有的連接都是可能的。更多細節(jié)請參考 Stratix-IV 器件手冊。
Altera ALM 的架構簡化圖如下:
| Altera ALM |
|
|---|---|
| Combinational logic density (in LUT bits) | 64 |
| Register bits | 2 |
Actel VersaTile
Actel 主要生產用于航空航天和軍事應用的 FPGA。與頂級的 Xilinx 和 Altera 設備相比,Actel 的 FPGA 提供的邏輯資源較少。
Actel 基于 flash 的 FPGA(如 ProASIC-3)的基本邏輯模塊稱為 VersaTile。每個 VersaTile 單元可以實現(xiàn)以下任何一種:
- 任何三輸入組合邏輯函數(shù)或 D 觸發(fā)器/鎖存器。
一個 VersaTile 只能實現(xiàn)其中之一,不能兩者兼得。因此,為了進行比較,我們將查找表和寄存器位除以 2。
| Actel VersaTile |
|
|---|---|
| Combinational logic density (in LUT bits) | 4 |
| Register bits | 0.5 |
總結
這些架構非常不同,所以很難客觀地對它們進行比較。所以接下來的比較只能直觀上進行應用,其結果只能進行參考。。
通常,對于 FPGA 設計來說,瓶頸通常是查找表(LUT)的數(shù)量(而不是寄存器的數(shù)量)。從這個角度來看,可以說一個 Virtex-5 Slices理論上可以替代 8 個 Virtex-4 Slices或 4 個自適應邏輯模塊(ALM)。但在實際設計中,不可能利用所有的資源。
| 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 |






