Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Document Type: Tutorial
NI Supported: Yes
Publish Date: Feb 3, 2012


Feedback


Yes No

Related Categories

Related Links - Developer Zone

Related Links - Products and Services

Xilinx Virtex-5 FPGA 的優點

0 ratings | 0.00 out of 5
Read in | Print | PDF

Overview

使用 FPGA 技術的 NI R 系列智慧型資料擷取 (DAQ) 介面卡,透過內建的處理功能,建立客制化的可重設系統。NI 升級了最新一代 R 系列介面卡的 FPGA 晶片,使其達到上述彈性。前一代的 R 系列介面卡是使用 Xilinx Virtex-II FPGA 晶片;但 PXI-7841R、PXI-7842R、PXI-7851R,與 PXI-7852R 介面卡則具有更新的 Xilinx Virtex-5 FPGA 晶片。新設計並提供多項重要的架構,如 6 輸入式查找表 (Six-input LUT)、對角式對稱互連 (Diagonally symmetric interconnect) 形式,與特殊的 DSP48E Slice,可用於複雜的數學運算。此外,所有晶片均經過 65 nm 平版印刷製程的處理。此份技術文件將進一步說明相關特性。

相關背景

表 1 顯示 Virtex-II 與 Virtex-5 晶片的主要規格。閘道 (Gate) 數量為 FPGA 晶片與 ASIC 技術常見的比較方式,但卻無法實際反應出 FPGA 可用邏輯的總數量。而此理由為 Xilinx 並未針對新 Virtex-5 系列指定閘道數量的原因之一。

 

 

Virtex-II

1000

Virtex-II

3000

Virtex-5

LX30

Virtex-5

LX50

Virtex-5

LX85

系統閘極

1 百萬

3 百萬

----

----

-----

分割 (Slice)

5,120

14,336

4,800

7,200

12,960

正反器 (Flip-flops)

10,240

28,627

19,200

28,800

51,840

查找表 (LUT)

10,240

28,627

19,200

28,800

51,840

乘法器 (Multiplier)

40

96

32

48

48

Block RAM (kb)

720

1,728

1,152

1,728

3,456

表 1. Virtex-II 與 Virtex 5 規格

 

各個產品系列均可透過各項元件進行有意義的比較;然而,Virtex-5 的許多元件架構均經過重新設計,而與其他產品系列的比較作業亦有所不同。舉例來說,Virtex-5 LX85 的晶圓分割 (Slice) 雖少於 Virtex-II 3000,但其效能卻高於 Virtex-5。也因此,若先了解 Virtex-5 的特殊功能,更有助於了解其相關優點。

構成 Virtex FPGA 基本架構的一般元件,即如正反器 (Flip-flops)、查找表 (LUT)、Block RAM,與乘法器 (Multiplexer)。這些基本架構的總成,即稱為 1 個分割 (Slice) 或可設定邏輯區塊 (CLB)。1 個 CLB 與分割的定義,將依各個產品系列而有所不同。舉例來說,Virtex-II 的 1 個 CLB 即為 4 組分割,而每個分割均包含 2 組 4 輸入式 (4-input) LUT、2 組 Flip-flops、多功能乘法器,與進位邏輯 (Carry logic)。而 Virtex-5 的 1 個 CLB 即為 2 組分割,而每個分割均包含 4 組 6 輸入式 LUT、4 組 Flip-flops、多功能乘法器,與進位邏輯。在 Virtex-5 中,這些基本分割稱為「SLICEL」。某些分割且內建分散式 RAM 與 32 位元的移位暫存器 (Shift register)。具有這些附加元件的分割即稱為「SLICEM」。

 

分割 (Slice)

查找表 (LUT)

正反器 (Flip-Flops)

算式與進位鏈 (Carry Chain)

分散式 RAM1

移位暫存器 (Shift Register)1

2

8

8

2

256 位元

128 位元

 

1 僅限 SLICEM

表 2. Virtex-5 的 CLB 元件

 

若要進一步了解這些元件與概念,請參閱技術文件「FPGA --表面之下的結構」。

 

邏輯進化:6 輸入式 (Six-input) LUT 與提升過後的 CLB 互連 (Interconnection) 功能

Virtex-5 最具代表性的優點之二,即是晶片元件的基本結構相異處。在新的設計中,Xilinx 提升了標準 4 輸入式 LUT 的功能,而成完整的 6輸入式 LUT。Xilinx 亦進一步提升對角對稱互連 (Diagonally symmetric interconnect) 形式。

 

6 輸入式 (Six-input) LUT

由於系統日趨複雜,應用亦隨著需要更多資料路徑。傳統的 4 輸入式 (Four-input) LUT 已經不堪使用,且需要更多階的邏輯以建置複雜程式碼。Xilinx 將 LUT 擴充成為 6 輸入式 LUT,以達更高效能。傳統的 4 輸入式 LUT,僅可提供 16 種不同組合的真值表 (Truth table)。新的 6 輸入式 LUT 則將真值表提升為 64 種組合。舉例來說,圖 1 為 2 組 16 位元數字的簡易比較模式。

圖 1. NI LabVIEW 軟體中的簡易「大於 (Greater Than)」比較作業

 

LUT 將比較各個位元以決定結果,因此 16 位元數字將需要 16 組 LUT 輸入。如圖 2 所示,若以 4 輸入式 LUT 架構執行作業,則將需要 11 組 LUT 與 3 組邏輯層 (Logic level)。但若透過 6 輸入式 LUT 架構,僅需 7 組 LUT 與 2 組邏輯層即可達到相同功能。


[+] Enlarge Image
圖 2. 16 位元比較範例

 

對角對稱互連 (Diagonally Symmetric Interconnect)

密集的 Virtex-5 邏輯,可能受限於先前的互連設計。在邏輯總數與邏輯區塊所需的連線總數之間,存在某種關係。該層關係可表示為:

T=tgp

此處的「t」與「ρ」為物性常數 (Material constant),「T」為終端 (或為邏輯區塊邊界的連結) 數量,而「g」為內部元件 (邏輯) 的數量。透過正確的常數,Xilinx 計算出 Virtex-5 將需要高於 Virtex-4 約 50% 的互連數量。為了達到此目標,Xilinx 建置如圖 3 所示的新型對角對稱互連模式。


[+] Enlarge Image

圖 3. Virtex-4 與 Virtex-5 的互連形式

 

此項設計將以較少的中繼點 (Hop) 提供更多的可用位置,進而提升速度。不論是否為鄰近的 2 組 CLB,只要之間產生連結即成為 1 個中繼點,並形成 1 組軌跡或路由架構。若 2 組 CLB 之間的連結需要 2 個不同的路由架構,亦視之為 2 個中繼點。圖 3 即以顏色顯示,1 組中央 CLB 透過 1、2,與 3 個中繼點,所能達到的邏輯區塊數量。透過程序改善,互連時脈延遲 (Interconnect timing delay) 將為 50% 以上的要徑延遲 (Critical path delay)。由於新設計的區塊距離較短,因此僅於 2 或 3 個中繼的範圍內即可達更多邏輯區塊,因此更可大幅縮短訊號抵達目的地所需的時間。圖 4 則比較 Virtex-5 與 Virtex-4 設計的路由延遲。

圖 4. Virtex-4 與 Virtex-5 FPGA 的路由延遲比較

 

更進一步說,每當訊號要於區塊之間移動時,則將離開區塊並跨越金屬化層 (Metallization layer) 以達目的地區塊;整個過程均需要電力。因此若能縮短移動時間,則不僅代表速度的提升,亦可降低耗電量。

 

數位訊號處理與 DSP48E Slice

數位訊號處理 (DSP) 作業,為數位訊號的研究、處理,與分析過程,亦代表類比訊號的數位化。常見應用則包含感測器陣列處理、統計訊號處理,與訊號處理;適用於數位成像、通訊,與生物醫療應用。以往來說,此類型應用均需要專屬的數位訊號處理器。透過硬體的平行機制,FPGA 可突破依序執行 (Sequential execution) 的固定運算,並於每時脈循環完成更多作業,以超越數位訊號處理器 (DSP) 的計算功能。又如乘法器 (Multiplier) 的特殊元件,亦可大幅提升 DSP 應用中的 FPGA 使用效益。若沒有這些元件,即便是相乘 2 個數字的簡單作業,亦將耗用大量的資源。Virtex-II 具有 1 組 18 x 18 位元的乘法器;而 Virtex-4 更特別新增稱為 DSP48 Slice 的邏輯區塊。這些區塊是專為 DSP 資料與訊號分析作業所設計,並內建乘法器與加法器 (Adder) 電路。原始 DSP48 Slice 上的乘法器為 18 x 18 位元。Xilinx 更提升 Virtex-5 上的乘法器達 25 x 18 位元。這些分割即稱為 DSP48E Slice。此種分割支援超過 40 項動態控制操作模式,包含 Multiplier、Multiplier-accumulator、Multiplier-adder、Subtracter、Three-input adder、Barrel shifter、Wide bus multiplexers、Wide counters,與 Comparator。這些分割且不需特別耗用邏輯資源,即可進行上述所有功能。

DSP48E Slice 亦適於建置加法鏈 (Adder chain);此功能可達成高效能濾波器。若需要 NI LabVIEW 與 LabVIEW FPGA Module 構成濾波器的相關資訊,請參閱相關連結中的「使用 NI LabVIEW 數位濾波器設計 (Digital Filter Design) 工具組設計濾波器」技術文件。

每個 DSP48E Slice 專屬的輸出與輸入路由資源,將確保 1 個區段 (Column) 所串連的分割數量。此專屬路由功能將讓加法鏈中的所有 DSP48E Slice 達到全速作業,且不會耗用其他 FPGA 所需的核心路由 (Fabric routing) 或邏輯資源。

若要比較 DSP 分割的處理功能,則可測試每秒所能進行的乘法累加 (Multiply-accumulate,MAC) 作業數量;一般分割均可達到每秒數十億個乘法累加作業 (Giga MAC 或 GMAC)。圖 5 即為 LabVIEW 進行此測試的圖示。

圖 5. 乘法累加 (Multiply-Accumulate) 功能的圖示

 

此程式碼尚未針對 FPGA 進行最佳化。此處需要單一週期的時脈迴路,搭配 1 組 HDL 程式碼,以強制編碼器使用 DSP 分割。如圖 6 所示。使用者可至 IPNet 取得此範例中的實際程式碼,或直接點選相關連結。


[+] Enlarge Image

圖 6. 用於執行乘法累加功能的實際程式碼

 

NI 則使用上述的 HDL 節點範例,執行 Virtex-II 與 Virtex-5 的 MAC 比較測試。每次測試均進行編譯,以執行 96 次平行乘法累加。Virtex-II 僅可達到 40 MHz,而 Virtex-5 卻可達到 100 MHz。此結果則表示 Virtex-II 可為 3.84 GMAC;Virtex-5 可為9.6 GMAC。

 

65nm 製程與提升的功率效益

FPGA 晶片的功率與效益,則反應了處理過程中所使用的微影節點 (Lithographic node) 大小。在先前的 FPGA 設計中,均使用 90 nm 製程。Virtex-5 是 Xilinx 公司首次使用 65 nm 微影節點所設計的 FPGA 晶片。如圖 7 所示,亦為電晶體閘極氧化厚度 (Gate oxide thickness)。

注意:請勿將 Virtex-4 之前用於形容 FPGA 晶片相對尺寸的「Millions of gates」規格,與電晶體閘極相混淆。

 

圖 7. 常見電晶體的閘極氧化厚度

 

由於 Xilinx 使用較小型的電晶體閘極,僅需較低電壓即可驅動電晶體的閘極,因此可降低晶片的耗電量。Virtex-5 上的核心邏輯 (Core logic) 僅使用 1 V,而  Virtex-4 與 Virtex-II 分別需要 1.2 V 與 1.5 V。

不過較薄的電晶體閘極氧化厚度亦有幾項缺點。較薄的閘極氧化厚度,則可能造成電流洩漏或靜電釋放 (Static discharge)。當電晶體閘極過小,足以讓電子穿過阻擋層 (Barrier) 時,則會發生電力吸收 (Power drain) 的情形。Xilinx 亦了解某些用於組態的特定電晶體,必須保持於「On」或「Off」狀態。即便電晶體為「Off」,亦需要電壓維持此狀態,因此仍可能產生電流洩漏。而其他則為「On」或持續切換狀態的電晶體。對這些電晶體來說,較薄的閘極氧化可大幅節省電力,因此電流洩漏所造成的影響較小。Xilinx 將邏輯分為 2 個群組:設定邏輯 (Configuration logic) 與核心邏輯 (Core logic)。若要減少設定邏輯中的電流洩漏情形,則必須達到更薄的電晶體閘極氧化層。在核心邏輯中,即便電晶體閘極氧化層為 65 nm,電流洩漏亦不會造成太大問題。還有用於 I/O 第三種電晶體,其閘極必須達到 3.3V,且閘極氧化層厚度亦達 250 nm。圖 8 即表示此 3 種閘極。

 

圖 8. 共 3 種電晶體閘極厚度


若能避免電流洩漏情形,將可大幅提升動態功率消耗 (Dissipation),與動態 (Active) 功耗與靜態 (Static) 功耗的比例。與 Virtex-4 相較,Virtex-5 可降低 35% 的動態功率消耗。若進一步比較 90 nm 製程則靜動態功耗比 (Static to active) 可達 9.2%。新的 65 nm 製程更可進步到 6.7% 的進動態功耗比。65 nm 製程實為設計過程的一大進步。

 

進階應用

針對功能更強大的應用,Virtex-5 亦另有顯著提升。然而,這些應用需要更高階的專業知識,並僅限直接進行 HDL 程式設計。透過 LabVIEW FPGA Module,即可使用 HDL 函式節點進而存取這些功能。舉例來說,於 LabVIEW FPGA 中所編譯的程式碼,可達最高 200 MHz 的迴路速率。Virtex-5 則額定為 550 MHz 時脈速度。而此速度為根據程式碼所定的最高理想速度。若使用 LabVIEW FPGA 中的 HDL 節點,即可進行迴路的程式設計,以圖形化 LabVIEW FPGA 程式碼所提供的 200 MHz 速率執行之。

另 1 項進階功能,即為 Xilinx 使用 2 組 5 輸入式 LUT,構成實際的 6 輸入式 LUT;如圖 9 所示。

圖 9. 雙重 5 輸入式 LUT

透過 HDL,亦可將 6 輸入式 LUT 設定為 2 組 5 輸入式 LUT,並共用其輸入。

除了 LX 晶片系列之外,Xilinx 更提供另外 3 種 Virtex-5 FPGA 系列。Xilinx 更改系列晶片的特定邏輯區塊總數,以符合不同的應用需要。舉例來說,相較於一般 FPGA,適用於 DPS 應用的 FPGA 則具有更多 DSP48E Slice。表 3 則列出不同的系列晶片與其優點。

 

系列名稱

優點

 

 

LX 平台

高效能邏輯

LXT 平台

高效能邏輯搭配低功率序列連結功能

SXT 平台

高效能邏輯、DSP、需要大量記憶體的應用,與低功率序列連結功能

FXT 平台

高效能邏輯、嵌入式處理、需要大量記憶體的應用,與高速序列連結功能

表 3. Virtex 5 FPGA 系列摘要

 

若要進一步了解,則可於相關連結中的 Xilinx 網站取得 Xilinx 與 Virtex-5 相關資訊。

 

相關連結

Xilinx 官方網站

NI R 系列智慧型 DAQ

Developer Zone 線上教學 -- FPGA 表面之下的結構

Developer Zone 線上教學 -- FPGA 技術介紹:5 大優點

Developer Zone 線上教學 -- 使用 NI LabVIEW 數位濾波器設計 (Digital Filter Design) 工具組設計濾波器

Developer Zone 範例程式 -- DSP MAC

Developer Zone IPNet – LabVIEW FPGA 函式與範例 IP

0 ratings | 0.00 out of 5
Read in | Print | PDF

Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).