【導讀】可編程邏輯器件在數字系統的發(fā)展史中可以說(shuō)是最亮的一筆。PLD能夠完成任何數字器件的功能,用PLD來(lái)開(kāi)發(fā)數字電路能夠減少PCB面積,提高系統的可靠性,而且還大大減少了設計時(shí)間。由PLD延伸出的FPGA和CPLD都是可編程邏輯器件。
1 PLD發(fā)展過(guò)程
早期的可編程邏輯器件只有可編程只讀存貯器(PROM)、紫外線(xiàn)可擦除只讀存貯器(EPROM)和電可擦除只讀存貯器(E2PROM)三種。由于結構的限制,他們只能完成簡(jiǎn)單的數字邏輯功能。
稍后,出現了一類(lèi)結構上稍復雜的可編程芯片,即可編程邏輯器件(PLD),他能夠完成各種數字邏輯功能。這一階段(大約20世紀70年代中期)的產(chǎn)品主要有可編程陣列邏輯(ProgrammableArrayLogic,PAL),PAL由一個(gè)可編程的“與”平面和一個(gè)固定的“或”平面構成,或門(mén)的輸出可以通過(guò)觸發(fā)器有選擇地被置為寄存狀態(tài)。PAL器件是現場(chǎng)可編程的,他的實(shí)現工藝有反熔絲技術(shù)、EPROM技術(shù)和E2PROM技術(shù)。
20世紀80年代初期,在PAL的基礎上,又發(fā)展了一種通用陣列邏輯(GenericArrayLogic,GAL),他采用E2PROM工藝,實(shí)現了電可按除、電可改寫(xiě),其輸出結構是可編程的邏輯宏單元,因而他的設計具有很強的靈活性,至今仍有許多人使用。
20世紀80年代中期,為了彌補上述缺陷,又先后推出了可擦除、可編程的邏輯器件(ErasableProgrammableLogicDevice,EPLD)。CPLD和FPGA,EPLD的集成度更高,設計更靈活,但內部連線(xiàn)功能較弱。
2 結構比較
不同廠(chǎng)家對PLD的叫法不盡相同,但一般來(lái)說(shuō),把基于乘積項技術(shù),FLASH(類(lèi)似E2PROM工藝)工藝的PLD叫CPLD;把基于查找表技術(shù),SRAM工藝,要外掛配置E2PROM的PLD叫FPGA。下面從內部結構對2者進(jìn)行比較。

以altera的MAX7000為例,其他型號的結構與此都非常相似,這種PLD結構可分為3塊:宏單元(marocell),可編程連線(xiàn)陣列(ProgrammableInterconnectArray,PIA)和輸入輸出I/O控制塊。宏單元是CPLD的基本結構,由他來(lái)實(shí)現基本的邏輯功能。

2.2 基于查找表的FPGA結構
以Altera的FLEX/ACEX為例,這種PLD結構主要包括邏輯陣列塊(LogicArrayBlock,LAB),輸入輸出塊(InputOutputElement,I/OE),隨機存儲器塊(RandomAccessMemory,RAM未表示出)和可編程行/列連線(xiàn)。其中一個(gè)LAB包括8個(gè)邏輯單元(LogicElement,LE),每個(gè)LE包括一個(gè)LUT一個(gè)觸發(fā)器和相關(guān)的相關(guān)邏輯。LE是FLEX/ACEX芯片實(shí)現邏輯的最基本結構。如圖3所示。

3 功能比較
盡管CPLD和FPGA都是PLD器件,有很多共同特點(diǎn),但由于上節對CPLD和FPGA進(jìn)行結構上比較的不同,在使用過(guò)程中仍然具有很大的差異。

一般認為CPLD是“邏輯豐富”型的,更適合完成各種算法和組合邏輯,FPGA是“時(shí)序豐富”型的,更適合于完成時(shí)序邏輯。換句話(huà)說(shuō),CPLD更適合于觸發(fā)器有限而乘積項豐富的結構,而FPGA更適合于觸發(fā)器豐富的結構。
(2)運行速度
一般認為CPLD是“邏輯豐富”型的,更適合完成各種算法和組合邏輯,FPGA是“時(shí)序豐富”型的,更適合于完成時(shí)序邏輯。換句話(huà)說(shuō),CPLD更適合于觸發(fā)器有限而乘積項豐富的結構,而FPGA更適合于觸發(fā)器豐富的結構。
(3)編程方式
目前的CPLD主要是基于E2PROM或FLASH存儲器編程, 編程次數達1萬(wàn)次;FPGA大部分是基于SRAM編程其優(yōu)點(diǎn)是可進(jìn)行任意次數的編程,并可在工作中快速編程,實(shí)現板級和系統級的動(dòng)態(tài)配置,因此可稱(chēng)為可重配置硬件。
4 CPLD/FPGA發(fā)展趨勢
PLD在近20年的時(shí)間里已經(jīng)得到了巨大的發(fā)展,在未來(lái)的發(fā)展中,將呈現以下幾個(gè)方面的趨勢:
(1) 向大規模、高集成度方向進(jìn)一步發(fā)展
當前,PLD的規模已經(jīng)達到了百萬(wàn)門(mén)級,在工藝上,芯片的最小線(xiàn)寬達到了0.13um,并且還會(huì )向著(zhù)大規模、高集成度方向進(jìn)一步發(fā)展。
(2) 向低電壓、低功耗的方向發(fā)展
PLD的內核電壓在不斷的降低,經(jīng)歷5V→3.3V→.5V→1.8V的演變,未來(lái)將會(huì )更低。工作電壓的降低使得芯片的功耗也大大減少,這樣就適應了一些低功耗場(chǎng)合的應用,比如移動(dòng)通信設備、個(gè)人數字助理等。
(3) 向高速可預測延時(shí)方向發(fā)展
由于在一些高速處理的系統中,數據處理量的激增要求數字系統有大的數據吞吐速率,比如對圖像信號的處理,這樣就對PLD的速度指標提出了更高的要求;另外,為了保證高速系統的穩定性,延時(shí)也是十分重要的。用戶(hù)在進(jìn)行系統重構的同時(shí),擔心的是延時(shí)特性會(huì )不會(huì )因重新布線(xiàn)的改變而改變,如果改變,將會(huì )導致系統性能的不穩定性,這對龐大而高速的系統而言將是不可想象的,帶來(lái)的損失也是巨大的。因此,為了適應未來(lái)復雜高速電子系統的要求,PLD的高速可預測延時(shí)也是一個(gè)發(fā)展趨勢。
(4) 向數摸混合可編程方向發(fā)展
迄今為止,PLD的開(kāi)發(fā)與應用的大部分工作都集中在數字邏輯電路上,在未來(lái)幾年里,這一局面將會(huì )有所改變,模擬電路和數摸混合電路的可編程技術(shù)得到發(fā)展。目前的技術(shù)ISPPAC可實(shí)現3種功能:信號調整、信號處理和信號轉換。信號調整主要是對信號進(jìn)行放大、衰減和濾波;信號處理是對信號進(jìn)行求和、求差和積分運算;信號轉換則是指把數字信號轉換成模擬信號。EPAC芯片集中了各種模擬功能電路,如可編程增益放大器、可編程比較器、多路復用器、可編程A/D轉換器、濾波器和跟蹤保持放大器等。
(5) 向多功能、嵌入式模塊方向發(fā)展
現在,PLD內已經(jīng)廣泛嵌入RAM/ROM,FIFO等存儲器模塊,這些嵌入式模塊可以實(shí)現更快的無(wú)延時(shí)的運算與操作。特別是美國Altrea公司于2000年對可編程片上系統(SystemOnProgrammableChip,SOPC)的提出,使得以FPGA為物理載體、在單一的FPGA中實(shí)現包括嵌入式處理器系統、接口系統、硬件協(xié)處理器或加速器系統、DSP系統、數字通信系統、存儲電路以及普通數字系統更是成為目前電子技術(shù)中的研究熱點(diǎn)。
相關(guān)閱讀:
如何實(shí)現高效并行的實(shí)時(shí)上采樣?FPGA獻計
菜鳥(niǎo)升級必備:通透了解FPGA設計流程
工程師入門(mén)首選:FPGA學(xué)習中必須注意的要點(diǎn)