基于LUT的FPGA具有很高的集成度,其器件密度從數(shù)萬(wàn)門到數(shù)千萬(wàn)門不等,可以完成極其復(fù)雜的時(shí)序與邏輯組合的邏輯電路功能,因此其適用于高速、高密度的高端數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域。其組成部分主要有可編程輸入/輸出單元、基本可編程邏輯單元、內(nèi)嵌SRAM、豐富的布線資源、底層嵌入功能單元、內(nèi)嵌專用單元等。FPGA的主要設(shè)計(jì)和生產(chǎn)廠家有賽靈思、Altera、Lattice、Actel、Atmel和QuickLogic等,其中最大的是美國(guó)賽靈思公司,在可編程市場(chǎng)中占有50%以上的份額,比其他所有競(jìng)爭(zhēng)對(duì)手市場(chǎng)份額的總和還多。
FPGA是由存放在片內(nèi)RAM中的程序來(lái)設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。
目前,F(xiàn)PGA市場(chǎng)占有率最高的兩大公司——賽靈思公司和Altera生產(chǎn)的FPGA都是基于SRAM工藝的,需要在使用時(shí)外接一個(gè)片外存儲(chǔ)器以保存程序。上電時(shí),F(xiàn)PGA將外部存儲(chǔ)器中的數(shù)據(jù)讀入片內(nèi)RAM,完成配置后,進(jìn)入工作狀態(tài);掉電后SRAM存儲(chǔ)的數(shù)據(jù)丟失,內(nèi)部邏輯消失。這樣,F(xiàn)PGA能反復(fù)使用,且無(wú)須專門的FPGA編程器,只需配備一片存儲(chǔ)代碼的FLASH存儲(chǔ)器即可。
Actel、QuickLogic等公司還提供反熔絲技術(shù)的FPGA,它具有抗輻射、耐高低溫、低功耗和速度快等優(yōu)點(diǎn),在軍品和航空航天領(lǐng)域中應(yīng)用較多,但這種FPGA不能重復(fù)擦寫,開(kāi)發(fā)初期比較麻煩,費(fèi)用也比較昂貴。Lattice是ISP技術(shù)的發(fā)明者,在小規(guī)模PLD應(yīng)用上有一定的特色。賽靈思公司的早期產(chǎn)品一般不涉及軍品和宇航級(jí)市場(chǎng),但目前已經(jīng)有多款產(chǎn)品進(jìn)入該領(lǐng)域。
目前主流的FPGA仍是基于查找表技術(shù)的,已經(jīng)遠(yuǎn)遠(yuǎn)超出了先前版本的基本性能,并且整合了常用功能(如RAM、時(shí)鐘管理和DSP)的硬核(ASIC型)模塊。
此處,我們以XC2V3000為例,介紹典型的FPGA結(jié)構(gòu)圖。XC2V3000擁有300萬(wàn)門的超大系統(tǒng)容量,采用0.15μm/0.12μmCMOS8層金屬混合工藝設(shè)計(jì),內(nèi)核電壓為1.5V,根據(jù)輸入/輸出參考電壓的不同設(shè)計(jì)可支持多種接口標(biāo)準(zhǔn),內(nèi)部時(shí)鐘頻率可達(dá)420MHz。XC2V3000的內(nèi)部結(jié)構(gòu)如圖1-1所示,它主要由可配置邏輯(CLB)、用戶可編程I/O(IOB)、BlockSelectRAM、數(shù)字時(shí)鐘管理模塊(DCM)、數(shù)字阻抗匹配模塊(DCI)和硬件乘法器等組成。其中CLB用于實(shí)現(xiàn)FPGA的絕大部分邏輯功能;IOB用于提供封裝引腳與內(nèi)部邏輯之間的接口;BlockRAM用于實(shí)現(xiàn)FPGA內(nèi)部的隨機(jī)存取,它可配置RAM、雙口RAM、FIFO等隨機(jī)存儲(chǔ)器;DCM用于提供靈活的時(shí)鐘管理功能;硬件乘法器用于提高FPGA的數(shù)字信號(hào)處理能力。
1、可配置邏輯塊(CLB)
如圖1-2所示,XC2V3000的CLB模塊由4個(gè)相同的Slice和附加邏輯構(gòu)成,用于實(shí)現(xiàn)組合邏輯和時(shí)序邏輯。
每個(gè)Slice由2個(gè)4輸入函數(shù)發(fā)生器、進(jìn)位邏輯、算術(shù)邏輯、存儲(chǔ)邏輯和函數(shù)復(fù)用器組成。算術(shù)邏輯包括1個(gè)異或門(XORG)與1個(gè)專用與門(MULTAND),1個(gè)異或門可以使1個(gè)Slice實(shí)現(xiàn)2位全加操作,專用與門用于提高乘法器的效率。進(jìn)位邏輯由專用進(jìn)位信號(hào)和函數(shù)復(fù)用器(MUXC)組成,共同實(shí)現(xiàn)快速的算術(shù)加減法操作。具體結(jié)構(gòu)詳見(jiàn)圖1-3和圖1-4。
2、可編程輸入/輸出單元(IOB)
可編程輸入/輸出單元簡(jiǎn)稱IOB,提供FPGA內(nèi)部邏輯與外部封裝引腳之間的接口,用于完成不同電氣特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)和匹配。根據(jù)當(dāng)前使用的I/O接口標(biāo)準(zhǔn)的不同,需要設(shè)置不同的接口電壓Vcco和參考電壓VREF。XC2V3000的I/O引腳分布在8個(gè)Bank中,同一個(gè)Bank的接口電壓Vcco必須保持一致,不同Bank的接口電壓Vcco允許不同。
如圖1-5所示,XC2V3000的IOB模塊含有6個(gè)存儲(chǔ)單元,可以單獨(dú)配置為邊沿D觸發(fā)器或鎖存器,也可以成對(duì)實(shí)現(xiàn)DDR(Double-Data-Rate)輸入和DDR輸出。
DDR寄存器的結(jié)構(gòu)見(jiàn)圖1-6。
3、嵌入式塊RAM(BRAM)
XC2V3000的BlockSelectRAM資源豐富,其單位容量為18Kb雙端口RAM,可以自由設(shè)定數(shù)據(jù)寬度和深度縱橫比,并支持三種并發(fā)讀/寫(Read-During-Write)模式。
4、豐富的布線資源
布線資源連通FPGA內(nèi)部所有的單元,IOB、CLB、BRAM、DCM等都使用相同的內(nèi)連陣列。XC2V3000內(nèi)部共有16條全局時(shí)鐘線,用于芯片內(nèi)部全局時(shí)鐘和全局復(fù)位/置位的布線。24條縱橫交錯(cuò)的長(zhǎng)線資源實(shí)現(xiàn)了芯片Bank間的高速通信和第二全局時(shí)鐘信號(hào)的布線。
5、底層內(nèi)嵌功能單元
XC2V3000集成了豐富的內(nèi)嵌功能模塊,如DCM(數(shù)字時(shí)鐘管理器)、DCI(數(shù)字控制阻抗)、MicroBlaze軟處理器核等,使其具有軟、硬件聯(lián)合設(shè)計(jì)的能力,可以用有限的資源完成系統(tǒng)級(jí)的設(shè)計(jì)任務(wù)。
-
FPGA
+關(guān)注
關(guān)注
1626文章
21671瀏覽量
601895 -
可編程
+關(guān)注
關(guān)注
2文章
845瀏覽量
39784
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論