CPLD

CPLD

物理學名詞
CPLD(Complex Programmable Logic Device)複雜可編程邏輯器件。[1]CPLD是從PAL和GAL器件發展出來的器件,相對而言規模大,結構複雜,屬于大規模集成電路範圍。是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是借助集成開發軟件平台,用原理圖、硬件描述語言等方法,生成相應的目标文件,通過下載電纜(“在系統”編程)将代碼傳送到目标芯片中,實現設計的數字系統。
    中文名:CPLD 外文名:Complex Programmable Logic Device 别名: 屬于:複雜可編程邏輯器件 包括:從PAL和GAL器件發展出來的器件 目的:實現設計的數字系統

簡介

CPLD主要是由可編程邏輯宏單元(MC,Macro Cell)圍繞中心的可編程互連矩陣單元組成。其中MC結構較複雜,并具有複雜的I/O單元互連結構,可由用戶根據需要生成特定的電路結構,完成一定的功能。由于CPLD内部采用固定長度的金屬線進行各邏輯塊的互連,所以設計的邏輯電路具有時間可預測性,避免了分段式互連結構時序不完全預測的缺點。

發展曆史及應用領域

20世紀70年代,最早的可編程邏輯器件--PLD誕生了。其輸出結構是可編程的邏輯宏單元,因為它的硬件結構設計可由軟件完成(相當于房子蓋好後人工設計局部室内結構),因而它的設計比純硬件的數字電路具有很強的靈活性,但其過于簡單的結構也使它們隻能實現規模較小的電路。為彌補PLD隻能設計小規模電路這一缺陷,20世紀80年代中期,推出了複雜可編程邏輯器件--CPLD。目前應用已深入網絡、儀器儀表、汽車電子、數控機床、航天測控設備等方面。

器件特點

它具有編程靈活、集成度高、設計開發周期短、适用範圍寬、開發工具先進、設計制造成本低、對設計者的硬件經驗要求低、标準産品無需測試、保密性強、價格大衆化等特點,可實現較大規模的電路設計,因此被廣泛應用于産品的原型設計和産品生産(一般在10,000件以下)之中。幾乎所有應用中小規模通用數字集成電路的場合均可應用CPLD器件。CPLD器件已成為電子産品不可缺少的組成部分,它的設計和應用成為電子工程師必備的一種技能。

如何使用

CPLD是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是借助集成開發軟件平台,用原理圖、硬件描述語言等方法,生成相應的目标文件,通過下載電纜(“在系統”編程)将代碼傳送到目标芯片中,實現設計的數字系統。

這裡以搶答器為例講一下它的設計(裝修)過程,即芯片的設計流程。CPLD的工作大部分是在電腦上完成的。打開集成開發軟件(Altera公司 Max+pluxII)→畫原理圖、寫硬件描述語言(VHDL,Verilog)→編譯→給出邏輯電路的輸入激勵信号,進行仿真,查看邏輯輸出結果是否正确→進行管腳輸入、輸出鎖定(7128的64個輸入、輸出管腳可根據需要設定)→生成代碼→通過下載電纜将代碼傳送并存儲在CPLD芯片中。7128這塊芯片各管腳已引出,将數碼管、搶答開關、指示燈、蜂鳴器通過導線分别接到芯片闆上,通電測試,當搶答開關按下,對應位的指示燈應當亮,答對以後,裁判給加分後,看此時數碼顯示加分結果是否正确,如發現有問題,可重新修改原理圖或硬件描述語言,完善設計。設計好後,如批量生産,可直接複制其他CPLD芯片,即寫入代碼即可。如果要對芯片進行其它設計,比如進行交通燈設計,要重新畫原理圖、或寫硬件描述語言,重複以上工作過程,完成設計。這種修改設計相當于将房屋進行了重新裝修,這種裝修對CPLD來說可進行上萬次。

家庭成員

經過幾十年的發展,許多公司都開發出了CPLD可編程邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權威公司的産品,這裡給出常用芯片: Altera EPM7128S(PLCC84)

Lattice LC4128V(TQFP100)

Xilinx XC95108 (PLCC84)

辨别和分類

FPGA 與CPLD的辨别和分類主要是根據其結構特點和工作原理。通常的分類方法是:

将以乘積項結構方式構成邏輯行為的器件稱為CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。

将以查表法結構方式構成邏輯行為的器件稱為FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。

盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由于CPLD和FPGA結構上的差異,具有各自的特點:

①CPLD更适合完成各種算法和組合邏輯,FPGA更适合于完成時序邏輯。換句話說,FPGA更适合于觸發器豐富的結構,而CPLD更适合于觸發器有限而乘積項豐富的結構。

②CPLD的連續式布線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式布線結構決定了其延遲的不可預測性。

③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定内連電路的邏輯功能來編程,FPGA主要通過改變内部連線的布線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。

④FPGA的集成度比CPLD高,具有更複雜的布線結構和邏輯實現。

⑤CPLD比FPGA使用起來更方便。CPLD的編程采用E2PROM或FASTFLASH技術,無需外部存儲器 芯片,使用簡單。而FPGA的編程信息需存放在外部存儲器上,使用方法複雜。

⑥CPLD的速度比FPGA快,并且具有較大的時間可預測性。這是由于FPGA是門級編程,并且CLB之間采用分布式互聯,而CPLD是邏輯塊級編程,并且其邏輯塊之間的互聯是集總式的。

⑦在編程方式上,CPLD主要是基于E2PROM或FLASH存儲器編程,編程次數可達1萬次,優點是系統斷電時編程信息也不丢失。cpld又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基于SRAM編程,編程信息在系統斷電時丢失,每次上電時,需從器件外部将編程數據重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現闆級和系統級的動态配置。

⑧CPLD保密性好,FPGA保密性差。

⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。

編程語言

CPLD可以用梯形圖來編輯邏輯功能,也可以用硬件描述語言來編寫,常用的語言有Verilog HDL和VHDL。

相關詞條

相關搜索

其它詞條