前言
PLD是可編程邏輯器件(Programable Logic Device)的簡(jiǎn)稱,F(xiàn)PGA是現(xiàn)場(chǎng)可編程門陣列(Field Programable Gate Array)的簡(jiǎn)稱,兩者的功能基本相同,只是實(shí)現(xiàn)原理略有不同,所以我們有時(shí)可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程邏輯器件或PLD/FPGA。
PLD是電子設(shè)計(jì)領(lǐng)域中活力和發(fā)展前途的一項(xiàng)技術(shù),它的影響絲毫不亞于70年代單片機(jī)的發(fā)明和使用。
PLD能做什么呢?可以毫不夸張的講,PLD能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡(jiǎn)單的74電路,都可以用PLD來(lái)實(shí)現(xiàn)。PLD如同一張白紙或是一堆積木,工程師可以通過(guò)傳統(tǒng)的原理圖輸入法,或是硬件描述語(yǔ)言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。通過(guò)軟件仿真,我們可以事先驗(yàn)證設(shè)計(jì)的正確性。在PCB完成以后,還可以利用PLD的在線修改能力,隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路。使用PLD來(lái)開(kāi)發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高系統(tǒng)的可靠性。 PLD的這些優(yōu)點(diǎn)使得PLD技術(shù)在90年代以后得到飛速的發(fā)展,同時(shí)也大大推動(dòng)了EDA軟件和硬件描述語(yǔ)言(HDL)的進(jìn)步。
如何使用PLD呢?其實(shí)PLD的使用很簡(jiǎn)單,學(xué)習(xí)PLD比學(xué)習(xí)單片機(jī)要簡(jiǎn)單的多,有數(shù)字電路基礎(chǔ),會(huì)使用計(jì)算機(jī),就可以進(jìn)行PLD的開(kāi)發(fā)。不熟悉PLD的朋友,可以先看一看可編程邏輯器件的發(fā)展歷程。
一、可編程邏輯器件的發(fā)展歷程
當(dāng)今社會(huì)是數(shù)字化的社會(huì),是數(shù)字集成電路廣泛應(yīng)用的社會(huì)。數(shù)字集成電路本身在不斷地進(jìn)行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集成電路、發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬(wàn)門以上)以及許多具有特定功能的集成電路。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)已不*由半導(dǎo)體廠商來(lái)獨(dú)立承擔(dān)。系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場(chǎng)可編程邏輯器件(FPLD),其中應(yīng)用zui廣泛的當(dāng)屬現(xiàn)場(chǎng)可編程門陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)。
早期的可編程邏輯器件只有可編程只讀存貯器(PROM)、紫外線可按除只讀存貯器(EPROM)和電可擦除只讀存貯器(EEPROM)三種。由于結(jié)構(gòu)的限制,它們只能完成簡(jiǎn)單的數(shù)字邏輯功能。
其后,出現(xiàn)了一類結(jié)構(gòu)上稍復(fù)雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個(gè)“與”門和一個(gè)“或”門陣列組成,而任意一個(gè)組合邏輯都可以用“與一或”表達(dá)式來(lái)描述,所以, PLD能以乘積和的形式完成大量的組合邏輯功能。
這一階段的產(chǎn)品主要有PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)。 PAL由一個(gè)可編程的“與”平面和一個(gè)固定的“或”平面構(gòu)成,或門的輸.出可以通過(guò)觸發(fā)器有選擇地被置為寄存狀態(tài)。 PAL器件是現(xiàn)場(chǎng)可編程的,它的實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和EEPROM技術(shù)。還有一類結(jié)構(gòu)更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個(gè)“與”平面和一個(gè)“或”平面構(gòu)成,但是這兩個(gè)平面的連接關(guān)系是可編程的。 PLA器件既有現(xiàn)場(chǎng)可編程的,也有掩膜可編程的。 在PAL的基礎(chǔ)上,又發(fā)展了一種通用陣列邏輯GAL (Generic Array Logic),如GAL16V8,GAL22V10 等。它采用了EEPROM工藝,實(shí)現(xiàn)了電可按除、電可改寫,其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計(jì)具有很強(qiáng)的靈活性,至今仍有許多人使用。這些早期的PLD器件的一個(gè)共同特點(diǎn)是可以實(shí)現(xiàn)速度特性較好的邏輯功能,但其過(guò)于簡(jiǎn)單的結(jié)構(gòu)也使它們只能實(shí)現(xiàn)規(guī)模較小的電路。
典型的PLD的部分結(jié)構(gòu)(實(shí)現(xiàn)組合邏輯的部分)
為了彌補(bǔ)這一缺陷,20世紀(jì)80年代中期。 Altera和Xilinx分別推出了類似于PAL結(jié)構(gòu)的擴(kuò)展型 CPLD(Complex Programmab1e Logic Dvice)和與標(biāo)準(zhǔn)門陣列類似的FPGA(Field Programmable Gate Array),它們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn)。這兩種器件兼容了PLD和通用門陣列的優(yōu)點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路,編程也很靈活。與門陣列等其它ASIC(Application Specific IC)相比,它們又具有設(shè)計(jì)開(kāi)發(fā)周期短、設(shè)計(jì)制造成本低、開(kāi)發(fā)工具*、標(biāo)準(zhǔn)產(chǎn)品無(wú)需測(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)用門陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可應(yīng)用FPGA和CPLD器件。
(注:不同廠家的叫法不盡相同,Xilinx把,基于查找表技術(shù),SRAM工藝,要外掛配置用的EEPROM的PLD叫FPGA;把基于乘積項(xiàng)技術(shù),F(xiàn)lash(類似EEPROM工藝)工藝的PLD叫CPLD; Altera 把自己的PLD產(chǎn)品:MAX系列(乘積項(xiàng)技術(shù),EEPROM工藝),FLEX系列(查找表技術(shù),SRAM工藝)都叫作CPLD,即復(fù)雜PLD(Complex PLD),由于FLEX系列也是SRAM工藝,基于查找表技術(shù),要外掛配置用的EPROM,用法和Xilinx的FPGA一樣,所以很多人把Altera的FELX系列產(chǎn)品也叫做FPGA.)
(右圖:8寸硅晶片,每一個(gè)小方格經(jīng)過(guò)切割,封裝后就是一片芯片)
FPGA(現(xiàn)場(chǎng)可編程門陣列)與 CPLD(復(fù)雜可編程邏輯器件)都是可編程邏輯器件,它們是在PAL,GAL等邏輯器件的基礎(chǔ)之上發(fā)展起來(lái)的。同以往的PAL,GAL等相比較,F(xiàn)PGA/CPLD的規(guī)模比較大,它可以替代幾十甚至幾千塊通用IC芯片。這樣的FPGA/CPLD實(shí)際上就是一個(gè)子系統(tǒng)部件。這種芯片受到世界范圍內(nèi)電子工程設(shè)計(jì)人員的廣泛關(guān)注和普遍歡迎。經(jīng)過(guò)了十幾年的發(fā)展,許多公司都開(kāi)發(fā)出了多種可編程邏輯器件。比較典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它們開(kāi)發(fā)較早,占用了較大的PLD市場(chǎng)。通常來(lái)說(shuō),在歐洲用Xilinx的人多,在日本和亞太地區(qū)用ALTERA的人多,在美國(guó)則是平分秋色。PLD/FPGA產(chǎn)品60%以上是由Altera和Xilinx提供的??梢灾vAltera和Xilinx共同決定了PLD技術(shù)的發(fā)展方向。當(dāng)然還有許多其它類型器件,如:Lattice,Vantis,Ac,Quicklogic,Lucent等。 (99年Lattice收購(gòu)了Vantis,成為第三大PLD供應(yīng)商;同年Xilinx收購(gòu)了Philips的PLD部門)詳細(xì)內(nèi)容請(qǐng)瀏覽:PLD廠商 欄目
1998年世界PLD公司
排名 | 公司 | 銷售額(億美金) | * |
1 | Altera | 5.96 | 30.1 |
2 | Xilinx | 5.74 | 29.0 |
3 | Vantis | 2.20 | 11.1 |
4 | Lattice | 2.18 | 11.0 |
5 | Ac | 1.39 | 7.0 |
6 | Luccent | 0.85 | 4.3 |
7 | Cypress | 0.44 | 2.2 |
8 | Atmel | 0.42 | 2.1 |
9 | Philips | 0.28 | 1.4 |
10 | Quicklogic | 0.24 | 1.2 |
資料來(lái)源:99年4月《電子產(chǎn)品世界》
盡管FPGA,CPLD和其它類型PLD的結(jié)構(gòu)各有其特點(diǎn)和長(zhǎng)處,但概括起來(lái),它們是由三大部分組成的,
·一個(gè)二維的邏輯塊陣列,構(gòu)成了PLD器件的邏輯組成核心?!ぽ斎耄敵鰤K:·連接邏輯塊的互連資源。連線資源:由各種長(zhǎng)度的連線線段組成,其中也有一些可編程的連接開(kāi)關(guān),它們用于邏輯塊之間、邏輯塊與輸入/輸出塊之間的連接。
典型的PLD的框圖
對(duì)用戶而言,CPLD與FPGA的內(nèi)部結(jié)構(gòu)稍有不同,但用法一樣,所以多數(shù)情況下,不加以區(qū)分。
FPGA/CPLD芯片都是特殊的ASIC芯片,它們除了具有ASIC的特點(diǎn)之外,還具有以下幾個(gè)優(yōu)點(diǎn):
·隨著VlSI(Very Large Scale IC,超大規(guī)模集成電路)工藝的不斷提高單一芯片內(nèi)部可以容納上百萬(wàn)個(gè)晶體管, FPGA/CPLD芯片的規(guī)模也越來(lái)越大,其單片邏輯門數(shù)已達(dá)到上百萬(wà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)完成芯片的zui終功能設(shè)計(jì)。所以, FPGA/CPLD的資金投入小,節(jié)省了許多潛在的花費(fèi)。
·用戶可以反復(fù)地編程、擦除、使用或者在外圍電路不動(dòng)的情況下用不同軟件就可實(shí)現(xiàn)不同的功能。所以,用FPGA/PLD 試制樣片,能以zui快的速度占領(lǐng)市場(chǎng)。 FPGA/CPLD軟件包中有各種輸入工具和仿真工具,及版圖設(shè)計(jì)工具和編程器等全線產(chǎn)品,電路設(shè)計(jì)人員在很短的時(shí)間內(nèi)就可完成電路的輸入、編譯、優(yōu)化、仿真,直至zui后芯片的制作。當(dāng)電路有少量改動(dòng)時(shí),更能顯示出FPGA/CPLD的優(yōu)勢(shì)。電路設(shè)計(jì)人員使用FPGA/CPLD進(jìn)行電路設(shè)計(jì)時(shí),不需要具備專門的IC(集成電路)深層次的知識(shí), FPGA/CPLD軟件易學(xué)易用,可以使設(shè)計(jì)人員更能集中精力進(jìn)行電路設(shè)計(jì),快速將產(chǎn)品推向市場(chǎng)
二、PLD開(kāi)發(fā)軟件
由于PLD軟件已經(jīng)發(fā)展的相當(dāng)完善,用戶甚至可以不用詳細(xì)了解PLD的內(nèi)部結(jié)構(gòu),也可以用自己熟悉的方法:如原理圖輸入或HDL語(yǔ)言來(lái)完成相當(dāng)?shù)腜LD設(shè)計(jì)。所以對(duì)初學(xué)者,首先應(yīng)了解PLD開(kāi)發(fā)軟件和開(kāi)發(fā)流程。了解PLD的內(nèi)部結(jié)構(gòu),將有助于提高我們?cè)O(shè)計(jì)的效率和可靠性。
如何獲得PLD開(kāi)發(fā)軟件軟件呢? 許多PLD公司都提供免費(fèi)試用版或演示版(當(dāng)然商業(yè)版大都是收費(fèi)的),例如:可以免費(fèi)從 上下載Altera公司的 QuartusII (web版),或向其代理商索取這套軟件。Xilinx 公司也提供免費(fèi)軟件:ISE WebPack,這套可以從xilinx下載。Lattice 提供isplever Base版下載,Ac等公司也都有類似的免費(fèi)軟件提供。以上免費(fèi)軟件都需要在網(wǎng)上注冊(cè)申請(qǐng)License文件,如果您對(duì)License的安裝還有不清楚,請(qǐng)仔細(xì)閱讀相關(guān)網(wǎng)頁(yè)上的說(shuō)明,也可以下載這篇文檔:EDA軟件的license管理與安裝。 通常這些免費(fèi)軟件已經(jīng)能夠滿足一般設(shè)計(jì)的需要,當(dāng)然,要想軟件功能更強(qiáng)大一些,只能購(gòu)買商業(yè)版軟件。
如果您打算使用VHDL或Verilog HDL硬件描述語(yǔ)言來(lái)開(kāi)發(fā)PLD/FPGA,通常還需要使用一些專業(yè)的HDL開(kāi)發(fā)軟件,這是因?yàn)镕PGA廠商提供的軟件的HDL綜合能力一般都不是很強(qiáng),需要其他軟件來(lái)配合使用,詳細(xì)情況可以通過(guò)瀏覽:開(kāi)發(fā)軟件欄目獲得等多信息.
對(duì)于PLD產(chǎn)品,一般分為:基于乘積項(xiàng)(Product-Term)技術(shù),EEPROM(或Flash)工藝的中小規(guī)模PLD,以及基于查找表(Look-Up table)技術(shù),SRAM工藝的大規(guī)模PLD/FPGA。EEPROM工藝的PLD密度小,多用于5,000門以下的小規(guī)模設(shè)計(jì),適合做復(fù)雜的組合邏輯,如譯碼。SRAM工藝的PLD(FPGA),密度高,觸發(fā)器多,多用于10,000門以上的大規(guī)模設(shè)計(jì),適合做復(fù)雜的時(shí)序邏輯,如數(shù)字信號(hào)處理和各種算法。如希望進(jìn)一步了解PLD/FPGA結(jié)構(gòu)與原理,請(qǐng)點(diǎn)擊此處。
目前有多家公司生產(chǎn)CPLD/FPGA,zui大的三家是:ALTERA,XILINX,Lattice, 您可以參閱PLD廠商欄目獲得更多信息
三、PLD/FPGA的分類和使用
在PLD/FPGA開(kāi)發(fā)軟件中完成設(shè)計(jì)以后,軟件會(huì)產(chǎn)生一個(gè)zui終的編程文件(如 .pof )。如何將編程文件燒到PLD芯片中去呢?
1.對(duì)于基于乘積項(xiàng)(Product-Term)技術(shù),EEPROM(或Flash)工藝的PLD(如Altera的MAX系列,Lattice的大部分產(chǎn)品,Xilinx的XC9500,Coolrunner系列), 廠家提供編程電纜,電纜一端裝在計(jì)算機(jī)的并行打印口上,另一端接在PCB板上的一個(gè)十芯插頭,PLD芯片有四個(gè)管腳(編程腳)與插頭相連。(如圖)
| 下載 ALTERA 編程電纜(Byteblaster MV)的數(shù)據(jù)手冊(cè) 下載 Xilinx編程電纜的電路原理圖 下載 Lattice的電纜資料 |
它向系統(tǒng)板上的器件提供配置或編程數(shù)據(jù),這就是所謂的在線可編程(ISP,如下圖)。Byteblaster使用戶能夠獨(dú)立地配置PLD器件,而不需要編程器或任何其它編程硬件。編程電纜可以向代理商購(gòu)買,也可以根據(jù)廠家提供的編程電纜的原理圖自己制作,成本僅需一,二十元。早期的PLD是不支持ISP的,它們需要用編程器燒寫。目前的PLD都可以用ISP在線編程,也可用編程器編程。這種PLD可以加密,并且很難解密,所以常常用于單板加密。
|
1.將PLD焊在PCB板上 2.接好編程電纜 3.現(xiàn)場(chǎng)燒寫PLD芯片 |
2.對(duì)于基于查找表(LUT,Look-Up table)技術(shù),SRAM工藝的FPGA(如Altera的所有FPGA,如ACEX,Cyclone,Stratix系列,Xilinx的所有FPGA,如Spartan,Virtex系列,Lattice的EC/ECP系列等),由于SRAM工藝的特點(diǎn),掉電后數(shù)據(jù)會(huì)消失,因此調(diào)試期間可以用下載電纜配置PLD器件,調(diào)試完成后,需要將數(shù)據(jù)固化在一個(gè)的EEPROM中(用通用編程器燒寫,也有一些可以用電纜直接改寫),上電時(shí),由這片配置EEPROM先對(duì)FPGA加載數(shù)據(jù),十幾個(gè)毫秒到幾百個(gè)毫秒后,F(xiàn)PGA即可正常工作。(亦可由CPU配置FPGA)。但SRAM工藝的PLD一般不可以直接加密。
3.還有一種反熔絲(Anti-fuse)技術(shù)的FPGA,如Ac,Quicklogic的部分產(chǎn)品就采用這種工藝。但這種的PLD是不能重復(fù)擦寫,需要使用編程器,所以開(kāi)發(fā)過(guò)程比較麻煩,費(fèi)用也比較昂高。但反熔絲技術(shù)也有許多優(yōu)點(diǎn):布線能力更強(qiáng),系統(tǒng)速度更快,功耗更低,同時(shí)抗輻射能力強(qiáng),耐高低溫,可以加密,所以在一些有特殊要求的領(lǐng)域中運(yùn)用較多,如軍事及航空航天。為了解決反熔絲FPGA不可重復(fù)擦寫的問(wèn)題,Ac等公司在90年代中后期開(kāi)發(fā)了基于Flash技術(shù)的FPGA,如ProASIC系列,這種FPGA不需要配置,數(shù)據(jù)直接保存在FPGA芯片中,用戶可以改寫(但需要10幾伏的高電壓)。
隨著技術(shù)的發(fā)展,在2004年以后,一些廠家推出了一些新的PLD和FPGA,這些產(chǎn)品模糊了PLD和FPGA的區(qū)別。例如Altera的MAXII系列PLD,這是一種基于FPGA(LUT)結(jié)構(gòu),集成配置芯片的PLD,在本質(zhì)上它就是一種在內(nèi)部集成了配置芯片的FPGA,但由于配置時(shí)間極短,上電就可以工作,所以對(duì)用戶來(lái)說(shuō),感覺(jué)不到配置過(guò)程,可以傳統(tǒng)的PLD一樣使用,加上容量和傳統(tǒng)PLD類似,所以altera把它歸作PLD。 還有像Lattice的XP系列FPGA,也是使用了同樣的原理,將外部配置芯片集成到內(nèi)部,在使用方法上和PLD類似,但是因?yàn)槿萘看螅阅芎蛡鹘y(tǒng)FPGA相同,也是LUT架構(gòu),所以Lattice仍把它歸為FPGA。
2025第十一屆中國(guó)國(guó)際機(jī)電產(chǎn)品交易會(huì) 暨先進(jìn)制造業(yè)博覽會(huì)
展會(huì)城市:合肥市展會(huì)時(shí)間:2025-09-20