- CPLD
簡(jiǎn)介
CPLD主要是由可編程邏輯宏單元(MC,Macro Cell)圍繞中心的可編程互連矩陣單元組成。其中MC結(jié)構(gòu)較復(fù)雜,并具有復(fù)雜的I/O單元互連結(jié)構(gòu),可由用戶根據(jù)需要生成特定的電路結(jié)構(gòu),完成一定的功能。由于CPLD內(nèi)部采用固定長(zhǎng)度的金屬線進(jìn)行各邏輯塊的互連,所以設(shè)計(jì)的邏輯電路具有時(shí)間可預(yù)測(cè)性,避免了分段式互連結(jié)構(gòu)時(shí)序不完全預(yù)測(cè)的缺點(diǎn)。發(fā)展歷史及應(yīng)用領(lǐng)域:20世紀(jì)70年代,最早的可編程邏輯器件--PLD誕生了。其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因?yàn)樗挠布Y(jié)構(gòu)設(shè)計(jì)可由軟件完成(相當(dāng)于房子蓋好后人工設(shè)計(jì)局部室內(nèi)結(jié)構(gòu)),因而它的設(shè)計(jì)比純硬件的數(shù)字電路具有很強(qiáng)的靈活性,但其過(guò)于簡(jiǎn)單的結(jié)構(gòu)也使它們只能實(shí)現(xiàn)規(guī)模較小的電路。為彌補(bǔ)PLD只能設(shè)計(jì)小規(guī)模電路這一缺陷,20世紀(jì)80年代中期,推出了復(fù)雜可編程邏輯器件--CPLD。目前應(yīng)用已深入網(wǎng)絡(luò)、儀器儀表、汽車(chē)電子、數(shù)控機(jī)床、航天測(cè)控設(shè)備等方面。器件特點(diǎn):它具有編程靈活、集成度高、設(shè)計(jì)開(kāi)發(fā)周期短、適用范圍寬、開(kāi)發(fā)工具先進(jìn)、設(shè)計(jì)制造成本低、對(duì)設(shè)計(jì)者的硬件經(jīng)驗(yàn)要求低、標(biāo)準(zhǔn)產(chǎn)品無(wú)需測(cè)試、保密性強(qiáng)、價(jià)格大眾化等特點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路設(shè)計(jì),因此被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計(jì)和產(chǎn)品生產(chǎn)(一般在10,000件以下)之中。幾乎所有應(yīng)用中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可應(yīng)用CPLD器件。CPLD器件已成為電子產(chǎn)品不可缺少的組成部分,它的設(shè)計(jì)和應(yīng)用成為電子工程師必備的一種技能。如何使用: CPLD是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計(jì)方法是借助集成開(kāi)發(fā)軟件平臺(tái),用原理圖、硬件描述語(yǔ)言等方法,生成相應(yīng)的目標(biāo)文件,通過(guò)下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標(biāo)芯片中,實(shí)現(xiàn)設(shè)計(jì)的數(shù)字系統(tǒng)。這里以搶答器為例講一下它的設(shè)計(jì)(裝修)過(guò)程,即芯片的設(shè)計(jì)流程。CPLD的工作大部分是在電腦上完成的。打開(kāi)集成開(kāi)發(fā)軟件(Altera公司 Max+pluxII)→畫(huà)原理圖、寫(xiě)硬件描述語(yǔ)言(VHDL,Verilog)→編譯→給出邏輯電路的輸入激勵(lì)信號(hào),進(jìn)行仿真,查看邏輯輸出結(jié)果是否正確→進(jìn)行管腳輸入、輸出鎖定(7128的64個(gè)輸入、輸出管腳可根據(jù)需要設(shè)定)→生成代碼→通過(guò)下載電纜將代碼傳送并存儲(chǔ)在CPLD芯片中。7128這塊芯片各管腳已引出,將數(shù)碼管、搶答開(kāi)關(guān)、指示燈、蜂鳴器通過(guò)導(dǎo)線分別接到芯片板上,通電測(cè)試,當(dāng)搶答開(kāi)關(guān)按下,對(duì)應(yīng)位的指示燈應(yīng)當(dāng)亮,答對(duì)以后,裁判給加分后,看此時(shí)數(shù)碼顯示加分結(jié)果是否正確,如發(fā)現(xiàn)有問(wèn)題,可重新修改原理圖或硬件描述語(yǔ)言,完善設(shè)計(jì)。設(shè)計(jì)好后,如批量生產(chǎn),可直接復(fù)制其他CPLD芯片,即寫(xiě)入代碼即可。如果要對(duì)芯片進(jìn)行其它設(shè)計(jì),比如進(jìn)行交通燈設(shè)計(jì),要重新畫(huà)原理圖、或?qū)懹布枋稣Z(yǔ)言,重復(fù)以上工作過(guò)程,完成設(shè)計(jì)。這種修改設(shè)計(jì)相當(dāng)于將房屋進(jìn)行了重新裝修,這種裝修對(duì)CPLD來(lái)說(shuō)可進(jìn)行上萬(wàn)次。家庭成員:經(jīng)過(guò)幾十年的發(fā)展,許多公司都開(kāi)發(fā)出了CPLD可編程邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權(quán)威公司的產(chǎn)品,這里給出常用芯片: Altera EPM7128S (PLCC84) Lattice LC4128V (TQFP100) Xilinx XC95108 (PLCC84)
FPGA與CPLD的辨別和分類(lèi)
FPGA與CPLD的辨別和分類(lèi)主要是根據(jù)其結(jié)構(gòu)特點(diǎn)和工作原理。通常的分類(lèi)方法是: 將以乘積項(xiàng)結(jié)構(gòu)方式構(gòu)成邏輯行為的器件稱(chēng)為CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。將以查表法結(jié)構(gòu)方式構(gòu)成邏輯行為的器件稱(chēng)為FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特點(diǎn),但由于CPLD和FPGA結(jié)構(gòu)上的差異,具有各自的特點(diǎn): ①CPLD更適合完成各種算法和組合邏輯,FP GA更適合于完成時(shí)序邏輯。換句話說(shuō),FPGA更適合于觸發(fā)器豐富的結(jié)構(gòu),而CPLD更適合于觸發(fā)器有限而乘積項(xiàng)豐富的結(jié)構(gòu)。②CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時(shí)序延遲是均勻的和可預(yù)測(cè)的,而FPGA的分段式布線結(jié)構(gòu)決定了其延遲的不可預(yù)測(cè)性。③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過(guò)修改具有固定內(nèi)連電路的邏輯功能來(lái)編程,FPGA主要通過(guò)改變內(nèi)部連線的布線來(lái)編程;FP GA可在邏輯門(mén)下編程,而CPLD是在邏輯塊下編程。④FPGA的集成度比CPLD高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實(shí)現(xiàn)。⑤CPLD比FPGA使用起來(lái)更方便。CPLD的編程采用E2PROM或FASTFLASH技術(shù),無(wú)需外部存儲(chǔ)器芯片,使用簡(jiǎn)單。而FPGA的編程信息需存放在外部存儲(chǔ)器上,使用方法復(fù)雜。⑥CPLD的速度比FPGA快,并且具有較大的時(shí)間可預(yù)測(cè)性。這是由于FPGA是門(mén)級(jí)編程,并且CLB之間采用分布式互聯(lián),而CPLD是邏輯塊級(jí)編程,并且其邏輯塊之間的互聯(lián)是集總式的。⑦在編程方式上,CPLD主要是基于E2PROM或FLASH存儲(chǔ)器編程,編程次數(shù)可達(dá)1萬(wàn)次,優(yōu)點(diǎn)是系統(tǒng)斷電時(shí)編程信息也不丟失。CPLD又可分為在編程器上編程和在系統(tǒng)編程兩類(lèi)。FPGA大部分是基于SRAM編程,編程信息在系統(tǒng)斷電時(shí)丟失,每次上電時(shí),需從器件外部將編程數(shù)據(jù)重新寫(xiě)入SRAM中。其優(yōu)點(diǎn)是可以編程任意次,可在工作中快速編程,從而實(shí)現(xiàn)板級(jí)和系統(tǒng)級(jí)的動(dòng)態(tài)配置。⑧CPLD保密性好,FPGA保密性差。⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
內(nèi)容來(lái)自百科網(wǎng)