三防平板方案隨著電子系統(tǒng)數(shù)字化進程的發(fā)展,以及實用性要求的不斷提高,可編程邏輯器件得到了越來越廣泛的應(yīng)用,如智能儀表、實時工控、通信設(shè)備、航空航天、機器人等領(lǐng)域。
三防平板方案可編程邏輯器件(PLD)可以完全由用戶通過軟件進行配置和編程,從而完成某種特定的邏輯功能,它是20世紀70年代在專用集成電路ASIC設(shè)計的基礎(chǔ)上發(fā)展起來的新型邏輯器件,到目前為止,可編程邏輯器件已經(jīng)成為半導(dǎo)體領(lǐng)域中發(fā)展最快的產(chǎn)品之一。
隨著可編程邏輯器件應(yīng)用的日益廣泛,許多IC制造廠家涉足這個領(lǐng)域。目前在這個領(lǐng)域中,著名供應(yīng)商的有Altera、Xilinx、Lattice等公司。
1.三防平板方案CPLD和FPGA概述
在 PLD 器件中有重要的兩大類:復(fù)雜可編程邏輯器件(CPLD)和現(xiàn)場可編程門陣列(FPGA)。兩者的功能基本相同,只是實現(xiàn)原理略有不同。
CPLD是從PAL和GAL器件發(fā)展出來的器件,相對而言規(guī)模大、結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍,是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應(yīng)的目標文件,通過下載電纜(在系統(tǒng)編程)將代碼傳送到目標芯片中,實現(xiàn)設(shè)計的數(shù)字系統(tǒng)。
FPGA 是在 PAL、GAL、CPLD 等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物,它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
CPLD的結(jié)構(gòu)和工藝與可編程陣列邏輯(Programmable Logic,PAL)一樣,而FPGA的結(jié)構(gòu)則類似于門陣列ASIC。簡單而言,以乘積項結(jié)構(gòu)方式構(gòu)成邏輯行為的器件稱為CPLD,如Xilinx公司的XC9500系列、Lattice公司的ispLSI系列、Altera的MAX7000S系列等;以查表法結(jié)構(gòu)方式構(gòu)成邏輯行為的器件稱為FPGA,如Altera的FLEXl0K、ACEXlK或Cyclone系列,Xilinx的Spartan系列和Virtex系列等。
總體來講,CPLD/FPGA 中的邏輯門的數(shù)量規(guī)模比較大,可以替代幾十甚至幾千塊通用IC(集成電路)芯片。這樣的CPLD/FPGA實際上就是一個子系統(tǒng)部件,用戶通過編程可以在短時間內(nèi)把一個通用的CPLD/FPGA芯片配置成用戶需要的硬件數(shù)字電路。
CPLD/FPGA 是嵌入式硬件工程師在研發(fā)過程中常用的兩種器件,因為這兩種器件既具備ASIC電路高密度和高速度的優(yōu)點,又具備PLD在短時間內(nèi)完成功能編制的特點。使用PLD生產(chǎn)的嵌入式系統(tǒng)IC包括嵌入式微處理器、加/解密器、流媒體編/解碼器、接口控制器、接口數(shù)據(jù)轉(zhuǎn)換器、信號發(fā)生器、數(shù)據(jù)采集器等。
2.三防平板方案CPLD和FPGA的結(jié)構(gòu)特點
盡管CPLD、FPGA與其他類型PLD在結(jié)構(gòu)上各有其特點和長處,但它們都是由以下三大部分組成的。
● 可編程二維的邏輯陣列塊,它們構(gòu)成了PLD器件的邏輯核心;
● 可編程的輸入/輸出塊;
● 可編程的連接邏輯塊的連線資源,連線資源由各種長度的連線線段組成,其中也有一些可編程的連接開關(guān),它們用于邏輯塊之間、邏輯塊與輸入/輸出塊之間的連接。
圖1和圖2分別給出了典型的CPLD和典型的FPGA的結(jié)構(gòu)圖,從中可以看到兩者結(jié)構(gòu)上的不同,下面簡述其中的主要部件功能。
(1)三防平板方案邏輯陣列塊(Logic Array Block,LAB):如圖7-1所示,每一個LAB都是可編程的,LAB是實現(xiàn)用戶邏輯功能的主要單元,由組合邏輯資源和觸發(fā)器兩部分組成。三防平板方案組合邏輯資源通常又稱為函數(shù)發(fā)生器,由于各個系列不同,每個可編程LAB由1~3個功能不盡相同的函數(shù)發(fā)生器和1~2個觸發(fā)器組成。
圖1 典型CPLD結(jié)構(gòu)圖(Altera公司MAX7000系列)
(2)三防平板方案可配置邏輯塊(Configurable Logic Block,CLB):如圖2所示,每個可配置邏輯模塊有4個塊,每個塊都有4輸入查找表(Look Up Table,LUT)、觸發(fā)器、多路復(fù)用器、運算邏輯、載體邏輯以及專門的內(nèi)部布線,可實現(xiàn)任意的組合電路與時序電路。
(3)延時鎖定環(huán)(Delay Locked Loop,DLL):主要由一個多種類的延時線和控制邏輯組成,延時線對時鐘輸入端產(chǎn)生一個延時時鐘,分布網(wǎng)線將該時鐘分配到器件內(nèi)的各個寄存器和時鐘反饋端。
(4)塊RAM(Block RAM):可以配置為雙端口RAM或先進先出(FIFO)功能,并提供64位誤差校驗和糾正(ECC)功能。它能使用戶有效地存儲數(shù)據(jù)或者緩沖數(shù)據(jù),而無須使用片外存儲器。以Virtex-5系列的FPGA為例,每個塊RAM的最大容量是36 KB,因此可以配置成2個獨立的18 KB塊RAM,或者使用一個36 KB塊RAM。
目前,三防平板方案中FPGA和CPLD的集成度已經(jīng)高達500萬門/片以上,這樣就可以用來開發(fā)一些較大規(guī)模的數(shù)字邏輯電路,特別適合樣品研制或小批量產(chǎn)品開發(fā),使產(chǎn)品能夠以最快的速度上市。利用FPGA和CPLD進行ASIC設(shè)計的優(yōu)點如下。
● 一個FPGA和CPLD器件可以經(jīng)過成千上萬次的擦除和寫入,能夠做到反復(fù)編程、反復(fù)擦除、反復(fù)使用,非常適合科研和樣機研制;
● 對開發(fā)設(shè)備和場地?zé)o特別要求,只要有一臺普通的PC外加一個FPGA和CPLD實驗系統(tǒng)就能夠開展設(shè)計和試驗,可以在現(xiàn)場完成功能制定,并滿足臨時修改要求;
● 投資小,成本低,目標電路的正確性可以在投片之前通過實驗系統(tǒng)模擬運行加以驗證,避免投片風(fēng)險;
● 由于PC平臺的開發(fā)環(huán)境普及化,可以同時由多人開發(fā),因此能夠縮短設(shè)計周期。
3.FPGA和CPLD主要區(qū)別
FPGA和CPLD主要區(qū)別有如下幾個方面。
① CPLD更適合完成各種算法和組合邏輯,F(xiàn)PGA更適合完成時序邏輯。也就是說,F(xiàn)PGA更適合觸發(fā)器豐富的結(jié)構(gòu),而CPLD更適合觸發(fā)器有限而乘積項較豐富的結(jié)構(gòu)。
② CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時序延時是均勻的和可以預(yù)測的,而FPGA的分段式布線結(jié)構(gòu)決定了其延時的不可預(yù)測性。
③ 在編程上,F(xiàn)PGA比CPLD具有更大的靈活性。CPLD通過修改具有內(nèi)連電路的邏輯功能來編程,F(xiàn)PGA主要通過改變內(nèi)部連線的布線來編程。FPGA可在邏輯門下編程,而CPLD是在邏輯模塊下進行編程的。
④ FPGA的集成度比CPLD高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實現(xiàn)。
⑤ CPLD比FPGA使用起來更方便。CPLD的編程采用的是基于電子熔絲技術(shù),不需要外部存儲器芯片,使用簡單;而FPGA的編程信息需存放在Flash等外部存儲器上,使用方法復(fù)雜。
⑥ CPLD的速度比FPGA快,并且具有較大的時間可預(yù)測性。這是由于FPGA是門一級編程,并且邏輯塊CLB之間采用分布式互連;而CPLD是邏輯塊一級編程,并且其邏輯塊之間的互連是集總式的。
⑦ 三防平板方案在編程方式上,CPLD主要是基于E2PROM或Flash存儲器編程的,編程次數(shù)可達1萬次,優(yōu)點是系統(tǒng)斷電時編程信息也不丟失。CPLD 又可分為在編程器上編程和在系統(tǒng)編程兩類。FPGA大部分是基于SRAM編程的,編程信息在系統(tǒng)斷電時會丟失。每次上電時,需從器件外部將編程數(shù)據(jù)重新寫入SRAM中,其優(yōu)點是可以任意次編程,可在工作中快速編程,從而實現(xiàn)板級和系統(tǒng)級的動態(tài)配置。
⑧ CPLD保密性好,F(xiàn)PGA保密性差。
⑨ 一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
三防平板方案隨著復(fù)雜可編程邏輯器件(CPLD)密度的提高,數(shù)字器件設(shè)計人員在進行大型設(shè)計時,既靈活又容易,而且產(chǎn)品可以很快進入市場,許多設(shè)計人員已經(jīng)感受到 CPLD容易使用、時序可預(yù)測和速度高等優(yōu)點。然而,在過去由于受到CPLD密度的限制,他們只好轉(zhuǎn)向FPGA和ASIC?,F(xiàn)在,設(shè)計人員可以體會到密度高達數(shù)十萬門的CPLD所帶來的好處。
CPLD和FPGA這兩種可編程邏輯器件之間的主要區(qū)別如表1所示。
表1 CPLD和FPGA的區(qū)別