【導讀】可編程邏輯器件在數(shù)字系統(tǒng)的發(fā)展史中可以說是最亮的一筆。PLD能夠完成任何數(shù)字器件的功能,用PLD來開發(fā)數(shù)字電路能夠減少PCB面積,提高系統(tǒng)的可靠性,而且還大大減少了設計時間。由PLD延伸出的FPGA和CPLD都是可編程邏輯器件。
1 PLD發(fā)展過程
早期的可編程邏輯器件只有可編程只讀存貯器(PROM)、紫外線可擦除只讀存貯器(EPROM)和電可擦除只讀存貯器(E2PROM)三種。由于結構的限制,他們只能完成簡單的數(shù)字邏輯功能。
稍后,出現(xiàn)了一類結構上稍復雜的可編程芯片,即可編程邏輯器件(PLD),他能夠完成各種數(shù)字邏輯功能。這一階段(大約20世紀70年代中期)的產品主要有可編程陣列邏輯(ProgrammableArrayLogic,PAL),PAL由一個可編程的“與”平面和一個固定的“或”平面構成,或門的輸出可以通過觸發(fā)器有選擇地被置為寄存狀態(tài)。PAL器件是現(xiàn)場可編程的,他的實現(xiàn)工藝有反熔絲技術、EPROM技術和E2PROM技術。
20世紀80年代初期,在PAL的基礎上,又發(fā)展了一種通用陣列邏輯(GenericArrayLogic,GAL),他采用E2PROM工藝,實現(xiàn)了電可按除、電可改寫,其輸出結構是可編程的邏輯宏單元,因而他的設計具有很強的靈活性,至今仍有許多人使用。
20世紀80年代中期,為了彌補上述缺陷,又先后推出了可擦除、可編程的邏輯器件(ErasableProgrammableLogicDevice,EPLD)。CPLD和FPGA,EPLD的集成度更高,設計更靈活,但內部連線功能較弱。
2 結構比較
不同廠家對PLD的叫法不盡相同,但一般來說,把基于乘積項技術,F(xiàn)LASH(類似E2PROM工藝)工藝的PLD叫CPLD;把基于查找表技術,SRAM工藝,要外掛配置E2PROM的PLD叫FPGA。下面從內部結構對2者進行比較。
2.1 基于乘積項的CPLD結構
以altera的MAX7000為例,其他型號的結構與此都非常相似,這種PLD結構可分為3塊:宏單元(marocell),可編程連線陣列(ProgrammableInterconnectArray,PIA)和輸入輸出I/O控制塊。宏單元是CPLD的基本結構,由他來實現(xiàn)基本的邏輯功能。
2.2 基于查找表的FPGA結構
以Altera的FLEX/ACEX為例,這種PLD結構主要包括邏輯陣列塊(LogicArrayBlock,LAB),輸入輸出塊(InputOutputElement,I/OE),隨機存儲器塊(RandomAccessMemory,RAM未表示出)和可編程行/列連線。其中一個LAB包括8個邏輯單元(LogicElement,LE),每個LE包括一個LUT一個觸發(fā)器和相關的相關邏輯。LE是FLEX/ACEX芯片實現(xiàn)邏輯的最基本結構。如圖3所示。
3 功能比較
盡管CPLD和FPGA都是PLD器件,有很多共同特點,但由于上節(jié)對CPLD和FPGA進行結構上比較的不同,在使用過程中仍然具有很大的差異。
一般認為CPLD是“邏輯豐富”型的,更適合完成各種算法和組合邏輯,F(xiàn)PGA是“時序豐富”型的,更適合于完成時序邏輯。換句話說,CPLD更適合于觸發(fā)器有限而乘積項豐富的結構,而FPGA更適合于觸發(fā)器豐富的結構。
(2)運行速度
一般認為CPLD是“邏輯豐富”型的,更適合完成各種算法和組合邏輯,F(xiàn)PGA是“時序豐富”型的,更適合于完成時序邏輯。換句話說,CPLD更適合于觸發(fā)器有限而乘積項豐富的結構,而FPGA更適合于觸發(fā)器豐富的結構。
(3)編程方式
目前的CPLD主要是基于E2PROM或FLASH存儲器編程, 編程次數(shù)達1萬次;FPGA大部分是基于SRAM編程其優(yōu)點是可進行任意次數(shù)的編程,并可在工作中快速編程,實現(xiàn)板級和系統(tǒng)級的動態(tài)配置,因此可稱為可重配置硬件。
4 CPLD/FPGA發(fā)展趨勢
PLD在近20年的時間里已經得到了巨大的發(fā)展,在未來的發(fā)展中,將呈現(xiàn)以下幾個方面的趨勢:
(1) 向大規(guī)模、高集成度方向進一步發(fā)展
當前,PLD的規(guī)模已經達到了百萬門級,在工藝上,芯片的最小線寬達到了0.13um,并且還會向著大規(guī)模、高集成度方向進一步發(fā)展。
(2) 向低電壓、低功耗的方向發(fā)展
PLD的內核電壓在不斷的降低,經歷5V→3.3V→.5V→1.8V的演變,未來將會更低。工作電壓的降低使得芯片的功耗也大大減少,這樣就適應了一些低功耗場合的應用,比如移動通信設備、個人數(shù)字助理等。
(3) 向高速可預測延時方向發(fā)展
由于在一些高速處理的系統(tǒng)中,數(shù)據(jù)處理量的激增要求數(shù)字系統(tǒng)有大的數(shù)據(jù)吞吐速率,比如對圖像信號的處理,這樣就對PLD的速度指標提出了更高的要求;另外,為了保證高速系統(tǒng)的穩(wěn)定性,延時也是十分重要的。用戶在進行系統(tǒng)重構的同時,擔心的是延時特性會不會因重新布線的改變而改變,如果改變,將會導致系統(tǒng)性能的不穩(wěn)定性,這對龐大而高速的系統(tǒng)而言將是不可想象的,帶來的損失也是巨大的。因此,為了適應未來復雜高速電子系統(tǒng)的要求,PLD的高速可預測延時也是一個發(fā)展趨勢。
(4) 向數(shù)摸混合可編程方向發(fā)展
迄今為止,PLD的開發(fā)與應用的大部分工作都集中在數(shù)字邏輯電路上,在未來幾年里,這一局面將會有所改變,模擬電路和數(shù)摸混合電路的可編程技術得到發(fā)展。目前的技術ISPPAC可實現(xiàn)3種功能:信號調整、信號處理和信號轉換。信號調整主要是對信號進行放大、衰減和濾波;信號處理是對信號進行求和、求差和積分運算;信號轉換則是指把數(shù)字信號轉換成模擬信號。EPAC芯片集中了各種模擬功能電路,如可編程增益放大器、可編程比較器、多路復用器、可編程A/D轉換器、濾波器和跟蹤保持放大器等。
(5) 向多功能、嵌入式模塊方向發(fā)展
現(xiàn)在,PLD內已經廣泛嵌入RAM/ROM,F(xiàn)IFO等存儲器模塊,這些嵌入式模塊可以實現(xiàn)更快的無延時的運算與操作。特別是美國Altrea公司于2000年對可編程片上系統(tǒng)(SystemOnProgrammableChip,SOPC)的提出,使得以FPGA為物理載體、在單一的FPGA中實現(xiàn)包括嵌入式處理器系統(tǒng)、接口系統(tǒng)、硬件協(xié)處理器或加速器系統(tǒng)、DSP系統(tǒng)、數(shù)字通信系統(tǒng)、存儲電路以及普通數(shù)字系統(tǒng)更是成為目前電子技術中的研究熱點。
相關閱讀:
如何實現(xiàn)高效并行的實時上采樣?FPGA獻計
菜鳥升級必備:通透了解FPGA設計流程
工程師入門首選:FPGA學習中必須注意的要點