版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第八章可編程邏輯器件8.1可編程邏輯器件(PLD)概述8.2可編程邏輯陣列器件(PLA)8.3可編程陣列邏輯器件(PAL)8.4通用陣列邏輯器件(GAL)8.5復(fù)雜可編程邏輯器件(CPLD)8.6現(xiàn)場可編程門陣列器件(FPGA)8.7可編程邏輯器件的編程本章小結(jié)習(xí)題第八章可編程邏輯器件8.1可編程邏輯器件(PLD)8.1可編程邏輯器件(PLD)概述
可編程邏輯器件(ProgrammableLogicDevice,PLD)是在PROM基礎(chǔ)上發(fā)展起來的新型大規(guī)模數(shù)字邏輯集成器件,是現(xiàn)代設(shè)計數(shù)字系統(tǒng)的基礎(chǔ)之一。前面幾章講到的中、小規(guī)模數(shù)字集成電路,如74系列及其改進系列、74HC系列的各種門電路、觸發(fā)器、計數(shù)器等,都屬于通用器件,它們所實現(xiàn)的邏輯功能是固定不變的,任何數(shù)字系統(tǒng)都可使用。用這些通用的MSI、SSI可以組成任何復(fù)雜的數(shù)字系統(tǒng),但系統(tǒng)的體積、重量、功耗會隨之增加,而且可靠性也大為降低。PLD的研制成功有效地解決了上述問題,它是一種半成品性的、集成度很高的通用型邏輯器件,它的功能不再是單一的存儲信息,而是可以通過用戶對器件的編程來實現(xiàn)包括組合邏輯、時序邏輯在內(nèi)的數(shù)字電路系統(tǒng)的各種復(fù)雜邏輯功能。8.1可編程邏輯器件(PLD)概述
可8.1.1PLD的基本結(jié)構(gòu)
我們知道,無論是組合電路還是時序電路,都可以用“與-或”表達式或者真值表、狀態(tài)轉(zhuǎn)移表來表示,因此可以用與門和或門實現(xiàn),PLD的內(nèi)部結(jié)構(gòu)就是建立在此基礎(chǔ)上的。
圖8.1為基于與-或陣列結(jié)構(gòu)的PLD基本結(jié)構(gòu),這類PLD由輸入電路、與陣列、或陣列、輸出電路以及反饋電路組成。如同ROM的陣列結(jié)構(gòu),PLD結(jié)構(gòu)主體是與陣列和或陣列。為了適應(yīng)各種輸入情況,與陣列的輸入端(包括內(nèi)部反饋信號的輸入端)都設(shè)置有輸入緩沖電路,主要作用是使輸入信號有足夠的驅(qū)動能力,并產(chǎn)生一組互補的原變量和反變量。
這些外部輸入變量或內(nèi)部反饋變量根據(jù)地址變量從與門陣列輸入,產(chǎn)生與項;這些與項輸出又成為或門陣列的輸入,最后,或門陣列的輸出就是與-或表達式形成的邏輯函數(shù)。在輸出電路中,有多個按一定規(guī)律排列的寄存器以便輸出時序電路,還有多路選擇器、三態(tài)邏輯輸出門以便控制芯片的操作,它們的輸入來自或陣列的輸出。8.1.1PLD的基本結(jié)構(gòu)
我們知道,無論是組圖8.1基于與-或陣列結(jié)構(gòu)的PLD基本結(jié)構(gòu)圖8.1基于與-或陣列結(jié)構(gòu)的PLD基本結(jié)構(gòu)PLD內(nèi)部設(shè)置有內(nèi)部反饋通路,可把輸出信號反饋到輸入端。這樣,在增加了輸入、輸出緩沖電路、內(nèi)部反饋電路等之后,就可以構(gòu)成不同類型、不同規(guī)模的PLD器件。
由于PLD內(nèi)部電路龐大而規(guī)則、緊湊,用傳統(tǒng)的繪制邏輯圖方法不方便,因而常采用一些簡化的表示方法。圖8.2為PLD輸入緩沖電路的簡化表示。圖8.3為PLD中一個多輸入與門和多輸入或門的簡化表示。豎線為一組輸入信號,用它與橫線相交叉的點的狀態(tài)表示相應(yīng)的輸入信號是否接到了該門的輸入端上。交叉點上一般用符號“×”表示可編程的連接點,可以通過編程將其斷開;用“·”表示是固定連接,不能通過編程改變(不可編程);無任何標(biāo)記,則表示是不連接的。PLD內(nèi)部設(shè)置有內(nèi)部反饋通路,可把輸出信號反饋到輸入端。圖8.3PLD的與陣列、或陣列簡化表示圖8.2PLD的輸入電路簡化表示圖8.3PLD的與陣列、或陣列簡化表示圖8.2PLD8.1.2PLD的分類
早期的PLD屬于低集成密度可編程邏輯器件,也是簡單的可編程邏輯器件(SimplePLD,SPLD)。根據(jù)其可編程情況,可分為可編程只讀存儲器PROM、可編程邏輯陣列
(ProgrammableLogicArray,PLA)、可編程陣列邏輯(ProgrammableArrayLogic,PAL)和通用陣列邏輯(GenericArrayLogic,GAL)4種類型,它們在結(jié)構(gòu)上主要都是一個“與陣列”和一個“或陣列”,不同之處如表8.1所示。8.1.2PLD的分類
早期的PLD屬于低集成表8.1SPLD的分類與結(jié)構(gòu)比較表8.1SPLD的分類與結(jié)構(gòu)比較7.3節(jié)討論的PROM、EPROM和EEPROM等可編程ROM屬于用戶編程的邏輯器件,它們可實現(xiàn)組合邏輯函數(shù),其與陣列(地址譯碼器)是不可編程的,或陣列(存儲矩陣)是可編程的,ROM存儲了組合邏輯的真值表,或者說,ROM按標(biāo)準(zhǔn)的與-或表達式編程。PROM由于其陣列規(guī)模大,速度低,因而它的基本用途是用作存儲器,如軟件固化、顯示查尋等。
可編程邏輯陣列PLA是按照最簡與-或表達式編程的器件,它的與陣列和或陣列都是可編程的。利用率比PROM高得多,使用靈活方便,但其集成度較低,又由于缺少好的支持軟件和編程工具,價格較貴,器件的資源利用率也不夠高,現(xiàn)在已經(jīng)不常使用。7.3節(jié)討論的PROM、EPROM和EEPROM等可編程可編程陣列邏輯PAL是與陣列可編程而或陣列不可編程的器件。PAL具有多種輸出結(jié)構(gòu)形式,但輸出結(jié)構(gòu)固定。應(yīng)用不同的輸出結(jié)構(gòu),需選用不同型號的PAL器件。若存儲單元采用熔絲結(jié)構(gòu),就如同PROM一樣,一旦編程后不能再改寫。
通用陣列邏輯GAL是在PAL基礎(chǔ)上產(chǎn)生的新一代器件。大部分GAL同PAL一樣,有一個可編程的與陣列和一個不可編程的或陣列,僅有GAL39V8的與、或陣列均可編程。但為了通用,GAL在或陣列之后接一個輸出邏輯宏單元(OutputLogicMacrocell,OLMC),為邏輯設(shè)計提供了很大的靈活性。GAL器件采用CMOS工藝,是可多次編程的器件??删幊剃嚵羞壿婸AL是與陣列可編程而或陣列不可編程的器件上述幾種可編程邏輯器件易于編程,對開發(fā)軟件的要求低,在20世紀(jì)80年代得到了廣泛的應(yīng)用,但隨著技術(shù)的發(fā)展,其在集成密度和性能方面的局限性也暴露出來。由于其寄存器、I/O引腳、時鐘資源的數(shù)目有限,沒有內(nèi)部互連,使其設(shè)計的靈活性受到明顯限制。
近代的PLD屬于高集成密度可編程邏輯器件,有復(fù)雜的可編程邏輯器件(ComplexPLD,CPLD)和現(xiàn)場可編程門陣列(FieldProgrammableGateArray,F(xiàn)PGA)兩類。
上述幾種可編程邏輯器件易于編程,對開發(fā)軟件的要求低,在2復(fù)雜的可編程邏輯器件CPLD的每一個邏輯單元類似一個GAL,它利用連續(xù)式的連線結(jié)構(gòu)把各個邏輯單元連接在一起,構(gòu)成一個器件。這類PLD主要產(chǎn)品有Lattice公司的ispLSI系列,Altera公司的MAX5000/7000系列,AMD公司的MACH系列等。CPLD的主要特點是延遲與連接情況無關(guān),工作速度的可預(yù)測性好。但其集成密度低于FPGA。復(fù)雜的可編程邏輯器件CPLD的每一個邏輯單元類似一個GA現(xiàn)場可編程門陣列FPGA器件顧名思義是一種可以現(xiàn)場進行編程的門陣列。20世紀(jì)80年代由Xilinx公司首先提出并制作出世界上第一片F(xiàn)PGA器件。FPGA在結(jié)構(gòu)上由邏輯功能塊排列為陣列,并由可編程的內(nèi)部連線連接這些功能塊來實現(xiàn)一定的邏輯功能。這類PLD主要產(chǎn)品有Xilinx公司的LCA系列,Actel公司的ACT系列和Ti公司的TPC系列等。其特點是集成密度相當(dāng)大,可集成各種邏輯功能的單元,結(jié)構(gòu)靈活,可滿足各種應(yīng)用場合的需要。由于其內(nèi)部結(jié)構(gòu)與諸多因素如邏輯分割、布局布線、邏輯單元結(jié)構(gòu)、以及互連資源的種類、數(shù)量、分布等密切相關(guān),因此其速度的可預(yù)測性差,在設(shè)計前難以預(yù)測最終結(jié)果能否滿足時序上的要求。另外,這類PLD的多數(shù)典型應(yīng)用能達到的速度低于CPLD。
下面就每一種器件的結(jié)構(gòu)及應(yīng)用作一些介紹。更為詳細(xì)的了解請參考專門的PLD書籍?,F(xiàn)場可編程門陣列FPGA器件顧名思義是一種可以現(xiàn)場進行編8.2可編程邏輯陣列器件(PLA)
8.2.1PLA的基本結(jié)構(gòu)
圖8.4為3輸入、3輸出PLA的基本結(jié)構(gòu),它同ROM的結(jié)構(gòu)類似,是由與陣列和或陣列組成,因兩個陣列都可編程,所以用戶編程控制的程度很高。與ROM實現(xiàn)邏輯函數(shù)相比,PLA的與陣列不需要產(chǎn)生全部最小項,與陣列可進行簡化,從而或陣列也得到簡化。8.2可編程邏輯陣列器件(PLA)
8.2.1圖8.4PLA基本結(jié)構(gòu)圖8.4PLA基本結(jié)構(gòu)8.2.2PLA的應(yīng)用
用PLA實現(xiàn)組合邏輯函數(shù)時,首先需要把邏輯函數(shù)化為最簡與-或表達式,式中的每一個乘積項用與陣列中的一個與門來實現(xiàn)。從或陣列的輸出得到所要求的邏輯函數(shù)。
【例8-1】用PLA實現(xiàn)4位二進制碼轉(zhuǎn)換成循環(huán)碼的代碼轉(zhuǎn)換電路。
解:表8.2為4位二進制碼B3B2B1B0轉(zhuǎn)換成循環(huán)碼G3G2G1G0的真值表。B3、B2、B1、B0為輸入變量,G3、G2、G1、G0為輸出變量。用PLA實現(xiàn)時,需4個輸入端,4個輸出端。將G3、G2、G1、G04個輸出函數(shù)用卡諾圖化簡后,得到如下最簡的與-或表達式:8.2.2PLA的應(yīng)用
用PLA實現(xiàn)組合邏輯函數(shù)時,數(shù)字電路邏輯設(shè)計白靜版第8章課件用PLA實現(xiàn)的編程連接圖如圖8.5所示。用PLA實現(xiàn)的編程連接圖如圖8.5所示。圖8.5例8-1用PLA實現(xiàn)圖圖8.5例8-1用PLA實現(xiàn)圖【例8-2】試用PLA和JK觸發(fā)器實現(xiàn)模4可逆計數(shù)器。當(dāng)X=0時,進行加法計數(shù);當(dāng)X=1時,進行減法計數(shù)。
解:由第五章式(5-16)可知,模4可逆計數(shù)器的激勵方程和輸出方程為用PLA實現(xiàn)時,外部輸入信號X和內(nèi)部反饋信號Q2和Q1作為PLA的3個輸入端,J2、K2、J1、K1和Z為5個輸出端。其PLA器件實現(xiàn)的編程連接圖如圖8.6所示?!纠?-2】試用PLA和JK觸發(fā)器實現(xiàn)模4可逆計數(shù)器圖8.6例8-2用PLA實現(xiàn)圖圖8.6例8-2用PLA實現(xiàn)圖8.3可編程陣列邏輯器件(PAL)
8.3.1PAL的基本結(jié)構(gòu)
PAL器件是20世紀(jì)70年代末期由MMI公司推出的一種低密度、一次性可編程邏輯器件,它采用雙極型工藝制作、熔絲編程方式。這是在可編程邏輯陣列PLA器件之后,第一個具有典型實際意義的可編程邏輯器件。隨著MOS工藝的廣泛應(yīng)用,后來又出現(xiàn)了以疊柵MOS管作為編程單元的PAL器件。8.3可編程陣列邏輯器件(PAL)
8.3.1PAL器件的基本結(jié)構(gòu)是可編程的與陣列和固定的或陣列,如圖8.7所示。這是一個3輸入、3輸出的PAL陣列,在未編程之前,與陣列的所有交叉點上均有熔絲接通,編程時將有用的熔絲保留,將無用的熔絲熔斷,即得到所需的電路。
圖8.8是經(jīng)過編程后的一個PAL器件的結(jié)構(gòu)圖。PAL器件的基本結(jié)構(gòu)是可編程的與陣列和固定的或陣列,如圖圖8.7PAL基本結(jié)構(gòu)圖8.7PAL基本結(jié)構(gòu)圖8.8編程后的PAL電路圖8.8編程后的PAL電路需要注意的是,對于每一條與線,如果該線上的熔絲全部保留,表示編程時沒有利用,則這條與線始終為邏輯0電平,且與輸入值無關(guān),圖中簡化表示為在相應(yīng)的與門上畫“×”(見圖8.8),所有交叉點上的“×”就不用畫了;如果該線上的熔絲全部燒斷,則這條與線始終為邏輯1電平,也與輸入值無關(guān)。它產(chǎn)生的邏輯函數(shù)為需要注意的是,對于每一條與線,如果該線上的熔絲全部保留,為了擴展電路的功能,增加使用的靈活性,在許多型號的PAL器件中還增加了各種形式的輸出電路。不同型號的PAL器件有不同的輸出結(jié)構(gòu)和反饋結(jié)構(gòu),可適用于不同的組合邏輯電路和時序邏輯電路的設(shè)計。為了擴展電路的功能,增加使用的靈活性,在許多型號的PAL1.專用輸出結(jié)構(gòu)
專用輸出結(jié)構(gòu)的輸出端是一個與或門,圖8.7所示的PAL電路就屬于這種輸出結(jié)構(gòu)。有些PAL器件輸出端還采用與或非門或者互補輸出結(jié)構(gòu)。圖8.9給出了互補輸出的電
路結(jié)構(gòu)。這種專用輸出結(jié)構(gòu)的PAL器件無輸出反饋信號,只能用來產(chǎn)生組合邏輯函數(shù)。PAL10H8、PAL14H4等器件的輸出端是與或門結(jié)構(gòu),輸出信號高電平有效;PAL10L8、
PAL14L4的輸出端是與或非門結(jié)構(gòu),輸出信號低電平有效;PAL16C1的輸出端是互補輸出的或門結(jié)構(gòu),同時輸出一對互補的信號。1.專用輸出結(jié)構(gòu)
專用輸出結(jié)構(gòu)的輸出端是一個圖8.9具有互補輸出的專用輸出結(jié)構(gòu)圖8.9具有互補輸出的專用輸出結(jié)構(gòu)2.可編程輸入/輸出(I/O)結(jié)構(gòu)
PAL器件的可編程輸入/輸出電路結(jié)構(gòu)圖如圖8.10所示。這種輸出結(jié)構(gòu)的特點是具有一個可編程控制端的三態(tài)緩沖器和輸出反饋緩沖器。三態(tài)緩沖器的控制端由與陣列最上面一個與門所對應(yīng)的乘積項(即第一乘積項,也稱為專用乘積項)給出,具有互補輸出的反饋緩沖器可使三態(tài)輸出反饋到與陣列的輸入端,因而可構(gòu)成簡單的觸發(fā)器,使輸出具有記憶功能。2.可編程輸入/輸出(I/O)結(jié)構(gòu)
PAL器件的可如果在編程時,使第一乘積項為0,則三態(tài)緩沖器被禁止,呈高阻態(tài),這時可以將I/O作為變量輸入端使用,互補輸出的反饋緩沖器作為輸入緩沖門使用;相反,如果在編程時,該乘積項為1,則三態(tài)緩沖器被選通,I/O處于輸出工作狀態(tài),同時輸出數(shù)據(jù)又通過反饋緩沖器反饋到與陣列。PAL16L8、PAL20L10等器件屬于這種輸出結(jié)構(gòu)。如果在編程時,使第一乘積項為0,則三態(tài)緩沖器被禁止,呈高圖8.10PAL的可編程輸入/輸出結(jié)構(gòu)圖8.10PAL的可編程輸入/輸出結(jié)構(gòu)3.寄存器輸出結(jié)構(gòu)
PAL器件的寄存器輸出結(jié)構(gòu)如圖8.11所示。與可編程輸入/輸出電路結(jié)構(gòu)相比,它在或陣列的輸出和輸出三態(tài)緩沖器之間增加了由D觸發(fā)器組成的寄存器。同時觸發(fā)器的端又經(jīng)互補輸出的緩沖器反饋到與陣列的輸入端。在系統(tǒng)時鐘CP上升沿作用下,將或門的輸出存入D觸發(fā)器,在輸出使能控制信號OE有效時,Q端的信號經(jīng)三態(tài)緩沖器反相后輸出,輸出為低電平有效。這樣PAL具有記憶功能,且整個器件只有一個共用時鐘脈沖CP和一個輸出使能信號OE,從而可實現(xiàn)計數(shù)器、移位寄存器等同步時序邏輯電路。PAL16R4、PAL16R6、PAL16R8等器件屬于該結(jié)構(gòu)。3.寄存器輸出結(jié)構(gòu)
PAL器件的寄存器輸出圖8.11PAL的寄存器輸出結(jié)構(gòu)圖8.11PAL的寄存器輸出結(jié)構(gòu)除了以上3種輸出結(jié)構(gòu)外,PAL器件還有異或輸出結(jié)構(gòu),其電路結(jié)構(gòu)與寄存器輸出結(jié)構(gòu)類似,只是在或陣列的輸出端又增加了一級異或門。另外還有能實現(xiàn)快速的加、減、大于、小于等算術(shù)邏輯操作的運算選通反饋結(jié)構(gòu)等。除了以上3種輸出結(jié)構(gòu)外,PAL器件還有異或輸出結(jié)構(gòu),其電8.3.2PAL的應(yīng)用
PAL器件可根據(jù)其型號的命名方式來確定它的結(jié)構(gòu)。例如,PAL16L8,其中“PAL”說明它是一個PAL器件;“16”表示它的與陣列最多可以有16個輸入;“L”表示輸出信號低電平有效;“8”表示該器件最多可有8個輸出。8.3.2PAL的應(yīng)用
PAL器件可根據(jù)其型號圖8.12為PAL16L8器件完整的內(nèi)部邏輯圖。從圖中可知,PAL16L8器件為可編程輸入/輸出結(jié)構(gòu)的PAL器件。它有20個引腳,10號和20號引腳在圖中沒有給出,它們分別是“地”和+5V電源的引腳;包括反饋輸入在內(nèi)最多可有16個輸入端;而輸出端最多為8個,輸出為低電平有效;每個輸出中有8個乘積項,共有8×8=64個乘積項,其中每個輸出中第一個乘積項為專用乘積項,用于控制三態(tài)輸出緩沖器的輸出;1~9以及11號引腳只能作為輸入引腳;12和19號引腳只能用作輸出引腳;13~18號引腳由它們的輸出三態(tài)緩沖器的狀態(tài)決定其工作情況,當(dāng)三態(tài)緩沖器處于高阻態(tài)時,對應(yīng)的引腳只能作為輸入引腳;當(dāng)三態(tài)緩沖器正常工作時,對應(yīng)的引腳用作輸出引腳,并將輸出信號反饋到與陣列,作為與陣列的一個輸入信號。圖8.12為PAL16L8器件完整的內(nèi)部邏輯圖。從圖中圖8.12PAL16L8邏輯圖及例8-3連接圖圖8.12PAL16L8邏輯圖及例8-3連接圖【例8-3】試用PAL器件實現(xiàn)一個帶使能控制輸出的2線-4線譯碼器。
解:2線-4線譯碼器真值表如表8.3所示。由表可知,當(dāng)輸出使能控制端為0時,2線-4線譯碼器的輸出表達式為(8-1)【例8-3】試用PAL器件實現(xiàn)一個帶使能控制輸出的2因為輸出表達式為帶非號的組合邏輯函數(shù),并且要求有使能控制輸出,故選用輸出低電平有效的、帶輸出三態(tài)控制的PAL16L8器件實現(xiàn),連接示意圖在圖8.12標(biāo)出。
在目前常見的PAL器件中,輸入變量最多可達到20個,與陣列輸出的乘積項最多的有80個,或陣列的輸出端最多有10個,每個或門的輸入端最多的達到16個。因為輸出表達式為帶非號的組合邏輯函數(shù),并且要求有使能控制PAL和SSI、MSI通用標(biāo)準(zhǔn)器件相比有許多優(yōu)點:①提高了功能密度,節(jié)省了空間。通常一片PAL可以代替4~12片SSI或2~4片MSI。PAL只有20多種型號,但可以代替90%的通用SSI、MSI器件,因而進行系統(tǒng)設(shè)計時,可以大大減少器件的種類。②提高了設(shè)計的靈活性,且編程和使用都比較方便。
PAL的主要缺點是由于它采用了雙極型熔絲工藝(PROM結(jié)構(gòu)),只能一次性編程,因而使用者仍要承擔(dān)一定的風(fēng)險。另外PAL器件輸出電路結(jié)構(gòu)的類型繁多,因此也給設(shè)計和使用帶來一些不便。PAL和SSI、MSI通用標(biāo)準(zhǔn)器件相比有許多優(yōu)點:①提8.4通用陣列邏輯器件(GAL)
GAL是Lattice公司于1985年首先推出的另一種新型低密度可編程邏輯器件。它采用了電擦除、電可編程的EECMOS工藝制作,可以用電信號擦除并反復(fù)編程上百次。為了通用,GAL器件的輸出端設(shè)置了可編程的輸出邏輯宏單元OLMC,通過編程可以將OLMC設(shè)置成不同的輸出方式。這樣,同一型號的GAL器件就可以實現(xiàn)PAL器件所有的各種輸出電路工作模式,即取代了大部分PAL器件,因此稱為通用可編程邏輯器件。
GAL器件分為兩大類:一類為普通型GAL,其與或陣列結(jié)構(gòu)與PAL相似,如GAL16V8、ispGAL16Z8、GAL20V8都屬于這一類;另一類為新型GAL,其與或陣列均可編程,與PLA結(jié)構(gòu)相似,主要有GAL39V8。8.4通用陣列邏輯器件(GAL)
GAL是8.4.1GAL的基本結(jié)構(gòu)
圖8.13是常見的GAL16V8的電路結(jié)構(gòu)圖。它在結(jié)構(gòu)上繼承了PAL器件與陣列可編程和或陣列固定的基本結(jié)構(gòu),在輸出電路中采用了OLMC。OLMC結(jié)構(gòu)可通過編程,確定可編程器件各單元的輸出和反饋結(jié)構(gòu),既可滿足組合邏輯設(shè)計,又可滿足時序邏輯設(shè)計,大大增加了數(shù)字系統(tǒng)設(shè)計的靈活性。8.4.1GAL的基本結(jié)構(gòu)
圖8.13是常見的GAL圖8.13GAL16V8邏輯圖圖8.13GAL16V8邏輯圖由圖8.13可知,GAL16V8器件有8個輸入緩沖器,8個三態(tài)輸出緩沖器,8個輸出反饋/輸入緩沖器,1個系統(tǒng)時鐘CP輸入緩沖器和1個三態(tài)輸出使能OE輸入緩沖器;與陣列
由8×8個與門構(gòu)成,共形成64個乘積項,每個乘積項有32個輸入,對應(yīng)圖中32條列線;含8個輸出邏輯宏單元OLMC(或陣列包含在OLMC中),其中前3個(引腳17、18、19)和后3個(引腳12、13、14)OLMC輸出端都有反饋線連接到相鄰單元的OLMC。由圖8.13可知,GAL16V8器件有8個輸入緩沖器,8GAL16V8器件有8個引腳(引腳2~9)固定作為輸入端,另外8個輸入/輸出引出端也可配置為輸入模式。因此,GAL16V8器件最多可有16個輸入端,輸出端最多為8個。這也是器件型號中16和8兩個數(shù)字的含義。時鐘輸入是1腳,使能控制輸入是11腳。GAL16V8器件有8個引腳(引腳2~9)固定作為輸入端8.4.2GAL的輸出邏輯宏單元(OLMC)
1.OLMC的結(jié)構(gòu)和結(jié)構(gòu)控制字
OLMC內(nèi)部結(jié)構(gòu)如圖8.14所示。每個OLMC包含或陣列中的一個或門、一個可編程異或門、一個D觸發(fā)器和四個可編程數(shù)據(jù)選擇器(多路開關(guān))及一些門電路組成的控制電路。
圖中AC0、AC1(n)、XOR(n)都是結(jié)構(gòu)控制字中的一位數(shù)據(jù),其中n(n=12~19)為輸出宏單元的引腳號。AC0為各OLMC共用,AC1(n)為第n個OLMC專用。設(shè)計者通過對結(jié)構(gòu)控制字編程,便可設(shè)定OLMC的工作模式。GAL16V8結(jié)構(gòu)控制字的組成如圖8.15所示。8.4.2GAL的輸出邏輯宏單元(OLMC)
1.圖8.14GAL器件輸出邏輯宏單元(OLMC)圖8.14GAL器件輸出邏輯宏單元(OLMC)圖8.15GAL16V8結(jié)構(gòu)控制字的組成圖8.15GAL16V8結(jié)構(gòu)控制字的組成(1)圖8.14中的或門G1有8個輸入端,和來自與陣列的8個乘積項相對應(yīng)。其中7個直接相連,第一個乘積項(圖中最上邊的一項)通過可編程極性多路選擇器(PTMUX)后同或門相連,或門輸出為有關(guān)乘積項之和。在或門的輸出端能產(chǎn)生不超過8項的與-或邏輯函數(shù)。
(2)異或門G2的作用是選擇輸出信號的極性。當(dāng)XOR(n)為1時,異或門起反相器作用,否則起同相器作用。
(3)D觸發(fā)器(寄存器)對異或門的輸出狀態(tài)起記憶作用,使GAL器件適用于時序邏輯電路。(1)圖8.14中的或門G1有8個輸入端,和來自與(4)4個多路選擇器(MUX)在結(jié)構(gòu)控制字段作用下設(shè)定輸出邏輯宏單元的組態(tài),即輸出電路結(jié)構(gòu)的形式受4個多路選擇器控制。
PTMUX是可編程乘積項多路選擇器(是一個2選1數(shù)據(jù)選擇器),用于控制第一乘積項。即在控制下,選擇第一乘積項或地(0)送至或門輸入端。
TSMUX是可編程三態(tài)多路選擇器(是一個4選1數(shù)據(jù)選擇器),用于選擇三態(tài)輸出緩沖器的使能信號。即在AC1(n)和AC1控制下從VCC、地、OE或第一乘積項中選擇一個作為
輸出緩沖器的使能信號。(4)4個多路選擇器(MUX)在結(jié)構(gòu)控制字段作用下設(shè)定OMUX是可編程輸出類型多路選擇器(是一個2選1數(shù)據(jù)選擇器),用于選擇輸出信號是經(jīng)異或門直接輸出還是經(jīng)D觸發(fā)器輸出。即在控制下選擇組合型(異或門輸出)或寄存型(經(jīng)D觸發(fā)器存儲后輸出)邏輯運算結(jié)果送到輸出緩沖器。OMUX是可編程輸出類型多路選擇器(是一個2選1數(shù)據(jù)選擇FMUX是可編程反饋多路選擇器,它是一個8選1數(shù)據(jù)選擇器,但輸入信號只有4個。它的作用是選擇不同的信號反饋給與陣列的輸入端。即在AC1(n)、AC0控制下選擇D觸發(fā)器的、本級OLMC輸出、鄰級OLMC的輸出或地電平作為反饋信號送回與陣列作為輸入信號。這里的(m)是相鄰OLMC的編號。由圖8.13所示GAL16V8的邏輯圖可知,OLMC(16)、OLMC(17)、OLMC(18)的相鄰OLMC分別為OLMC(17)、OLMC(18)、OLMC(19);OLMC(13)、OLMC(14)、OLMC(15)的相鄰OLMC分別為OLMC(12)、OLMC(13)、OLMC(14)。OLMC(12)和OLMC(19)的鄰級輸入分別由引腳11和引腳1的輸入代替,同時這兩個單元的AC0和AC1(m)又被和SYN所取代。SYN是結(jié)構(gòu)控制字中的一位。FMUX是可編程反饋多路選擇器,它是一個8選1數(shù)據(jù)選擇控制字中,SYN和AC0是一個GAL的所有OLMC共有的。AC1(n)和XOR(n)是每一個OLMC獨立的可編程位。
同步位SYN決定GAL器件是具有寄存器型(時序型)輸出(SYN=0),還是純粹組合型輸出(SYN=1)。在OLMC(12)和OLMC(19)中,SYN還替代AC1(n),替代AC0作為FMUX的選擇輸入,以維護與PAL器件的兼容性。
AC0、AC1(n)是結(jié)構(gòu)控制位。8個OLMC公用1位AC0。AC1(n)共8位,每個OLMC(n)有1位,(n為12~19)。AC0、AC1(n)兩者配合控制各MUX的工作??刂谱种校琒YN和AC0是一個GAL的所有OLMC共有
XOR(n)是極性控制位,共8位,每個OLMC(n)有1位,它通過異或門來控制輸出極性。當(dāng)XOR(n)=0時,輸出低有效;當(dāng)XOR(n)=1時,輸出高有效。
PT(n)是乘積項禁止位,共64位,和與陣列中64個乘積項(PT0~PT63)相對應(yīng),用以禁止(屏蔽)某些不用的乘積項。XOR(n)是極性控制位,共8位,每個OLMC(n)有2.OLMC的配置
在SYN、AC0、AC1(n)組合控制下,OLMC(n)可組態(tài)配置成5種工作模式,即專用輸入、專用組合輸出、反饋組合輸出、時序電路中的組合輸出和寄存器型輸出模式,表8.4列出了各種模式下對控制位的配置和選擇。圖8.16(a)~(e)分別表示不同配置模式下OLMC5種工作模式的簡化電路圖。2.OLMC的配置
在SYN、AC0、AC1(n數(shù)字電路邏輯設(shè)計白靜版第8章課件圖8.16OLMC5種工作模式下的簡化電路圖圖8.16OLMC5種工作模式下的簡化電路圖GAL器件由于采用了OLMC,所以使用更加靈活,只要寫入不同的結(jié)構(gòu)控制字,就可以得到不同類型的輸出電路結(jié)構(gòu)。這些電路結(jié)構(gòu)完全可以取代PAL器件的各種輸出電路結(jié)構(gòu)。
上述可編程結(jié)構(gòu)控制字SYN、AC0、AC1(n)和XOR(n)的具體設(shè)置以及各OLMC的具體配置是由PLD開發(fā)軟件根據(jù)具體設(shè)計要求自動完成的,無需人工設(shè)置。GAL器件由于采用了OLMC,所以使用更加靈活,只要寫入3.GAL的行地址結(jié)構(gòu)
GAL的邏輯功能、工作模式都是靠編程來實現(xiàn)的。編程時寫入的數(shù)據(jù)按行安排,GAL16V8共分64行,供用戶使用的有36行。圖8.17表示GAL16V8編程單元的地址分配和功能劃分情況,因為它并不是實際的空間布局圖,所以稱為行地址映射圖。3.GAL的行地址結(jié)構(gòu)
GAL的邏輯功能、工作模圖8.17GAL16V8行地址分配圖8.17GAL16V8行地址分配第0~31行對應(yīng)與陣列的編程單元,編程后可產(chǎn)生0~63共64個乘積項。用戶定義的邏輯功能在這里實現(xiàn)。
第32行是電子標(biāo)簽(ES),供用戶存放各種備查的信息,如器件的編號、電路的名稱、編程日期、編程次數(shù)等。電子標(biāo)簽不受下述加密位的控制,隨時都可訪問讀出。
第33~59行是生產(chǎn)廠家保留的地址空間,用戶不能利用。
第60行是一個82位的結(jié)構(gòu)控制字,用于設(shè)定8個OLMC的工作模式和64個乘積項的禁止。第0~31行對應(yīng)與陣列的編程單元,編程后可產(chǎn)生0~63共第61行是一位加密單元。這一位被編程以后,與陣列中的編程數(shù)據(jù)不能被更改或讀出,從而使設(shè)計結(jié)果得以保護。只有在與陣列被整體擦除時,才能將加密單元同時擦除。但是電子標(biāo)簽的內(nèi)容不受加密單元的影響,在加密單元被編程后電子標(biāo)簽的內(nèi)容仍可讀出。
第62行是一位保留位,為廠商保留,用戶不能利用。
第63行是一個整體擦除位,編程系統(tǒng)對這一位進行擦除將導(dǎo)致整個芯片中所有的編程單元都被擦掉,器件返回到編程前的初始狀態(tài)。第61行是一位加密單元。這一位被編程以后,與陣列中的對GAL編程時是逐行進行的,被編程的數(shù)據(jù)從SDIN以串行方式送入64位移位寄存器,寄存器裝滿一次,就對GAL陣列寫一行。校驗時,指定行的已編程數(shù)據(jù)并行裝入該移位寄存器,然后從SDOUT以串行方式送出。對GAL編程時是逐行進行的,被編程的數(shù)據(jù)從SDIN以串行8.4.3GAL的應(yīng)用
GAL的邏輯設(shè)計和開發(fā)過程與PAL基本類似。不同之處在于需設(shè)置結(jié)構(gòu)控制字的狀態(tài)和配置OLMC的工作模式。
【例8-4】試用GAL16V8器件實現(xiàn)1位全加器。
解:一位全加器的邏輯函數(shù)表達式為
由此可知,該組合邏輯電路有3個信號輸入,有2個輸出,且高電平有效,故需用2個OLMC,根據(jù)表8.4和圖8.16,相應(yīng)的GAL開發(fā)軟件具體設(shè)置的結(jié)構(gòu)控制字和各OLMC的具體配置如表8.5所示。8.4.3GAL的應(yīng)用
GAL的邏輯設(shè)計和開發(fā)數(shù)字電路邏輯設(shè)計白靜版第8章課件【例8-5】試用GAL16V8器件實現(xiàn)一個帶使能控制輸出的2線-4線譯碼器。
解:由式(8-1)可知,該組合邏輯電路有4個輸出端,且低電平有效,故需用4個OLMC,并有一個使能控制端,根據(jù)表8.4和圖8.16,相應(yīng)的一種配置如表8.6所示?!纠?-5】試用GAL16V8器件實現(xiàn)一個帶使能控制數(shù)字電路邏輯設(shè)計白靜版第8章課件綜上所述,GAL器件在性能上主要有以下特點:(1)采用電擦除工藝,可重復(fù)編程,邏輯功能可重新配置。編程改寫方便、快速,整個芯片擦除改寫只需數(shù)秒鐘,一般GAL的改寫次數(shù)都在100次以上,將設(shè)計風(fēng)險降到最低。
(2)采用高性能的EECMOS工藝,保證了GAL的高速度和低功耗。存取速度為12~40ns,功耗僅為雙極性PAL器件的1/2或1/4(90mA或45mA),編程數(shù)據(jù)可保存20年以上。
(3)采用可編程的輸出邏輯宏單元OLMC,使GAL器件結(jié)構(gòu)靈活,通用性強,可配置成多種工作模式。GAL16V8可以仿真或代替20腳的PAL器件約21種。綜上所述,GAL器件在性能上主要有以下特點:(1)采(4)具有加密功能,可防止他人非法抄襲設(shè)計電路。
(5)具有電子標(biāo)簽,便于文檔管理,提高了生產(chǎn)效率。
(6)具有寄存器預(yù)置和加電復(fù)位功能,器件可測性100%。
GAL器件利用OLMC改進了PAL的輸出電路,使得GAL比PAL更加靈活,在簡單PLD中是應(yīng)用最廣泛的一種。GAL的缺點同PAL一樣,屬于低密度PLD,邏輯陣列規(guī)模較
小,每片相當(dāng)于幾十個等效門電路,只能代替2~4片MSI器件,遠達不到LSI和VLSI專用集成電路的要求。功能相對簡單,不適用于較復(fù)雜的邏輯電路的設(shè)計。這些不足之處,都在高密度PLD中得到了較好的解決。(4)具有加密功能,可防止他人非法抄襲設(shè)計電路。
8.5復(fù)雜可編程邏輯器件(CPLD)
8.5.1CPLD的基本結(jié)構(gòu)
隨著集成工藝的發(fā)展,當(dāng)前PLD的集成規(guī)模越來越大,已從簡單的低密度可編程器件(PAL和GAL器件)發(fā)展到萬門以上的復(fù)雜可編程(CPLD)系列。
多數(shù)的CPLD采用EEPROM編程工藝制作,也有采用CMOSEPROM、FlashMemory和SRAM等編程技術(shù)的,這樣構(gòu)成的CPLD具有高密度、高速度和低功耗的特點,因此,采用CPLD設(shè)計的數(shù)字系統(tǒng)體積小、功耗低、可靠性高,具有更大的靈活性。8.5復(fù)雜可編程邏輯器件(CPLD)
8.5.1目前生產(chǎn)CPLD的廠家有很多,各種型號的CPLD在結(jié)構(gòu)上也都有各自的特點和長處,但概括起來,它們都是由三大部分組成的,即若干個可編程邏輯塊(構(gòu)成CPLD的主體部分)、輸入/輸出(I/O)塊和可編程內(nèi)部互連通道(用于邏輯塊之間以及邏輯塊與輸入/輸出塊之間的連接)。
Lattice公司在20世紀(jì)90年代初率先推出了一種新型的可編程邏輯器件——在系統(tǒng)可編程(InSystemProgrammability,ISP)邏輯器件ispLSI系列,所謂“在系統(tǒng)編程”ISP是指采用編程電纜或自動測試設(shè)備ATE在用戶電路板PCB上對器件直接進行編程,而器件無需從電路板上取下來。支持ISP技術(shù)的可編程邏輯器件稱為在系統(tǒng)可編程邏輯器件(ispPLD)。
ispPLD不需要使用編程器,只需要通過計算機接口和編程電纜,直接在目標(biāo)系統(tǒng)或電路板上進行編程。ispPLD可以先裝配,后編程。因此ISP技術(shù)有利于提高系統(tǒng)的可靠性,便于系統(tǒng)板的調(diào)試和維修。目前生產(chǎn)CPLD的廠家有很多,各種型號的CPLD在結(jié)構(gòu)上Lattice公司的ispLSI系列器件具有CPLD典型的結(jié)構(gòu)和特性,是目前功能較強、性能優(yōu)良、方便易用的CPLD器件之一。而且由于ispLSI系列器件具有在系統(tǒng)可編程能力,使其得到了廣泛的應(yīng)用。
下面我們以Lattice公司的在系統(tǒng)可編程器件ispLSI1032為例,來了解一下CPLD的具體結(jié)構(gòu)。圖8.18為ispLSI1032的電路結(jié)構(gòu)圖,它主要由32個通用邏輯塊(GenericLogicBlock,GLB)、64個輸入/輸出單元(Input/OutputCell,IOC)、全局布線區(qū)(GlobalRoutingPool,GRP)、輸出布線區(qū)(OutputRoutingPool,ORP)和時鐘分配網(wǎng)絡(luò)(ClockDistributionNetwork,CDN)組成。Lattice公司的ispLSI系列器件具有CPLD典型全局布線區(qū)GRP是ispLSI器件中的一種專用的內(nèi)部互連結(jié)構(gòu),它提供高速的內(nèi)部連線。GRP位于器件的中心,可連接任何一個I/O單元到任何一個通用邏輯塊GLB,也可連接任何一個GLB輸出到其他GLB,即它可將所有器件內(nèi)的邏輯連接起來。GRP的傳輸延遲時間可預(yù)知。全局布線區(qū)GRP是ispLSI器件中的一種專用的內(nèi)部互連圖8.18ispLSI1032的電路結(jié)構(gòu)圖圖8.18ispLSI1032的電路結(jié)構(gòu)圖通用邏輯塊GLB位于全局布線區(qū)GRP的四周,形成了4個結(jié)構(gòu)相同的大模塊。GLB由可編程與陣列、乘積項共享的或陣列和輸出邏輯宏單元(OLMC)三部分構(gòu)成,每個GLB
相當(dāng)于一個GAL器件。
輸出布線區(qū)ORP的作用是把GLB的輸出信號接到IOC上,它是介于GLB和IOC之間的可編程互連陣列。ORP與其他可編程互連陣列的區(qū)別是,IOC與GLB之間沒有一一對應(yīng)
關(guān)系,因而可以將對GLB的編程和對外部引腳的排列分開進行,賦予外部引腳分配更大的靈活性。通用邏輯塊GLB位于全局布線區(qū)GRP的四周,形成了4個結(jié)輸入/輸出單元IOC位于器件的最外層,它由三態(tài)輸出緩沖器、輸入緩沖器、輸入寄存器和幾個可編程的數(shù)據(jù)選擇器組成,IOC可以編程為輸入、輸出、雙向輸入/輸出3種模式。
各部分之間的關(guān)系和實現(xiàn)的功能如圖8.19所示。輸入/輸出單元IOC位于器件的最外層,它由三態(tài)輸出緩沖器圖8.19ispLSI1032的邏輯功能劃分圖圖8.19ispLSI1032的邏輯功能劃分圖8.5.2CPLD的通用邏輯塊(GLB)
ispLSI1032器件的GLB結(jié)構(gòu)圖如圖8.20所示。GLB主要用于實現(xiàn)邏輯功能,在結(jié)構(gòu)上類似于GAL,但又在GAL的基礎(chǔ)上做了一些改進,在組態(tài)時有更大的靈活性和多樣性。
圖8.20是GLB的標(biāo)準(zhǔn)組態(tài),4個或門輸入按4、4、5、7配置,或陣列采取了乘積項共享的結(jié)構(gòu)形式。它的輸入和輸出關(guān)系是可編程的,F(xiàn)0~F3中的任何一個都可以送到4個D觸發(fā)器中的任何一個的輸入端,每個Fi又可以同時送給多個觸發(fā)器,F(xiàn)0~F3還可以再組合成更大規(guī)模的與-或邏輯函數(shù)送到任何一個觸發(fā)器的輸入端。8.5.2CPLD的通用邏輯塊(GLB)
is圖8.20ispLSI1032器件的GLB結(jié)構(gòu)圖8.20ispLSI1032器件的GLB結(jié)構(gòu)4輸出邏輯宏單元中4個觸發(fā)器的置0、時鐘是連在一起的,因此同一GLB中的觸發(fā)器必須同步工作。根據(jù)設(shè)計需要,可編程觸發(fā)器也可配置為JK、T觸發(fā)器形式。
此外,通過編程還可以將GLB設(shè)置成其他連接模式,以適應(yīng)不同的設(shè)計要求。
【例8-6】畫出ispLSI1032器件產(chǎn)生4乘積項、8乘積項、16乘積項GLB的配置。
解:圖8.21為產(chǎn)生4乘積項、8乘積項、16乘積項GLB的配置結(jié)構(gòu)圖。其中4乘積項由一個或門產(chǎn)生,8乘積項由2個共享或門產(chǎn)生,16乘積項由三個共享或門產(chǎn)生。4輸出邏輯宏單元中4個觸發(fā)器的置0、時鐘是連在一起的,因綜上所述,CPLD器件與低密度PAL和GAL器件相比,主要有以下性能特點:
(1)可進行多次編程、改寫和擦除。
(2)具有高密度、高速度、高可靠性和低功耗的特點。
(3)I/O端數(shù)和內(nèi)含觸發(fā)器可多達數(shù)百個,集成度遠遠高于PAL和GAL器件。
(4)有靈活多樣的邏輯結(jié)構(gòu),可滿足各種數(shù)字電路系統(tǒng)設(shè)計的需要。綜上所述,CPLD器件與低密度PAL和GAL器件相比,主(5)內(nèi)部時間延遲與器件結(jié)構(gòu)和邏輯連接無關(guān),各模塊之間提供了具有固定延時的快速互連通道,可預(yù)測時間延遲,易于消除競爭冒險現(xiàn)象。
(6)對于采用SRAM工藝的CPLD,需要進行數(shù)據(jù)配置才可以完成設(shè)計要求的功能,斷電后,配置數(shù)據(jù)自動消失。
(7)有多位加密位,可杜絕編程數(shù)據(jù)的非法抄襲。(5)內(nèi)部時間延遲與器件結(jié)構(gòu)和邏輯連接無關(guān),各模塊之間圖8.21ispLSI1032器件的GLB結(jié)構(gòu)圖8.21ispLSI1032器件的GLB結(jié)構(gòu)8.6現(xiàn)場可編程門陣列器件(FPGA)
8.6.1FPGA的基本結(jié)構(gòu)
與前面介紹過的幾種PLD器件不同,現(xiàn)場可編程門陣列FPGA的主體不再是與-或陣列,而是由若干獨立的可編程邏輯模塊組成的。用戶可以通過編程,實現(xiàn)這些模塊之間的互連,從而實現(xiàn)所需要的數(shù)字系統(tǒng)的邏輯功能。由于這些模塊的排列方式和門陣列(GA)中單元的排列形式類似,所以沿用了門陣列這個名稱。FPGA屬于高密度PLD,其每片的集成度可達百萬門以上。
多數(shù)的FPGA采用SRAM編程工藝,也有少數(shù)的FPGA采用反熔絲編程工藝。8.6現(xiàn)場可編程門陣列器件(FPGA)
圖8.22是FPGA的基本結(jié)構(gòu)示意圖,它由可編程邏輯模塊(ConfigurableLogicBlock,CLB)、可編程輸入/輸出模塊(Input/OutputBlock,IOB)、可編程互連資源(Interconnect
Resource,IR)這三種可編程單元和一個陣列分布的存放編程數(shù)據(jù)的靜態(tài)存儲器SRAM組成。整個芯片的邏輯功能是通過對芯片內(nèi)部的SRAM編程確定的。圖8.22是FPGA的基本結(jié)構(gòu)示意圖,它由可編程邏輯模塊圖8.22FPGA的基本結(jié)構(gòu)圖8.22FPGA的基本結(jié)構(gòu)可編程邏輯塊CLB是實現(xiàn)用戶功能的基本單元,它們通常規(guī)則地排列成一個二維陣列,分布在整個芯片中央;可編程輸入/輸出模塊IOB提供芯片內(nèi)部邏輯陣列與外部引出線之間的編程接口,它通常排列在芯片的四周;可編程互連資源IR包括各種長度的金屬連線、一些可編程開關(guān)矩陣和可編程的連接點,它們將各個CLB之間或CLB、IOB之間以及IOB之間連接起來,構(gòu)成特定功能的電路??删幊踢壿媺KCLB是實現(xiàn)用戶功能的基本單元,它們通常規(guī)則基于SRAM的FPGA器件,其內(nèi)部CLB、IOB、互連開關(guān)的編程數(shù)據(jù)等都存放在片內(nèi)的SRAM中,斷電后存儲器中的數(shù)據(jù)不能保存,因此,F(xiàn)PGA未加電時,器件本身沒有任何功能。加電工作時,必須重新給存儲器加載編程數(shù)據(jù)。加載的過程是在FPGA內(nèi)部的一個時序電路的控制下自動進行的。編程數(shù)據(jù)可以存儲在片外的EPROM、EEPROM或計算機軟、硬盤中。人們可以控制加載過程,在現(xiàn)場修改器件的邏輯功能,即所謂現(xiàn)場編程。
圖8.23是FPGA中靜態(tài)存儲器SRAM單元的結(jié)構(gòu)圖。它由兩個CMOS反相器和一個用來控制讀/寫的MOS控制管T構(gòu)成。這種SRAM存儲單元具有很強的抗干擾能力和很高的可靠性?;赟RAM的FPGA器件,其內(nèi)部CLB、IOB、互連開圖8.23FPGA內(nèi)SRAM單元圖8.23FPGA內(nèi)SRAM單元8.6.2FPGA的CLB模塊和IOB模塊
不同廠家生產(chǎn)的FPGA,其CLB、IOB等結(jié)構(gòu)都存在較大的差異,下面以Xilinx公司的產(chǎn)品XC2064為例,簡要介紹FPGA的CLB、IOB的基本電路結(jié)構(gòu)和工作特點。
1.可編程邏輯模塊CLB
CLB是FPGA實現(xiàn)各種邏輯功能的基本單元。在XC2064中有64個CLB,排列成8×8的矩陣。每個CLB中包含組合邏輯電路、存儲電路以及由一些數(shù)據(jù)選擇器組成的內(nèi)部控制電路,圖8.24為XC2064中CLB的結(jié)構(gòu)圖。圖中程序控制的數(shù)據(jù)選擇器符號上只標(biāo)出了數(shù)據(jù)輸入端和數(shù)據(jù)輸出端,省略了地址輸入端。8.6.2FPGA的CLB模塊和IOB模塊
不同廠家圖8.24XC2064的CLB電路圖8.24XC2064的CLB電路CLB中的組合邏輯電路部分是有4個輸入端、2個輸出端的通用邏輯模塊。根據(jù)設(shè)計的需要,可以將組合邏輯電路設(shè)置成3種不同的組態(tài),如圖8.25所示,即通過編程可以產(chǎn)
生任何形式的四變量組合邏輯函數(shù)、2個三變量的組合邏輯函數(shù)和含有A、B、C、D、Q五變量的組合邏輯函數(shù)。CLB中的組合邏輯電路部分是有4個輸入端、2個輸出端的通圖8.25XC2064的CLB的3種組態(tài)圖8.25XC2064的CLB的3種組態(tài)CLB中的組合邏輯電路輸出與輸入之間的邏輯函數(shù)關(guān)系由一組編程控制信號決定。將編程控制信號與函數(shù)對應(yīng)關(guān)系列成函數(shù)查詢表,在編程過程中通過查詢表方式來實現(xiàn)邏輯函數(shù)關(guān)系。查詢表的物理結(jié)構(gòu)是靜態(tài)的存儲器SRAM,查詢表的工作原理類似于用ROM實現(xiàn)多種組合邏輯函數(shù),編程控制輸入等效于ROM的地址碼,通過查找ROM中的地址表,即可得到相應(yīng)的組合邏輯函數(shù)輸出。CLB中的組合邏輯電路輸出與輸入之間的邏輯函數(shù)關(guān)系由一組在XC2064中,CLB的存儲電路只有一個觸發(fā)器(在XC3000和XC4000系列的FPGA器件中,每個CLB中有兩個觸發(fā)器)。這個觸發(fā)器可以編程為邊沿觸發(fā)或電平觸發(fā)的D觸發(fā)器。觸發(fā)器的輸入端口接收組合邏輯電路部分的輸出F,時鐘即可以選擇片內(nèi)公共時鐘CP,工作在同步方式;也可以選擇輸入端C或組合電路的輸出G,工作在異步方式。
可以通過對數(shù)據(jù)選擇器的編程來決定用時鐘的上升沿或下降沿(或高電平和低電平)觸發(fā)。在XC2064中,CLB的存儲電路只有一個觸發(fā)器(在XC觸發(fā)器的異步置位信號從輸入變量A和組合電路輸出F中選擇。異步置零信號從輸入變量D和組合電路輸出G中選擇。輸出Q既可以驅(qū)動CLB輸出端X、Y,也可以反饋到輸
入端作為組合邏輯電路的輸入信號。觸發(fā)器的異步置位信號從輸入變量A和組合電路輸出F中選擇2.可編程輸入/輸出模塊IOB
XC2064共有56個可編程的IOB,分布于FPGA四周,可以靈活編程,滿足不同邏輯接口的需要。每個IOB由輸出三態(tài)緩沖器G1、觸發(fā)器、輸入緩沖器G2和兩個數(shù)據(jù)選擇器MUX1、MUX2組成。圖8.26為XC2064中IOB的電路結(jié)構(gòu)圖。
由圖8.26可知,MUX1的輸出決定輸出三態(tài)緩沖器G1的工作狀態(tài)。當(dāng)MUX1輸出(即G1的控制信號)為低電平時,IOB工作在輸出狀態(tài),F(xiàn)PGA內(nèi)部產(chǎn)生的信號通過G1送至I/O端。當(dāng)MUX1輸出為高電平時,G1為高阻態(tài),IOB工作在輸入狀態(tài)。2.可編程輸入/輸出模塊IOB
XC2064圖8.26XC2064的IOB電路圖8.26XC2064的IOB電路MUX2用于輸入方式的選擇。當(dāng)MUX2選中G2的輸出時,為異步輸入方式,加到I/O端的輸入信號立刻通過G2、MUX2送到FPGA內(nèi)部。當(dāng)MUX2選中觸發(fā)器的輸出時,為同步輸入方式,加到I/O端的輸入信號必須等到時鐘信號CP到達后,才能經(jīng)過MUX2送到FPGA內(nèi)部。
輸入緩沖器G2的閾值電平是可編程的。用戶既可設(shè)置為TTL電路的閾值電平1.4V,也可以設(shè)置為高速CMOS電路的閾值電平2.2V。在XC2064中,所有IOB共享一個I/O時鐘
信號。MUX2用于輸入方式的選擇。當(dāng)MUX2選中G2的輸出8.6.3FPGA內(nèi)部互連資源(IR)
可編程互連資源IR分布于CLB和IOB之間,由多種不同長度的金屬線段通過可編程開關(guān)矩陣SM(SwitchingMatrices)相互連接,通過自動布線實現(xiàn)所需功能的電路連接。IR
可將FPGA中很大數(shù)目的CLB和IOB連接成各種復(fù)雜的系統(tǒng)。
可編程連接線又分為三種類型:單長線(SingleLengthLines)、雙長線(DoubleLengthLines)和長線(LongLines)。8.6.3FPGA內(nèi)部互連資源(IR)
可編程互連資(1)通用單/雙長線連接:主要用于CLB之間的連接,任意兩點間的連接都要通過開關(guān)矩陣。它提供了相鄰CLB
之間的快速互連和復(fù)雜互連的靈活性,但傳輸信號每通過一個可編程開關(guān)矩陣,就增加一次時延。因此,F(xiàn)PGA內(nèi)部時延與器件結(jié)構(gòu)和邏輯布線有關(guān),它的信號傳輸時延不可確定。
(2)長線連接:在通用單/雙長線的旁邊還有一些從陣列的一頭連到另一頭的線段,稱為水平長線和垂直長線。這些長線不經(jīng)過可編程開關(guān)矩陣,信號延時時間小,長線主要用于長距離或多分支信號的傳送。(1)通用單/雙長線連接:主要用于CLB之間的連接,任(3)全局連接:全局線貫穿整個器件,可達到每個CLB。全局連接主要用于傳送一些公共信號,如全局時鐘信號、公用控制信號。
綜上所述,F(xiàn)PGA器件與PAL、GAL以及CPLD相比,主要有以下性能特點:(1)采用SRAM編程技術(shù),具有高密度、高速度、高可靠性和低功耗的特性。
(2)提供豐富的可編程I/O端數(shù)目和觸發(fā)器,使得各引腳信號的安排更加方便和合理。集成度遠遠高于PAL和GAL器件。
(3)FPGA器件結(jié)構(gòu)靈活,內(nèi)部的CLB、IOB和ICR均可以編程,可以實現(xiàn)多個變量的任意邏輯。(3)全局連接:全局線貫穿整個器件,可達到每個CLB(4)某些器件提供片內(nèi)高速RAM,可用于FIFO等設(shè)計。
FPGA本身也存在一些缺點:
(1)使用FPGA器件時需要進行數(shù)據(jù)配置,斷電后,配置數(shù)據(jù)自動丟失。因此,每次開始工作時都需要重新裝載編程數(shù)據(jù),并需要配備保存編程數(shù)據(jù)的EPROM等存儲設(shè)備。
使用不是很方便,并且不便于保密。而CPLD中設(shè)有加密編程單元,加密后可防止編程數(shù)據(jù)被讀出。(4)某些器件提供片內(nèi)高速RAM,可用于FIFO等設(shè)計(2)內(nèi)部時延與器件結(jié)構(gòu)和邏輯連接等有關(guān),傳輸時延不可預(yù)測。由于在構(gòu)成復(fù)雜數(shù)字系統(tǒng)時一般總要將若干個CLB組合起來才能實現(xiàn),而每個信號的傳輸途徑不同,因此傳輸時延不可能相等,這會給設(shè)計工作帶來麻煩,也限制了FPGA器件的工作速度。但在CPLD中不存在這個問題。
可見,每一種器件都有其自身的優(yōu)點,尤其是FPGA和CPLD各有不可取代的優(yōu)勢,因此,這兩種器件目前都得到廣泛應(yīng)用。(2)內(nèi)部時延與器件結(jié)構(gòu)和邏輯連接等有關(guān),傳輸時延不可8.7可編程邏輯器件的編程
用PLD來實現(xiàn)數(shù)字電路或系統(tǒng),需要具備計算機、編程器、PLD的開發(fā)軟件包、專用的硬件描述語言、PLD的編程器或編程電纜等硬件、軟件設(shè)備。
PLD的編程工作大體可按以下步驟進行。8.7可編程邏輯器件的編程
用PLD來實現(xiàn)數(shù)1)設(shè)計準(zhǔn)備
采用有效的設(shè)計方案是PLD設(shè)計成功的關(guān)鍵,因此在設(shè)計輸入前首先要考慮兩個問題:
①選擇系統(tǒng)方案,進行邏輯抽象設(shè)計。首先要把需要實現(xiàn)的邏輯功能表示為邏輯函數(shù)的形式,即邏輯方程、真值表、狀態(tài)轉(zhuǎn)移表(圖)。
②選擇合適的PLD器件類型和型號,滿足設(shè)計的要求。
對于低密度PLD,一般可以進行書面邏輯設(shè)計,將電路的邏輯功能直接用邏輯方程、真值表狀態(tài)圖或原理圖等方式進行描述,然后根據(jù)整個電路輸入、輸出端數(shù)以及所需要的資源(門、觸發(fā)器數(shù)目),選擇能滿足設(shè)計要求的器件系列和型號。器件的選擇除了應(yīng)考慮器件的引腳數(shù)、資源外,還要考慮其速度、功耗以及結(jié)構(gòu)特點。1)設(shè)計準(zhǔn)備
采用有效的設(shè)計方案是PLD設(shè)計成功的對于高密度PLD,系統(tǒng)方案的選擇通常采用“自頂向下”的設(shè)計方法。首先在頂層進行功能框圖的劃分和結(jié)構(gòu)設(shè)計,然后再逐級設(shè)計低層的結(jié)構(gòu)。一般描述系統(tǒng)總功能的模塊放在最上層,稱為頂層設(shè)計;描述系統(tǒng)某一部分功能的模塊放在下層,稱為底層設(shè)計。底層模塊還可以再向下分層。這種“自頂向下”和分層次的設(shè)計方法使整個系統(tǒng)設(shè)計變得簡潔和方便,并且有利于提高設(shè)計的成功率。目前系統(tǒng)方案的設(shè)計工作和器件的選擇都可以在計算機上完成,用戶可以采用國際標(biāo)準(zhǔn)的兩種硬件描述語言VHDL或Verilog對系統(tǒng)進行功能描述,并選用各種不同的芯片進行平衡、比較,選擇最佳結(jié)果。對于高密度PLD,系統(tǒng)方案的選擇通常采用“自頂向下”的設(shè)2)設(shè)計輸入
用戶將所設(shè)計的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表示出來,并送入計算機的過程稱為設(shè)計輸入。它通常有原理圖輸入、硬件描述語言輸入和波形輸入等多種方式。
原理圖輸入是一種最直接的輸入方式,它大多數(shù)用于對系統(tǒng)或電路結(jié)構(gòu)很熟悉的場合,但系統(tǒng)較大時,這種方法的相對輸入效率較低。2)設(shè)計輸入
用戶將所設(shè)計的系統(tǒng)或電路以開發(fā)軟硬件描述語言是用文本方式描述設(shè)計,它分為普通的硬件描述語言和行為描述語言。普通硬件描述語言有ABEL-HDL、CUPL等,它們支持邏輯方程、真值表、狀態(tài)圖等邏輯表達方式。行為描述語言是指高層硬件描述語言VHDL和Verilog,它們有許多突出的優(yōu)點,如語言的公開可利用性,便于組織大規(guī)模系統(tǒng)的設(shè)計,具有很強的邏輯描述和仿真功能,而且輸入效率高,在不同的設(shè)計輸入庫之間轉(zhuǎn)換也非常方便。硬件描述語言是用文本方式描述設(shè)計,它分為普通的硬件描述語3)設(shè)計處理
從設(shè)計輸入完成以后到編程文件產(chǎn)生的整個編譯,適配過程通常稱為設(shè)計處理或設(shè)計實現(xiàn)。它是器件設(shè)計中的核心環(huán)節(jié),是由計算機自動完成的,用戶只能通過設(shè)置參數(shù)來控制其處理過程。在編譯過程中,編譯軟件對設(shè)計輸入文件進行邏輯化簡、綜合和優(yōu)化,并適當(dāng)?shù)剡x用一個或多個器件自動進行適配和布局、布線,最后產(chǎn)生編程用的編程文件。編程文件是可供器件編程使用的數(shù)據(jù)文件。
對于陣列型PLD來說,是產(chǎn)生熔絲圖文件,即JEDEC(簡稱JED)文件,它是電子器件工程聯(lián)合會制定的記錄PLD編程數(shù)據(jù)的標(biāo)準(zhǔn)文件格式;對于FPGA來說,是生成位流數(shù)據(jù)文件(BitstreamGeneration)。3)設(shè)計處理
從設(shè)計輸入完成以后到編程文件產(chǎn)生的整4)設(shè)計仿真
設(shè)計仿真過程包括功能仿真和時序仿真,這兩項工作是在設(shè)計輸入和設(shè)計處理過程中同時進行的。
功能仿真是在設(shè)計輸入完成以后的邏輯功能檢證,又稱前仿真。它只驗證邏輯設(shè)計的正確性,而不考慮器件內(nèi)部由于布局布線可能造成的信號時延等因素,對于初步功能檢測非常方便。
時序仿真在選擇好器件并完成布局、布線之后進行,又稱后仿真或定時仿真。時序仿真可以用來分析系統(tǒng)中各部分的時序關(guān)系、點到點的時延預(yù)測以及系統(tǒng)級性能評估等。4)設(shè)計仿真
設(shè)計仿真過程包括功能仿真和時序仿真,5)器件編程
編程是指將編程數(shù)據(jù)放到具體的PLD中去。
對陣列型PLD來說,是將JED文件下載到PLD中去;對FPGA來說,是將位流數(shù)據(jù)文件“配置”到器件中去。
器件編程需要滿足一定的條件,如編程電壓、編程時序和編程算法等。普通的PLD和一次性編程的FPGA需要專用的編程器完成器件的編程工作?;赟RAM的FPGA可以由
EPROM或微處理器進行配置。ISP在系統(tǒng)編程器件則不需要專門的編程器,只要一根下載編程電纜就可以了。5)器件編程
編程是指將編程數(shù)據(jù)放到具體的PLD中本章小結(jié)
PLD是近20年來迅速發(fā)展起來的一種新型大規(guī)模數(shù)字集成電路。它的最大特點是用戶可通過編程設(shè)定其邏輯功能。目前已開發(fā)出的PLD產(chǎn)品有PLA、PAL、GAL、CPLD以及
FPGA等幾種類型。
早期應(yīng)用的PLD有PLA和PAL兩種。它們多采用雙極型、熔絲工藝等制作,電路的基本結(jié)構(gòu)是與-或陣列型。PAL已不常使用,但PAL由于可靠性好、成本較低,所以仍有使用價值。本章小結(jié)
PLD是近20年來迅速GAL是在PAL基礎(chǔ)上產(chǎn)生的新一代PLD。它采用EECMOS工藝生產(chǎn),可用電信號多次擦除和改寫。電路的基本結(jié)構(gòu)仍為與-或陣列型,但為了通用,GAL的輸出電路做成了可編程的OLMC結(jié)構(gòu),能設(shè)置成不同的輸出電路結(jié)構(gòu),這為邏輯設(shè)計提供了很大的靈活性。
PLA、PAL和GAL的集成度都比較低,一般在一千門以下,因此它們又稱為低密度PLD。近代的PLD如CPLD、FPGA等的集成度很高,可達數(shù)千門以上,因此稱為高密度PLD。
CPLD是由若干個可編程邏輯塊、輸入/輸出塊和可編程內(nèi)部互連通道組成的。每個可編程邏輯塊類似于一個PAL或GAL,其傳輸時延是確定的,因此,其工作速度的可預(yù)測性好。為方便用戶使用,大多數(shù)CPLD都做成了在系統(tǒng)可編程器件。CPLD的集成密度低于FPGA。GAL是在PAL基礎(chǔ)上產(chǎn)生的新一代PLD。它采用EECFPGA采用CMOS-SRAM工藝制作,集成密度相當(dāng)大。由可編程邏輯模塊CLB、可編程輸入/輸出模塊IOB、可編程互連資源IR這三種可編程單元和一個陣列分布的存放編程數(shù)據(jù)的靜態(tài)存儲器SRAM組成。電路結(jié)構(gòu)為邏輯單元陣列型,每個邏輯單元是可編程的,可以組成規(guī)模不大的組合或時序電路。單元之間可以靈活地互相連接,沒有與-或陣列結(jié)構(gòu)的局限性。但由于FPGA的編程數(shù)據(jù)是存放在器件內(nèi)部的SRAM中,斷電后這些編程數(shù)據(jù)便會自動丟失,因此,每次開始工作時都需要重新裝載編程數(shù)據(jù)。又由于其內(nèi)部結(jié)構(gòu)與邏輯分割、布局布線、邏輯單元結(jié)構(gòu)、以及互連資源的種類、數(shù)量、分布等密切相關(guān),因此其速度的可預(yù)測性差,這是設(shè)計時需要考慮的一個問題。FPGA采用CMOS-SRAM工藝制作,集成密度相當(dāng)大。各種PLD的編程工作需要在計算機和編程器等硬件部分、專用的編程語言和相應(yīng)的編程軟件等軟件部分的支持下進行。在選擇PLD的具體型號時必須同時考慮到使用的軟、硬件能否支持這種型號PLD的編程工作。各種PLD的編程工作需要在計算機和編程器等硬件部分、專用思考題
1.PLD器件有哪幾種分類方法?按不同的方法劃分PLD器件分別有哪幾種類型?
2.PAL器件的輸出與反饋結(jié)構(gòu)有哪幾種?各有什么特點?
3.GAL和PAL有哪些異同之處?根據(jù)它們各自的特點,你認(rèn)為它們各適用于哪些使用場合?
4.FPGA和CPLD的主要區(qū)別是什么?思考題
1.PLD器件5.比較PLA、PAL、GAL、CPLD及FPGA可編程邏輯器件各自的特點。
6.GAL16V8的OLMC有哪幾種工作模式?各有什么特點?
7.為什么用FPGA設(shè)計的邏輯電路一般還需要配上一個EPROM或EEPROM?5.比較PLA、PAL、GAL、CPLD及FPGA可第八章可編程邏輯器件8.1可編程邏輯器件(PLD)概述8.2可編程邏輯陣列器件(PLA)8.3可編程陣列邏輯器件(PAL)8.4通用陣列邏輯器件(GAL)8.5復(fù)雜可編程邏輯器件(CPLD)8.6現(xiàn)場可編程門陣列器件(FPGA)8.7可編程邏輯器件的編程本章小結(jié)習(xí)題第八章可編程邏輯器件8.1可編程邏輯器件(PLD)8.1可編程邏輯器件(PLD)概述
可編程邏輯器件(ProgrammableLogicDevice,PLD)是在PROM基礎(chǔ)上發(fā)展起來的新型大規(guī)模數(shù)字邏輯集成器件,是現(xiàn)代設(shè)計數(shù)字系統(tǒng)的基礎(chǔ)之一。前面幾章講到的中、小規(guī)模數(shù)字集成電路,如74系列及其改進系列、74HC系列的各種門電路、觸發(fā)器、計數(shù)器等,都屬于通用器件,它們所實現(xiàn)的邏輯功能是固定不變的,任何數(shù)字系統(tǒng)都可使用。用這些通用的MSI、SSI可以組成任何復(fù)雜的數(shù)字系統(tǒng),但系統(tǒng)的體積、重量、功耗會隨之增加,而且可靠性也大為降低。PLD的研制成功有效地解決了上述問題,它是一種半成品性的、集成度很高的通用型邏輯器件,它的功能不再是單一的存儲信息,而是可以通過用戶對器件的編程來實現(xiàn)包括組合邏輯、時序邏輯在內(nèi)的數(shù)字電路系統(tǒng)的各種復(fù)雜邏輯功能。8.1可編程邏輯器件(PLD)概述
可8.1.1PLD的基本結(jié)構(gòu)
我們知道,無論是組合電路還是時序電路,都可以用“與-或”表達式或者真值表、狀態(tài)轉(zhuǎn)移表來表示,因此可以用與門和或門實現(xiàn),PLD的內(nèi)部結(jié)構(gòu)就是建立在此基礎(chǔ)上的。
圖8.1為基于與-或陣列結(jié)構(gòu)的PLD基本結(jié)構(gòu),這類PLD由輸入電路、與陣列、或陣列、輸出電路以及反饋電路組成。如同ROM的陣列結(jié)構(gòu),PLD結(jié)構(gòu)主體是與陣列和或陣列。為了適應(yīng)各種輸入情況,與陣列的輸入端(包括內(nèi)部反饋信號的輸入端)都設(shè)置有輸入緩沖電路,主要作用是使輸入信號有足夠的驅(qū)動能力,并產(chǎn)生一組互補的原變量和反變量。
這些外部輸入變量或內(nèi)部反饋變量根據(jù)地址變量從與門陣列輸入,產(chǎn)生與項;這些與項輸出又成為或門陣列的輸入,最后,或門陣列的輸出就是與-或表達式形成的邏輯函數(shù)。在輸出電路中,有多個按一定規(guī)律排列的寄存器以便輸出時序電路,還有多路選擇器、三態(tài)邏輯輸出門以便控制芯片的操作,它們的輸入來自或陣列的輸出。8.1.1PLD的基本結(jié)構(gòu)
我們知道,無論是組圖8.1基于與-或陣列結(jié)構(gòu)的PLD基本結(jié)構(gòu)圖8.1基于與-或陣列結(jié)構(gòu)的PLD基本結(jié)構(gòu)PLD內(nèi)部設(shè)置有內(nèi)部反饋通路,可把輸出信號反饋到輸入端。這樣,在增加了輸入、輸出緩沖電路、內(nèi)部反饋電路等之后,就可以構(gòu)成不同類型、不同規(guī)模的PLD器件。
由于PLD內(nèi)部電路龐大而規(guī)則、緊湊,用傳統(tǒng)的繪制邏輯圖方法不方便,因而常采用一些簡化的表示方法。圖8.2為PLD輸入緩沖電路的簡化表示。圖8.3為PLD中一個多輸入與門和多輸入或門的簡化表示。豎線為一組輸入信號,用它與橫線相交叉的點的狀態(tài)表示相應(yīng)的輸入信號是否接到了該門的輸入端上。交叉點上一般用符號“×”表示可編程的連接點,可以通過編程將其斷開;用“·”表示是固定連接,不能通過編程改變(不可編程);無任何標(biāo)記,則表示是不連接的。PLD內(nèi)部設(shè)置有內(nèi)部反饋通路,可把輸出信號反饋到輸入端。圖8.3PLD的與陣列、或陣列簡化表示圖8.2PLD的輸入電路簡化表示圖8.3PLD的與陣列、或陣列簡化表示圖8.2PLD8.1.2PLD的分類
早期的PLD屬于低集成密度可編程邏輯器件,也是簡單的可編程邏輯器件(SimplePLD,SPLD)。根據(jù)其可編程情況,可分為可編程只讀存儲器PROM、可編程邏輯陣列
(ProgrammableLogicArray,PLA)、可編程陣列邏輯(ProgrammableArrayLogic,PAL)和通用陣列邏輯(GenericArrayLogic,GAL)4種類型,它們在結(jié)構(gòu)上主要都是一個“與陣列”和一個“或陣列”,不同之處如表8.1所示。8.1.2PLD的分類
早期的PLD屬于低集成表8.1SPLD的分類與結(jié)構(gòu)比較表8.1SPLD的分類與結(jié)構(gòu)比較7.3節(jié)討論的PROM、EPROM和EEPROM等可編程ROM屬于用戶編程的邏輯器件,它們可實現(xiàn)組合邏輯函數(shù),其與陣列(地址譯碼器)是不可編程的,或陣列(存儲矩陣)是可編程的,ROM存儲了組合邏輯的真值表,或者說,ROM按標(biāo)準(zhǔn)的與-或表達式編程。PROM由于其陣列規(guī)模大,速度低,因而它的基本用途是用作存儲器,如軟件固化、顯示查尋等。
可編程邏輯陣列PLA是按照最簡與-或表達式編程的器件,它的與陣列和或陣列都是可編程的。利用率比PROM高得多,使用靈活方便,但其集成度較低,又由于缺少好的支持軟件和編程工具,價格較貴,器件的資源利用率也不夠高,現(xiàn)在已經(jīng)不常使用。7.3節(jié)討論的PROM、EPROM和EEPROM等可編程可編程陣列邏輯PAL是與陣列可編程而或陣列不可編程的器件。PAL具有多種輸出結(jié)構(gòu)形式,但輸出結(jié)構(gòu)固定。應(yīng)用不同的輸出結(jié)構(gòu),需選用不同型號的PAL器件。若存儲單元采用熔絲結(jié)構(gòu),就如同PROM一樣,一旦編程后不能再改寫。
通用陣列邏輯GAL是在PAL基礎(chǔ)上產(chǎn)生的新一代器件。大部分GAL同PAL一樣,有一個可編程的與陣列和一個不可編程的或陣列,僅有GAL39V8的與、或陣列均可編程。但為了通用,GAL在或陣列之后接一個輸出邏輯宏單元(OutputLogicMacrocell,OLMC),為邏輯設(shè)計提供了很大的靈活性。GAL器件采用CMOS工藝,是可多次編程的器件??删幊剃嚵羞壿婸AL是與陣列可編程而或陣列不可編程的器件上述幾種可編程邏輯器件易于編程,對開發(fā)軟件的要求低,在20世紀(jì)80年代得到了廣泛的應(yīng)用,但隨著技術(shù)的發(fā)展,其在集成密度和性能方面的局限性也暴露出來。由于其寄存器、I/O引腳、時鐘資源的數(shù)目有限,沒有內(nèi)部互連,使其設(shè)計的靈活性受到明顯限制。
近代的PLD屬于高集成密度可編程邏輯器件,有復(fù)雜的可編程邏輯器件(ComplexPLD,CPLD)和現(xiàn)場可編程門陣列(FieldProgrammableGateArray,F(xiàn)PGA)兩類。
上述幾種可編程邏輯器件易于編程,對開發(fā)軟件的要求低,在2復(fù)雜的可編程邏輯器件CPLD的每一個邏輯單元類似一個GAL,它利用連續(xù)式的連線結(jié)構(gòu)把各個邏輯單元連接在一起,構(gòu)成一個器件。這類PLD主要產(chǎn)品有Lattice公司的ispLSI系列,Altera公司的MAX5000/7000系列,AMD公司的MACH系列等。CPLD的主要特點是延遲與連接情況無關(guān),工作速度的可預(yù)測性好。但其集成密度低于FPGA。復(fù)雜的可編程邏輯器件CPLD的每一個邏輯單元類似一個GA現(xiàn)場可編程門陣列FPGA器件顧名思義是一種可以現(xiàn)場進行編程的門陣列。20世紀(jì)80年代由Xilinx公司首先提出并制作出世界上第一片F(xiàn)PGA器件。FPGA在結(jié)構(gòu)上由邏輯功能塊排列為陣列,并由可編程的內(nèi)部連線連接這些功能塊來實現(xiàn)一定的邏輯功能。這類PLD主要產(chǎn)品有Xilinx公司的LCA系列,Actel公司的ACT系列和Ti公司的TPC系列等。其特點是集成密度相當(dāng)大,可集成各種邏輯功能的單元,結(jié)構(gòu)靈
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 天然氣開采業(yè)的資源管理考核試卷
- 體育鍛煉中的受傷預(yù)防考核試卷
- 新材料在電力行業(yè)中的應(yīng)用與發(fā)展前景考核試卷
- 印刷技術(shù)在智慧城市建設(shè)與公共交通中的應(yīng)用考核試卷
- 商業(yè)活動泳池租賃協(xié)議
- 城市規(guī)劃廉潔自律招投標(biāo)協(xié)議
- 石英礦建設(shè)土石方施工合同
- 消費者權(quán)益仲裁協(xié)議書范本
- 教育機構(gòu)設(shè)施施工協(xié)議
- 醫(yī)療器械供應(yīng)鏈投標(biāo)書
- 陶瓷托輥企業(yè)標(biāo)準(zhǔn)
- 幼兒園故事課件:《精忠報國》
- GB/T 7744-2023工業(yè)氫氟酸
- 家庭主要成員及重要社會關(guān)系表
- 藝術(shù)系列各專業(yè)職稱資格名稱一覽表
- 防防呆法防錯法-課件
- 參會嘉賓簽到表【范本模板】
- 2023年醫(yī)療事故案例
- 物料樣品承認(rèn)書模板
- 《銀行運營檔案管理規(guī)定》起草說明
- 大課間跑操細(xì)則
評論
0/150
提交評論