第10章-可編程邏輯器件_第1頁
第10章-可編程邏輯器件_第2頁
第10章-可編程邏輯器件_第3頁
第10章-可編程邏輯器件_第4頁
第10章-可編程邏輯器件_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第10章*可編程邏輯器件10.1概述10.2可編程邏輯器件的基本結(jié)構10.3可編程邏輯器件10.4通用陣列邏輯(GAL)10.5FPGA10.6在系統(tǒng)可編程邏輯器件isp-PLD本章學習目的和要求

1.了解可編程邏輯器件的基本結(jié)構。

2.重點掌握PAL和GAL的電路結(jié)構及其使用方法。

3.了解FPGA和在系統(tǒng)可編程邏輯器件的結(jié)構和功能。10.1概述

PLD是作為通用型器件生產(chǎn)的,具有批量大、成本低的特點,它的邏輯功能可由用戶通過對器件編程自行設定,且具有體積小、可靠性高的優(yōu)點。有些PLD的集成度很高,足以滿足設計一般數(shù)字系統(tǒng)的需要。這就可由設計人員自行編程將一個數(shù)字系統(tǒng)“集成”在一片PLD上,做成“片上系統(tǒng)(SystemonChip,SOC)”,而不必由芯片制造商設計和制造專用集成芯片。

20世紀80年代以來,PLD發(fā)展非常迅速,它改變了傳統(tǒng)數(shù)字系統(tǒng)采用通用型器件實現(xiàn)系統(tǒng)功能的設計方法,通過定義器件內(nèi)部的邏輯功能和輸入、輸出引出端,將原來由電路板設計完成的大部分工作放在芯片設計中進行,增強了設計的靈活性,減輕了電路圖和電路板設計的工作量和難度,提高了工作效率。PLD已在計算機硬件、工業(yè)控制、現(xiàn)代通信、智能儀表和家用電器等領域得到越來越廣泛的應用。10.2可編程邏輯器件的基本結(jié)構10.2.1PLD的基本結(jié)構PLD種類繁多,但它的基本結(jié)構主要由兩種:與或陣列結(jié)構和查找表結(jié)構。1.與或陣列結(jié)構

與或結(jié)構器件也叫乘積項結(jié)構器件,大部分簡單PLD和CPLD都屬于此類器件。PLD基本結(jié)構

根據(jù)與、或陣列的可編程性,PLD可分為三種基本結(jié)構。①與陣列固定、或陣列可編程型結(jié)構。也稱為PROM型結(jié)構。其中,與陣列為固定的(即不可編程的),且為全譯碼方式。當輸入端數(shù)為n時,與陣列中與門的個數(shù)為2n,隨著輸入端數(shù)的增加,與陣列的規(guī)模會急劇增加。因此,這種結(jié)構的PLD器件的工作速度一般要比其他結(jié)構的低。②與陣列、或陣列均可編程型結(jié)構。也稱為可編程邏輯陣列(PLA)結(jié)構。在PLA型結(jié)構中,與陣列不是全譯碼方式,因而其工作速度比PROM結(jié)構的快。由于其與、或陣列都可編程,設計者在邏輯電路設計時,就不必像使用PROM器件那樣,把邏輯函數(shù)用最小項之和的形式表示,而可以采用函數(shù)的簡化形式。這樣,既有利于PLA器件內(nèi)部資源的充分利用,也給設計帶來了方便。但增加了編程的難度和費用,而未能得到廣泛的應用。③與陣列可編程、或陣列固定型結(jié)構。因為最早采用這種結(jié)構的器件是可編程陣列邏輯(PAL),故又稱為PAL型結(jié)構。這種結(jié)構的與陣列也不是全譯碼方式的,因而它具有PLA型結(jié)構速度快的優(yōu)點。同時,它只有一個陣列(與陣列)是可編程的,比較容易實現(xiàn),費用也低,目前很多PLD器件都采用這種基本結(jié)構。2.查找表(Look-Up-Table,LUT)結(jié)構

查找表結(jié)構用存儲邏輯的存儲單元來實現(xiàn)邏輯運算。查找表器件由查找表組成可編程門,再構成陣列形式。FPGA屬于此類器件。

查找表實際上是一個根據(jù)邏輯真值表或狀態(tài)轉(zhuǎn)移表設計的RAM邏輯函數(shù)發(fā)生器,其工作原理類似于用ROM實現(xiàn)組合邏輯電路。在查找表結(jié)構中,RAM存儲器預先加載要實現(xiàn)的邏輯函數(shù)真值表,輸入變量作為地址用來從RAM存儲器中選擇輸出邏輯值,因此可以實現(xiàn)輸入變量的所有可能的邏輯函數(shù)。10.2.2PLD器件的表示法1.連接方式

PLD電路由與門陣列和或門陣列兩種基本的門陣列組成。門陣列交叉點上連接有三種方式:

硬線連接:硬線連接是固定連接,不能用編程加以改變。

編程接通:是通過編程實現(xiàn)接通的連接。

可編程斷開:通過編程已使該處連接呈斷開狀態(tài)。

PLD表示法2.基本門電路的PLD表示法基本門的PLD表示法3.PROM的PLD表示法

可編程的只讀存儲器實質(zhì)上可以認為是一個可編程邏輯器件,它包含一個固定連接的與門陣列(即全譯碼的地址譯碼器)和一個可編程的或門陣列。PROM的PLD表示法10.3可編程邏輯器件10.3.1PAL的基本結(jié)構PAL的基本結(jié)構

實際應用中的PAL芯片乘積項可有八個,變量數(shù)可達十六個,如型號為PAL16L8可編程陣列邏輯器件。

組合邏輯宜采用這種結(jié)構。圖中的輸出部分采用或非門,因而也稱這種結(jié)構為輸出低電平有效。若輸出采用或門,則稱為高電平有效器件;若將輸出部分的或非門改為互補輸出的或門,則稱為互補輸出器件。10.3.2PAL的輸出和反饋結(jié)構1.專用輸出的基本門陣列結(jié)構專用輸出結(jié)構2.可編程I/O結(jié)構

最上面一個與門所對應的乘積項用于選通三態(tài)緩沖器。如果編程時使此乘積項為“0”,即將該與門的所有輸入項全部接通,則三態(tài)緩沖器保持高阻狀態(tài),這時對應的I/O引腳就可作為輸入腳用,右邊的互補輸出反饋緩沖器作為輸入緩沖器。相反,若編程時使該乘積項為“1”,則三態(tài)緩沖器常通,對應的I/O腳用作輸出,同時該輸出信號經(jīng)過互補輸出反饋緩沖器可反饋到輸人端。一般情況下,三態(tài)輸出緩沖器受乘積項控制,可以輸出“0”,“1”或高阻狀態(tài)。可編程I/0結(jié)構

在系統(tǒng)時鐘(CLOCK)的上升沿,把或門輸出存入D觸發(fā)器,然后通過選通三態(tài)緩沖器把它送到輸出端Q(低電平有效)。同時,D觸發(fā)器的Q端經(jīng)過輸出反饋緩沖器反饋到與陣列,這樣PAL器件就能夠?qū)崿F(xiàn)復雜的邏輯功能。3.寄存(時序)輸出結(jié)構寄存輸出結(jié)構

異或結(jié)構的PAL器件主要是在輸出部分增加一個異或門,如下圖所示,把乘積和分為兩個和項,這兩個和項相異或后,在時鐘的上升沿存入D觸發(fā)器內(nèi)。異或型PAL具有寄存型PAL器件的一切特征,而且利用A+0=A和A+1=A很容易實現(xiàn)有條件的保持操作和取反操作。這種操作為計數(shù)器和狀態(tài)機設計提供了簡易的實現(xiàn)方法。4.異或結(jié)構異或PAL

在異或結(jié)構的基礎上增加了反饋選通電路,如下圖所示,它可以對反饋項Q和輸入項I進行二元邏輯操作,產(chǎn)生4個或門輸出,進而獲得16種可能的邏輯組合,如圖10.3.7所示。這種結(jié)構的PAL對實現(xiàn)快速算術操作(如相加、相減、大于、小于等)很有用。5.算術選通反饋結(jié)構PAL的算術選通反饋結(jié)構

在組成PAL的與陣列、或陣列、輸出單元和I/O端的4部分中,與陣列和或陣列是核心部分;輸出單元的主要功能是決定輸出極性、是否有寄存器作為存儲單元、組織各種輸出并決定反饋途徑;I/O端結(jié)構決定是否一端可作為輸入端、輸出端或可控的I/O端。PAL產(chǎn)生算術邏輯功能

可編程通用陣列邏輯器件GAL是在PAL基礎上發(fā)展起來的新一代邏輯器件,他繼承了PAL的與—或陣列結(jié)構,又利用靈活的輸出邏輯宏單元OLMC來增強輸出功能。10.4通用陣列邏輯(GAL)10.4.1GAL的總體結(jié)構

可編程通用陣列邏輯器件GAL16V8內(nèi)部邏輯結(jié)構及相應管腳分布①8個輸入緩沖器(引腳2~9作為輸入);②8個輸出緩沖器(引腳12~19作為輸出緩沖器的輸出);③8個反饋/輸入緩沖器(將輸出反饋給與門陣列,或?qū)⑤敵龆擞米鳛檩斎攵耍?;④可編程與門陣列(由8×8個與門構成,形成64個乘積項,每個與門有32個輸入,其中16個來自輸入緩沖器,另16個來自反饋/輸入緩沖器);⑤8個輸出邏輯宏單元(OLMC12~19,或門陣列包含其中)。通用可編程陣列邏輯器件GAL16V8內(nèi)部邏輯結(jié)構10.4.2GAL的輸出宏單元(OLMC)GAL輸出邏輯宏單元1.或門陣列

8輸入或門陣列,其中一個輸入受控制;2、異或門

異或門用于控制輸出信號極性,XOR(n)=0輸出低電平有效,XOR(n)=1輸出高電平效,n為輸出引腳號GAL輸出邏輯宏單元3.正邊沿觸發(fā)的D觸發(fā)器

鎖存或門輸出狀態(tài),使GAL

適用于時序邏輯電路;4.四個數(shù)據(jù)選擇器(MUX):①乘積項數(shù)選器PTMUX:用于控制來自與陣列的第一乘積項。當控制字中時,第一乘積項作為或門8個輸入中的一個輸入項,反之,或門只有7個輸入項。GAL輸出邏輯宏單元②三態(tài)數(shù)據(jù)選擇器TSMUX:用于選擇三態(tài)輸出緩沖器的控制信號。當AC0AC1(n)=00時,VCC為控制信號,緩沖器使能;AC0AC1(n)=01時,輸出緩沖器禁止;AC0AC1(n)=11時,第一乘積項為三態(tài)緩沖器的控制信號;AC0AC1(n)=10時,OE作為三態(tài)緩沖器的使能信號。GAL輸出邏輯宏單元③反饋數(shù)據(jù)選擇器FMUX:用于決定反饋信號的來源。受AC0、AC1(n)和AC1(m)控制,m為相鄰宏單元對應I/O引腳號。有四種信號來源:地電平、相鄰OMUX輸出、本級OMUX輸出和本級D觸發(fā)器輸出的互補輸出。GAL輸出邏輯宏單元④輸出數(shù)據(jù)選擇器OMUX:用于決定輸出信號是否鎖存。FPGA的基本特點:(1)采用FPGA設計ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。(2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。(3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。(4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。(5)FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。FPGA(Field-ProgrammableGateArray),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展起來的。10.5FPGA

10.5.1FPGA的基本結(jié)構XC4000系列的FPGA采用CMOSSRAM編程技術,3個可編程模塊和1個用于存放編程數(shù)據(jù)的靜態(tài)存儲器(SRAM)組成。這3個可編程模塊是可編程輸入/輸出模塊(Input/OutputBlock,IOB)、可配置邏輯模塊(ConfigurableLogicBlock,CLB)、和互連資源(InterconnectResource,ICR)。多個CLB組成二維陣列,是實現(xiàn)設計者所需的各種邏輯功能的基本單元,是FPGA的核心。IOB位于器件的四周,提供內(nèi)部邏輯陣列與外部引出線之間的可編程邏輯接口,通過編程可將I/O引腳設置成輸入、輸出和雙向等不同功能。ICR位于器件內(nèi)部的邏輯模塊之間,經(jīng)編程可實現(xiàn)CLB與CLB及CLB與IOB之間的互連。每個可編程邏輯模塊的工作狀態(tài)由SRAM中存儲的數(shù)據(jù)設定。XC4000系列FPGA基本結(jié)構圖10.5.2程序控制的數(shù)據(jù)選擇器CLB是FPGA的重要組成部分,每個CLB由2個觸發(fā)器、3個獨立的4輸入組合邏輯函數(shù)發(fā)生器、程序控制的數(shù)據(jù)選擇器(符號如圖10.5.2所示,只標出了數(shù)據(jù)輸入端和數(shù)據(jù)輸出端,省略了地址輸入端)及其他控制電路組成,共有13個輸入端和4個輸出瑞,可與CLB周圍的ICR相連,其基本組成結(jié)構如圖10.5.3所示。每個CLB實現(xiàn)單一的邏輯功能,多個CLB以陣列的形式分布在器件的中部,由ICR相連,實現(xiàn)復雜的邏輯功能。10.5.2FPGA的模塊功能1.CLB圖10.5.3

XC4000系列FPGA的CLB結(jié)構圖①組合邏輯函數(shù)發(fā)生器CLB中的組合邏輯函數(shù)發(fā)生器為查找表結(jié)構。查找表的工作原理類似于用ROM實現(xiàn)多種組合邏輯函數(shù),其輸入等效于ROM的地址碼,存儲的內(nèi)容為相應的邏輯函數(shù)取值,通過查找地址表,可得到邏輯函數(shù)的輸出。圖10.5.3

XC4000系列FPGA的CLB結(jié)構圖圖10.5.3

XC4000系列FPGA的CLB結(jié)構圖②邊沿D觸發(fā)器

CLB中有兩個邊沿D觸發(fā)器;通過兩個4選1數(shù)據(jù)選擇器可分別選擇DIN、F’、G’和H’之一作為D觸發(fā)器的輸入信號。兩個D觸發(fā)器公用時鐘脈沖,通過兩個2選1數(shù)據(jù)選擇器選擇上升沿或下降沿觸發(fā)。時鐘使能端EC可通過另外的2選1數(shù)據(jù)選擇器選擇來自CLB內(nèi)部的控制信號EC或高電平。R/S控制電路控制觸發(fā)器的異步置位信號S和R。例10.5.1

用XC4000系列器件實現(xiàn)一個4位同步二進制可逆計數(shù)器。解:設M為加法/減法控制信號。當M=0時,為4位同步二進制加法計數(shù)器,其狀態(tài)轉(zhuǎn)移方程為:當M=1時,為4位同步二進制減法計數(shù)器,其狀態(tài)轉(zhuǎn)移方程為:

因一個CLB中含有兩個D觸發(fā)器,并且可以實現(xiàn)兩個獨立的4變量或者5變量組合邏輯函數(shù)。因此,用兩個CLB可以實現(xiàn)一個4位同步二進制可逆計數(shù)器,如圖10.5.4所示。圖10.5.4例題CLB的配置2.IOB圖10.5.6XC4000系列FPGA的IOB結(jié)構圖3.ICRICR由分布在CLB陣列之間的金屬網(wǎng)絡線和陣列交叉點上的可編程開關矩陣(ProgrammableSwitchMatrix,PSM)組成。它可將器件內(nèi)部任意兩點連接起來,并且能將FPGA中數(shù)目很大的CLB和IOB連接成復雜的系統(tǒng)。XC4000系列使用的是分層連線資源結(jié)構,根據(jù)應用的不同,ICR一般提供以下3種連接結(jié)構。①通用單/雙長度線連接。該結(jié)構主要用于CLB之間的連接。在這種結(jié)構中,任意兩點間的連接都要通過開關矩陣。它提供了相鄰CLB之間的快速互連和復雜互連的靈活性。但傳輸信號每通過一個可編程開關矩陣,就增加一次時延。因此,F(xiàn)PGA內(nèi)部時延與器件結(jié)構和邏輯布線等有關,它的信號傳輸時延不可預知。②長線連接。在通用單/雙長度線的旁邊還有3條從陣列的一頭連接到另一頭的線段,稱為水平長線和垂直長線。這些長線不經(jīng)過可編程開關矩陣,信號延遲時間短。長線連接主要用于長距離或關鍵信號的傳輸。③全局連接。在XC4000系列器件中,共有8條全局線,它們貫穿于整個器件,可到達每個CLB。全局連接主要用于傳送一些公共信號,如全局時鐘信號、公用控制信號等。

編程數(shù)據(jù)存放于FPGA片內(nèi)的獨立的靜態(tài)存儲器中,控制FPGA的工作狀態(tài)。由于停電后,靜態(tài)存儲器中的數(shù)據(jù)不能保存,所以,每次接通電源后,必須重新將編程數(shù)據(jù)寫入靜態(tài)存儲器,這個過程稱為裝載。編程數(shù)據(jù)通常存放在一個EPROM中,也可以存放在計算機的存儲器中。整個裝載過程在接通電源后自動開始,或由外加控制信號啟動,在片內(nèi)的時序電路控制下自動完成。10.5.3FPGA的數(shù)據(jù)裝載

在系統(tǒng)可編程邏輯器件(In-SystemProgrammablePLD,通常簡稱為ISP-PLD)是Lattice公司于90年代初首先推出的一種新型可編程邏輯器件。這種器件的最大特點是編程時既不需要使用編程器,也不需要將它從所在系統(tǒng)的電路板上取下,可以在系統(tǒng)內(nèi)進行編程。

Lattice公司成功地將原屬于編程器的寫入/擦除控制電路及高壓脈沖發(fā)生電路集成于PLD芯片中,這樣在編程時就不需要使用編程器了。而且,由于編程時只需外加5V電壓,不必將PLD從系統(tǒng)中取出,從而實現(xiàn)了“在系統(tǒng)”編程。目前生產(chǎn)PLD產(chǎn)品的主要公司都已推出了各自的ISP-PLD產(chǎn)品。10.6在系統(tǒng)可編程邏輯器件isp-PLD10.6.1低密度在系統(tǒng)可編程邏輯器件

低密度ISP-PLD是在GAL電路的基礎上加進了寫入/擦除控制電路而形成的。IspGAL16Z8就屬于這一類。在正常工作狀態(tài)下,附加的控制邏輯和移位寄存器不工作,電路主要部分的邏輯功能與GAL16V8完全相同。ISPGAL16Z8有3種不同的工作方式,即正常、診斷和編程。工作方式由輸入控制信號MODE和SDI指定。圖10.6.1ispGAL16z8的電路結(jié)構框圖

高密度ISP-PLD又稱ispLSI,它的電路結(jié)構比低密度ISP-PLD要復雜得多,功能也更強?,F(xiàn)以ispLSI1032為例介紹高密度ISP-PLD的電路結(jié)構和工作原理。

ispLSI1032的電路結(jié)構,由32個通用邏輯模塊(GenericLogicBlock,簡稱GLB),64個輸入/輸出單元(I/O

Cell,簡稱ICO)、可編程的內(nèi)部連線區(qū)和編程控制電路組成。在全局布線區(qū)的四周,形成了4個結(jié)構相同的大模塊。圖中沒有畫出編程控制電路這部分。各部分之間的關系和實現(xiàn)的功能如圖10.6.2所示。這種結(jié)構形式的器件也叫做CPLD(ComplexprogrammablelogicDevice),即復雜的可編程邏輯器件。10.6.2高密度在系統(tǒng)可編程邏輯器件圖10.6.2

ispLSI1032的邏輯功能劃分框圖圖10.6.3通用邏輯模塊的電路結(jié)構圖10.6.4GLB的其他幾種組態(tài)模式

高速旁路模式中,為了減少傳輸延遲時間,越過了乘積項共享或陣列的輸出與OLMC相接

異或邏輯模式中,乘積項共享或陣列的輸出與OLMC之間又串進了異或門。

異或門的一個輸入來自F0-F3,另一個是來自與邏輯陣列的乘積項。

單乘積項模式中,每個OLMC的輸入取自與邏輯陣列一個單乘積項的輸出。這種結(jié)構模式可以獲得最快的信號傳輸速度。圖10.6.5輸入/輸出單元(IOC)的電路結(jié)構

輸入/輸出單元(IOC)由三態(tài)輸出緩沖器、輸入緩沖器、輸入寄存器/鎖存器和幾個可編程的數(shù)據(jù)選擇器組成。觸發(fā)器有兩種工作方式:當R/L為高電平時,它被設置成邊沿觸發(fā)器;而當R/L為低電平時,它被設置成鎖存器。MUX1用于控制三態(tài)輸出緩沖器的工作狀態(tài),MUX2用于選擇輸出信號的傳送通道,MUX3用來選擇輸出極性。圖10.6.6IOC的各種組態(tài)MUX4用于輸入方式的選擇:在異步方式下,輸入信號直接經(jīng)輸入緩沖器送到全局布線區(qū)的輸入端;在同步輸入方式下,輸入信號加到觸發(fā)器的輸入端,必須等時鐘信號IOCLK到達后才能被存入觸發(fā)器,并經(jīng)過輸入緩沖器加到全局布線區(qū)。MUX5和MUX6用于時鐘信號的來源和極性的選擇。根據(jù)這些數(shù)據(jù)選擇器編程狀態(tài)的組合,得到各種可能的IOC組態(tài)如下圖所示。圖10.6.7ispLSI器件的編程接口ispLSI的編程是在計算機控制下進行的。計算機根據(jù)用戶編寫的源程序運行開發(fā)系統(tǒng)軟件,產(chǎn)生相應的編程數(shù)據(jù)和編程命令,通過五線編程接口與ispLSI連接,如右圖所示。其中是編程使能信號,=1時ispLSI器件為正常工作狀態(tài);=0時所有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論