CPLD (Complex Programmable Logic Device)直譯的話稱為復雜可編程邏輯芯�。它也屬于大�(guī)�集成電路LSI (Large Scale Integrated Circuit)里的專用集成電路ASIC (Application Specific Integrated Circuit)。適合控制密集型�(shù)字型�(shù)字系�(tǒng)設計,其時延控制方便。CPLD是目前集成電路中�(fā)展最快的器件之一�
復雜的可編程邏輯器件CPLD�(guī)模大,結構復�,屬于大�(guī)模集成電路范圍�
CPLD有五個主要部分:邏輯陣列�、宏單元、擴展乘積項、可編程連線陣列和I/O控制��
1.邏輯陣列塊(LAB�
一個邏輯陣列塊�16個宏單元的陣列組成,多個LAB通過可編程陣�(PIA)和全局總線連接在一�。全局總線從所有的專用輸入、I/O引腳和宏單元饋入信號。對于每個LAB有下列輸入信號�
來自作為通用邏輯輸入的PIA�36個信�
全局控制信號,用于寄存器輔助功能
從I/O引腳到寄存器的直接輸入通道
?。陠卧?/FONT>
MAX7000系列中的宏單元由3個功能塊組成:邏輯陣�、乘積項選擇矩陣和可編程寄存器。各部分可以被獨自配置為時序邏輯和組合邏輯工作方�。其中邏輯陣列實�(xiàn)組合邏輯,可以為每個宏單元提供5個乘積項。乘積項選擇矩陣分配這些乘積項作為到“或門”和“異或門”的主要邏輯輸入,以實現(xiàn)組合邏輯函數(shù),或者把這些乘積項作為宏單元中寄存器的輔助輸入:如清�、置�、時鐘和時鐘使能控制�
每個宏單元中的觸發(fā)器可以單獨地編程為具有可編程時鐘控制的D、T、JK或RS觸發(fā)器的工作方式。觸�(fā)器的時鐘、清零輸入可以通過編程選擇使用專用的全局清零和全局時鐘,或使用�(nèi)部邏輯(乘積項邏輯陣列)�(chǎn)生的時鐘和清零。觸�(fā)器也支持異步清零和異步置位功�,乘積項選擇矩陣分配乘積項來控制這些操作。如果不需要觸�(fā)�,也可以將此觸發(fā)器旁�,信號直接輸給PIA或輸出到I/O引腳,以實現(xiàn)組合邏輯工作方式�
3.擴展乘積項
每個宏單元的一個乘積項可以反相回送到邏輯陣列。這個“可共享”的乘積項能夠連到同一個LAB中的任何其它乘積項上。盡管大多數(shù)邏輯函數(shù)能夠用每個宏單元中的5個乘積項實現(xiàn),但在某些復雜的邏輯函數(shù)中需要附加乘積項。為提供所需的邏輯資�,可以利用另一個宏單元,MAX70000結構也允許利用共享和并聯(lián)擴展乘積�,這兩種擴展項可作為附加的乘積項直接送到本LAB的任意宏單元�。利用擴展項可保證在實現(xiàn)邏輯綜合�,用盡可能少的邏輯資源實�(xiàn)盡可能快的工作速度�
4.可編程連線陣列PIA
通過可編程連線陣列可將各LAB相互連接構成所需的邏�。這個全局總線是可編程的通道,它能把器件中任何信號源連到其目的地。所有MAX7000系列器件的專用輸�、I/O引腳和宏單元輸出均饋送到PIA,PIA可把這些信號送到整個器件內(nèi)的各個地�。只有每個LAB所需的信號才真正給它布置從PIA到該LAB的連線,如圖是PIA信號布線到LAB的方��
5.I/O控制�
I/O控制塊允許每個I/O引腳單獨地配置成輸入/輸出和雙向工作方�。所有I/O引腳都有一個三�(tài)緩沖�,它能由全局輸出使能信號中的一個控制,或者把使能端直接連接到地(GND)或電源(VCC)上。MAX7000系列器件的I/O控制框圖如圖所示。MAX7000器件�6個全局輸出使能信號,它們可以由以下信號驅動:兩個輸出使能信�、一個I/O引腳的集合、一個I/O宏單元的集合,或者是它“反相”后的信��
當三�(tài)緩沖器的控制端接地(GND)時,其輸出為高阻態(tài),而且I/O引腳可作為專用輸入引腳。當三態(tài)緩沖器的控制端接電源(VCC)時,輸出使能有效�
MAX7000結構提供了雙I/O反饋,且宏單元和引腳的反饋是相互獨立�。當I/O引腳配置成輸入時,有關的宏單元可以用于隱含邏��
由于CPLD器件廠商眾多,CPLD器件的選擇同其它通用邏輯器件不同,除考慮器件本身的性能�,配套軟件的支持也是器件選擇的重要依�(jù)。目前市場上已有的CPLD/FPGA器件生產(chǎn)廠家�20多�,而設計軟件除生產(chǎn)廠家自行研制的軟件外還有幾十多種獨立軟件。加上高性能器件的價格已�(jīng)不菲,更不用說設計軟件的價格,所以如何選用合適的CPLD器件,不只是一件一次性的工作,還涉及到設計軟件的選用以及今后進一步工作的開展�
首先,用戶應該根�(jù)自身的技術環(huán)�、技術條件、使用習慣等選擇一種合適的軟件工具,同時要兼顧EDA技術的�(fā)�。與占據(jù)�(yōu)勢的軟件供應商同時也與多�(shù)芯片制造商建立了良好的合作伙伴關系,所�,擁有一種設計軟�,再進一步選擇不同的工具�,或增加部分配置,即可對不同廠家的不同種類的FPGA�(chǎn)品進行設計�
其次,用戶可根據(jù)設計的需要確定選擇哪一類可編程器件。如果用于航�、軍事領域等性能要求高的領域,反熔絲技術的一次編程型可編程芯片是;如果要完成多種算術運算,或是要求在較高速度�,CPLD /FPGA是較好的選擇;而對于功能復雜的時序邏輯電路而言,標準門陣列單元型的FPGA具有集成度高、保持靈活和功耗低的優(yōu)��
當然,這只是通用準則,關鍵是所選擇的器件能滿足設計要求的所有功�,在此基礎上,再利用上述準則確定具體的一種器��
,選定某一廠家的產(chǎn)�,生�(chǎn)同類器件的廠家很多,一般依�(jù)以下準則進行選擇�
選擇有設計軟件支持的廠家的芯�,這樣可減少資本投�,降低成��
選擇�(chǎn)品設計性能改進有余量�。如果所選擇的芯片是某一廠家�(chǎn)品中容量,或是速度�,那�,一但設計需要改�,則有可能在該廠家的芯片中再選不出合適的來了�
設計應用的延�(xù)性和可擴展性。如果所選廠家的�(chǎn)品具有很大的局限�,則有可能僅僅適用于很少一部分設計,從而造成設計軟件投入上的浪費�
選擇性能價格比的。盡管象Xilinx、Altera這樣的器件生�(chǎn)廠家都在通過降價來作市場宣傳,大多數(shù)芯片的價格還是比較高�,所有在滿足上述準則的情況下適當考慮價格也是有必要的�
CPLD以及FPGA等相關可編程器件的發(fā)展非?�?,上面的選擇依據(jù)是從市場的角度出�(fā)對市場份額較�、行�(yè)�(nèi)目前處于地位的部分廠家進行的,具有一定的代表�,但不是十分全面。只有不斷跟蹤這一領域的技術發(fā)展和市場動態(tài)才能對可編程芯片有更加全�、不斷更新的認識,在應用系統(tǒng)的設計中更好地利用CPLD,以提高�(chǎn)品的設計水平�
目前市場上CPLD的軟件種類繁�,軟件可以分為廠家集成開�(fā)軟件、編輯軟�,邏輯綜合軟�、仿真軟件及其他測試工具軟件�。其中集成開�(fā)軟件一般是由廠家直接提�,集成了編輯、綜�、仿真、布線等功能。其他專門軟件屬于單項功能的專用軟��
1.集成開�(fā)軟件
目前CPLD集成開發(fā)軟件主要有三家公司的軟件,分別是Altera公司、Xilinx公司、Lattice公司�
Altera公司提供的開�(fā)軟件是用戶最常用的。此類軟件是集成的CPLD開發(fā)�(huán)�。有多個版�,早期的Max+plusII,MaxplusII Baseline Altera,MaxplusII E+MAX�,基本都可以完成所有的設計輸入(原理圖或HDL),仿�,綜�,布�,下載等工作。而且是免費PLD開發(fā)軟件,目前Altera公司轉向QuartusII軟件平臺,QuartusII屬于新一代PLD開發(fā)軟件,適合大�(guī)模FPGA的開�(fā)�
Xilinx公司提供的CPLD軟件也有多個版�,早期Foundation軟件目前已基本不使用,ISE4.1軟件是目前Xilinx公司的主流版本軟�。Xilinx公司也提供免費的開發(fā)軟件,分別是WebPACK ISE 和WebFITTER�
Lattice公司提供的開�(fā)軟件是ispDesignEXPERT的PLD,目前軟件改名為ispLEVER。ispLEVER Starter是Lattice公司的免費PLD開發(fā)軟件,支�600個宏單元以下的Lattice芯片的設��
為了提高設計效率,優(yōu)化設計結�,很多廠家提供了各種軟件,用以配合PLD/FPGA芯片廠家提供工具進行更高效率的設計,最常見的組合同時使用HDL邏輯綜合軟件和PLD/FPGA芯片廠家提供的軟��
2.HDL前端輸入與系�(tǒng)管理軟件
這類軟件主要是幫助用戶完成HDL文本的編輯和輸入工作,提高輸入效�,并不是必須�,更多人更習慣使用集成開�(fā)軟件或者綜�/仿真工具中自帶的文本編輯器,甚至可以直接使用普通文本編輯器。UltraEdit是其中使用最為廣泛的編輯器�
3.HDL邏輯綜合軟件
這類軟件將把HDL語言翻譯成最基本的與或非門的連接關系(網(wǎng)表),輸出edf文件,導給PLD/FPGA廠家的軟件進行試配和布�。為了優(yōu)化結�,在進行復雜HDL設計�,基本上都會使用這些的邏輯綜合軟�,而不使用PLD/FPGA廠家的集成開�(fā)軟件中自帶的邏輯綜合功能。如Synplicity公司出品提供的Synplify / Synplify Pro軟件,使用相當不��
4.HDL仿真軟件
此類軟件主要對設計進行校驗仿真,包括布線以前的功能仿真(前仿真)和布線以后包含延時的時序仿真(后仿真),對于一些復雜的HDL設計可能需要這些軟件的仿真功��
如Model Tech公司提供的VHDL/VerilogHDL仿真軟件,功能強��
盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特�,但由于CPLD和FPGA結構上的差異,具有各自的特�:
?、貱PLD更適合完成各種算法和組合邏輯,FP GA更適合于完成時序邏輯。換句話�,FPGA更適合于觸發(fā)器豐富的結構,而CPLD更適合于觸發(fā)器有限而乘積項豐富的結構�
?、贑PLD的連續(xù)式布線結構決定了它的時序延遲是均勻的和可預測�,而FPGA的分段式布線結構決定了其延遲的不可預測��
?、墼诰幊躺螰PGA比CPLD具有更大的靈活性。CPLD通過修改具有固定�(nèi)連電路的邏輯功能來編�,FPGA主要通過改變�(nèi)部連線的布線來編程;FP GA可在邏輯門下編�,而CPLD是在邏輯塊下編程�
④FPGA的集成度比CPLD�,具有更復雜的布線結構和邏輯實�(xiàn)�
?、軨PLD比FPGA使用起來更方�。CPLD的編程采用E2PROM或FASTFLASH技�,無需外部存儲器芯�,使用簡單。而FPGA的編程信息需存放在外部存儲器�,使用方法復雜�
⑥CPLD的速度比FPGA�,并且具有較大的時間可預測�。這是由于FPGA是門級編�,并且CLB之間采用分布式互�(lián),而CPLD是邏輯塊級編�,并且其邏輯塊之間的互�(lián)是集總式的�
?、咴诰幊谭绞�?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保密性好,FPGA保密性差�
?、嵋话闱闆r�,CPLD的功耗要比FPGA�,且集成度越高越明��
維庫電子�,電子知�,一查百��
已收錄詞�168461�