1. 發(fā)展歷史
早期的可編程邏輯器件只有可編程只讀存儲(chǔ)器(PROM)、紫外線可擦除只讀存儲(chǔ)器(EPROM)和電可擦除只讀存儲(chǔ)器(E2PROM)三種。由于結(jié)構(gòu)的限制,它們只能完成簡(jiǎn)單的數(shù)字邏輯功能。
其后出現(xiàn)了一類(lèi)結(jié)構(gòu)上稍復(fù)雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個(gè)“與”門(mén)和一個(gè)“或”門(mén)陣列組成,而任意一個(gè)組合邏輯都可以用“與—或”表達(dá)式來(lái)描述,所以PLD能以乘積和的形式完成大量的組合邏輯功能。
這一階段的產(chǎn)品主要有PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)。 PAL由一個(gè)可編程的“與”平面和一個(gè)固定的“或”平面構(gòu)成,或門(mén)的輸出可以通過(guò)觸發(fā)器有選擇地被置為寄存狀態(tài)。PAL器件是現(xiàn)場(chǎng)可編程的,它的實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和E2PROM技術(shù)。還有一類(lèi)結(jié)構(gòu)更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個(gè)“與”平面和一個(gè)“或”平面構(gòu)成,但是這兩個(gè)平面的連接關(guān)系是可編程的。PLA器件既有現(xiàn)場(chǎng)可編程的,也有掩膜可編程的。在PAL的基礎(chǔ)上又發(fā)展了一種通用陣列邏輯(GAL,Generic ArrayLogic),如GAL16V8、GAL22V10等。它采用了E'PROM工藝,實(shí)現(xiàn)了電可擦除、電可改寫(xiě),其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計(jì)具有很強(qiáng)的靈活性,至今仍有許多人使用。這些早期的PLD器件的一個(gè)共同特點(diǎn)是可以實(shí)現(xiàn)速度特性較好的邏輯功能,但其過(guò)于簡(jiǎn)單的結(jié)構(gòu)也使它們只能實(shí)現(xiàn)規(guī)模較小的電路。
為了彌補(bǔ)這一缺陷,20世紀(jì)80年代中期,Altera和Xilinx分別推出了類(lèi)似于PAL結(jié)構(gòu)的擴(kuò)展型CPLD(Complex Programmable Logic Dvice)和與標(biāo)準(zhǔn)門(mén)陣列類(lèi)似的FPGA(FieldProgrammable Gate Array),它們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn)。這兩種器件兼容了PLD和通用門(mén)陣列的優(yōu)點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路,編程也很靈活。與門(mén)陣列等其他ASIC(Application Specific IC)相比,它們又具有設(shè)計(jì)開(kāi)發(fā)周期短、設(shè)計(jì)制造成本低、開(kāi)發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品不需測(cè)試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢驗(yàn)等優(yōu)點(diǎn),因此被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計(jì)和產(chǎn)品生產(chǎn)(一般在10 000件以下)之中。幾乎所有應(yīng)用門(mén)陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可應(yīng)用FPGA和CPLD器件。
FPGA是英文Field Programmable Gate Arry的縮寫(xiě),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。
2. FPGA的基本特點(diǎn)
FPGA采用了邏輯單元陣列(LOA,Logic Cell Arry)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊(CLB,Configurable Logic Block)、輸入輸出模塊(IOB,Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。FPGA的基本特點(diǎn)主要有:
(1)采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn)就能得到合用的芯片;
(2)FPGA可做其他全定制或半定制ASIC電路的試樣片:
(3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳;
(4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開(kāi)發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一;
(5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說(shuō),F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度和可靠性的最佳選擇之一。
目前FPGA的品種很多,有XILINX的xc系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
FPGA是由存放在片內(nèi)RAM中的程序來(lái)設(shè)置其工作狀態(tài)的。因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式采用不同的編程方式。
加電時(shí),F(xiàn)PGA芯片將EPROM中的數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失。因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程不需專(zhuān)用的FPGA編程器,只需用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA、不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。
FPGA有下面4種配置模式:
(1)并行主模式為一片F(xiàn)PGA加一片EPROM的方式;
(2)主從模式可以支持一片PROM編程多片F(xiàn)PGA:
(3)串行模式可以采用串行PROM編程FPGA;
(4)外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對(duì)其編程。
3. FPGA的優(yōu)點(diǎn)
FPGA芯片都是特殊的ASIC芯片,除了具有ASIC的特點(diǎn)之外,還具有以下3個(gè)優(yōu)點(diǎn)。
①隨著超大規(guī)模集成電路(VLSI,Very Large Scale IC)工藝的不斷提高,單一芯片內(nèi)部可以容納上百萬(wàn)個(gè)晶體管,F(xiàn)PGA/CPLD芯片的規(guī)模也越來(lái)越大,其單片邏輯門(mén)數(shù)已達(dá)到上百萬(wàn)門(mén),它所能實(shí)現(xiàn)的功能也越來(lái)越強(qiáng),同時(shí)也可以實(shí)現(xiàn)系統(tǒng)集成。
②FPGA/CPLD芯片在出廠之前都做過(guò)百分之百的測(cè)試,不需要設(shè)計(jì)人員承擔(dān)投片風(fēng)險(xiǎn)和費(fèi)用,設(shè)計(jì)人員只需在自己的實(shí)驗(yàn)室里就可以通過(guò)相關(guān)的軟硬件環(huán)境來(lái)完成芯片的最終功能設(shè)計(jì)。所以,F(xiàn)PGA/CPLD的資金投入小,節(jié)省了許多潛在的花費(fèi)。
③用戶可以反復(fù)地編程、擦除、使用或者在外圍電路不動(dòng)的情況下用不同的軟件實(shí)現(xiàn)不同的功能。所以,用FPGAiCPLD試制樣片,能以最快的速度占領(lǐng)市場(chǎng)。FPGA/CPLD軟件包中有各種輸入工具和仿真工具及版圖設(shè)計(jì)工具和編程器等全線產(chǎn)品,電路設(shè)計(jì)人員在很短的時(shí)間內(nèi)就可完成電路的輸入、編譯、優(yōu)化、仿真,直至最后芯片的制作。當(dāng)電路有少量改動(dòng)時(shí),更能顯示出FPGA/CPLD的優(yōu)勢(shì)。電路設(shè)計(jì)人員使用FPGA/CPLD進(jìn)行電路設(shè)計(jì)時(shí),不需要具備專(zhuān)門(mén)的IC(集成電路)深層次的知識(shí),F(xiàn)PGA/CPLD軟件易學(xué)易用,可以使設(shè)計(jì)人員更能集中精力進(jìn)行電路設(shè)計(jì),快速將產(chǎn)品推向市場(chǎng)。