天天看點

詳解FPGA典型結構圖

基于LUT的FPGA具有很高的內建度,其器件密度從數萬門到數千萬門不等,可以完成極其複雜的時序與邏輯組合的邏輯電路功能,是以其适用于高速、高密度的高端數字邏輯電路設計領域。其組成部分主要有可程式設計輸入/輸出單元、基本可程式設計邏輯單元、内嵌SRAM、豐富的布線資源、底層嵌入功能單元、内嵌專用單元等。FPGA的主要設計和生産廠家有賽靈思、Altera、Lattice、Actel、Atmel和QuickLogic等,其中最大的是美國賽靈思公司,在可程式設計市場中占有50%以上的份額,比其他所有競争對手市場佔有率的總和還多。

FPGA是由存放在片内RAM中的程式來設定其工作狀态的,是以,工作時需要對片内的RAM進行程式設計。使用者可以根據不同的配置模式,采用不同的程式設計方式。

目前,FPGA市場占有率最高的兩大公司——賽靈思公司和Altera生産的FPGA都是基于SRAM工藝的,需要在使用時外接一個片外存儲器以儲存程式。上電時,FPGA将外部存儲器中的資料讀入片内RAM,完成配置後,進入工作狀态;掉電後SRAM存儲的資料丢失,内部邏輯消失。這樣,FPGA能反複使用,且無須專門的FPGA程式設計器,隻需配備一片存儲代碼的FLASH存儲器即可。

Actel、QuickLogic等公司還提供反熔絲技術的FPGA,它具有抗輻射、耐高低溫、低功耗和速度快等優點,在軍品和航空航天領域中應用較多,但這種FPGA不能重複擦寫,開發初期比較麻煩,費用也比較昂貴。Lattice是ISP技術的發明者,在小規模PLD應用上有一定的特色。賽靈思公司的早期産品一般不涉及軍品和宇航級市場,但目前已經有多款産品進入該領域。

目前主流的FPGA仍是基于查找表技術的,已經遠遠超出了先前版本的基本性能,并且整合了常用功能(如RAM、時鐘管理和DSP)的硬核(ASIC型)子產品。

此處,我們以XC2V3000為例,介紹典型的FPGA結構圖。XC2V3000擁有300萬門的超大系統容量,采用0.15 μm/0.12 μm CMOS 8層金屬混合工藝設計,核心電壓為1.5 V,根據輸入/輸出參考電壓的不同設計可支援多種接口标準,内部時鐘頻率可達420 MHz。XC2V3000的内部結構如圖1-1所示,它主要由可配置邏輯(CLB)、使用者可程式設計I/O(IOB)、Block SelectRAM、數字時鐘管理子產品(DCM)、數字阻抗比對子產品(DCI)和硬體乘法器等組成。其中CLB用于實作FPGA的絕大部分邏輯功能;IOB用于提供封裝引腳與内部邏輯之間的接口;BlockRAM用于實作FPGA内部的随機存取,它可配置RAM、雙口RAM、FIFO等随機存儲器;DCM用于提供靈活的時鐘管理功能;硬體乘法器用于提高FPGA的數字信号處理能力。

詳解FPGA典型結構圖

圖1-1 Virtex系列産品XC2V3000的内部結構

1.可配置邏輯塊(CLB)

如圖1-2所示,XC2V3000的CLB子產品由4個相同的Slice和附加邏輯構成,用于實作組合邏輯和時序邏輯。

每個Slice由2個4輸入函數發生器、進位邏輯、算術邏輯、存儲邏輯和函數複用器組成。算術邏輯包括1個異或門(XORG)與1個專用與門(MULTAND),1個異或門可以使1個Slice實作2位全加操作,專用與門用于提高乘法器的效率。進位邏輯由專用進位信号和函數複用器(MUXC)組成,共同實作快速的算術加減法操作。具體結構詳見圖1-3和圖1-4。

詳解FPGA典型結構圖

圖1-2 Virtex系列産品

詳解FPGA典型結構圖

圖1-3 Virtex系列産品

詳解FPGA典型結構圖

圖1-4 Virtex系列産品Slice結構

2.可程式設計輸入/輸出單元(IOB)

可程式設計輸入/輸出單元簡稱IOB,提供FPGA内部邏輯與外部封裝引腳之間的接口,用于完成不同電氣特性下對輸入/輸出信号的驅動和比對。根據目前使用的I/O接口标準的不同,需要設定不同的接口電壓V cco 和參考電壓V REF 。XC2V3000的I/O引腳分布在8個Bank中,同一個Bank的接口電壓V cco 必須保持一緻,不同Bank的接口電壓V cco 允許不同。

如圖1-5所示,XC2V3000的IOB子產品含有6個存儲單元,可以單獨配置為邊沿D觸發器或鎖存器,也可以成對實作DDR(Double-Data-Rate)輸入和DDR輸出。

DDR寄存器的結構見圖1-6。

3.嵌入式塊RAM(BRAM)

XC2V3000的Block SelectRAM資源豐富,其機關容量為18Kb雙端口RAM,可以自由設定資料寬度和深度縱橫比,并支援三種并發讀/寫(Read-During-Write)模式。

詳解FPGA典型結構圖

圖1-5 Virtex系列産品

詳解FPGA典型結構圖

圖1-6 DDR寄存器結構

4.豐富的布線資源

布線資源連通FPGA内部所有的單元,IOB、CLB、BRAM、DCM等都使用相同的内連陣列。XC2V3000内部共有16條全局時鐘線,用于晶片内部全局時鐘和全局複位/置位的布線。24條縱橫交錯的長線資源實作了晶片Bank間的高速通信和第二全局時鐘信号的布線。

5.底層内嵌功能單元

XC2V3000內建了豐富的内嵌功能子產品,如DCM(數字時鐘管理器)、DCI(數字控制阻抗)、MicroBlaze軟處理器核等,使其具有軟、硬體聯合設計的能力,可以用有限的資源完成系統級的設計任務。

繼續閱讀