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

下載本文檔

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

文檔簡介

1、第七章第七章 可編程邏輯器件可編程邏輯器件計算機科學(xué)與工程系2第七章第七章 可編程邏輯器件可編程邏輯器件n7.1概述n7.2可編程邏輯器件基礎(chǔ)nPLD邏輯表示法n邏輯陣列的PLD表示法應(yīng)用舉例n7.3 通用陣列邏輯GAL 計算機科學(xué)與工程系37.1 概概 述述n可編程專用集成電路ASIC(Application Specific Integrated Circuit) 是面向用戶特定用途或特定功能的大規(guī)模、超大規(guī)模集成電路。n分類:按功能分為數(shù)字的、模擬的、數(shù)字和模擬混和三種。按制造方式分為全定制、半定制ASIC、可編程三種。計算機科學(xué)與工程系4根據(jù)芯片的集成度和結(jié)構(gòu)復(fù)雜度分類根據(jù)芯片的集成度

2、和結(jié)構(gòu)復(fù)雜度分類n簡單可編程邏輯器件SPLD:集成度小于PALCE22V10或 GAL22V10的PLD。n特點是都具有可編程的與陣列、不可編程的或陣列、輸出邏輯宏單元OLMC和輸入輸出邏輯單元IOC。n復(fù)雜可編程邏輯器件CPLD:集成度大于PAL22V10或GAL22V10的PLD都可視為CPLD。nCPLD在集成度和結(jié)構(gòu)上呈現(xiàn)的特點是具有更大的與陣列和或陣列,增加了大量的宏單元和布線資源,觸發(fā)器的數(shù)量明顯增加。計算機科學(xué)與工程系5根據(jù)芯片的集成度和結(jié)構(gòu)復(fù)雜度分類根據(jù)芯片的集成度和結(jié)構(gòu)復(fù)雜度分類n現(xiàn)場可編程邏輯門陣列 FPGA:現(xiàn)場可編程門陣列FPGA是集成度和結(jié)構(gòu)復(fù)雜度最高的可編程ASIC

3、。n運算器、乘法器、數(shù)字濾波器、二維卷積器等具有復(fù)雜算法的邏輯單元和信號處理單元的邏輯設(shè)計可選用FPGA實現(xiàn)。計算機科學(xué)與工程系6按制造技術(shù)和編程方式進行分類按制造技術(shù)和編程方式進行分類n雙極熔絲制造技術(shù)的可編程ASIC(Lattice的PAL系列)nEECMOS制造技術(shù)的可編程ASIC(Lattice的GAL和ispLSI / pLSI)nSRAM制造技術(shù)的可編程ASIC(Xilinx的FPGA,Altera的FPGA)n反熔絲制造技術(shù)的可編程ASIC(Actel的FPGA)計算機科學(xué)與工程系7按制造技術(shù)和編程方式進行分類按制造技術(shù)和編程方式進行分類n雙極熔絲和反熔絲ASIC通常稱為OTP(

4、one time programming)器件而采用EECMOS和SRAM制造技術(shù)的可編程ASIC具有用戶可重復(fù)編程的特性,可以實現(xiàn)電擦電寫。計算機科學(xué)與工程系8按制造技術(shù)和編程方式進行分類按制造技術(shù)和編程方式進行分類n用SRAM技術(shù)制造的FPGA則具有數(shù)據(jù)揮發(fā)性,又稱易失性。n具有揮發(fā)性的FPGA ,當(dāng)系統(tǒng)斷電或掉電后,寫入FPGA中的編程數(shù)據(jù)要丟失。因此,必須把要下載到FPGA的數(shù)據(jù)借用編程器固化到與其聯(lián)用的EPROM或EEPROM中,待重新上電時,芯片將編程數(shù)據(jù)再下載到FPGA中。nFPGA的數(shù)據(jù)揮發(fā)性,決定有些環(huán)境不宜選用。計算機科學(xué)與工程系9可編程可編程ASIC的編程方式的編程方式n

5、可編程ASIC的編程方式有兩種:n采用專用編程器進行編程n在系統(tǒng)編程n甩掉了專用編程器,而且也不用將芯片從電路系統(tǒng)取下,只利用計算機和一組下載電纜就可以在系統(tǒng)編程。nLattice和Xilinx等幾家大公司現(xiàn)在都有在系統(tǒng)可編程ASIC產(chǎn)品。在系統(tǒng)編程方式方便了用戶。 計算機科學(xué)與工程系10可編程可編程ASIC的一般開發(fā)步驟的一般開發(fā)步驟n設(shè)計輸入(entry)n功能模擬(function simulation)n邏輯分割(partitioning)n布局和布線(place and routing) n時間模擬(timing simulation)n寫入下載數(shù)據(jù)(download)計算機科學(xué)與工

6、程系11ASIC開發(fā)步驟流程圖開發(fā)步驟流程圖計算機科學(xué)與工程系12TOPDOWN設(shè)計思想設(shè)計思想n自頂向下(TOPDOWN)設(shè)計首先是從系統(tǒng)級開始入手。把系統(tǒng)分成若干基本單元模塊,然后再把作為基本單元的這些模塊分成下一層的子模塊。圖圖7-2top-down設(shè)計圖設(shè)計圖計算機科學(xué)與工程系13TOPDOWN設(shè)計思想設(shè)計思想n采用TOPDOWN層次結(jié)構(gòu)化設(shè)計方法,設(shè)計者可在一個硬件系統(tǒng)的不同層次的模塊下進行設(shè)計??傮w設(shè)計師可以在上層模塊級別上對其下層模塊設(shè)計者所做的設(shè)計進行行為級模擬驗證。n在TOPDOWN的設(shè)計過程中,劃分每一個層次模塊時要對目標(biāo)模塊做優(yōu)化,在實現(xiàn)模塊時要進行模擬仿真。雖然TOPD

7、OWN的設(shè)計過程是理想的,但它的缺點是得到的最小可實現(xiàn)的物理單元不標(biāo)準(zhǔn),成本可能較高。計算機科學(xué)與工程系14BOTTOMUP設(shè)計思想設(shè)計思想nBOTTOMUP層次結(jié)構(gòu)化設(shè)計是TOPDOWN設(shè)計的逆過程。n它雖然也是從系統(tǒng)級開始的,即從圖7-2中設(shè)計樹的樹根開始,但在層次模塊劃分時,首先考慮的是實現(xiàn)模塊的基本物理單元是否存在,劃分過程必須是從存在的基本單元出發(fā)。計算機科學(xué)與工程系15BOTTOMUP設(shè)計思想設(shè)計思想n設(shè)計樹最末枝上的單元要么是已經(jīng)制造出的單元,要么是已經(jīng)開發(fā)成功的單元,或者是可以買得到的單元。n自底向上(BOTTOMUP)的設(shè)計過程采用的全是標(biāo)準(zhǔn)單元,通常比較經(jīng)濟。n但完全采用自

8、底向上的設(shè)計有時不能完全達到指定的設(shè)計目標(biāo)要求。計算機科學(xué)與工程系16BOTTOMUP設(shè)計思想設(shè)計思想n用可編程ASIC實現(xiàn)一個好的電子系統(tǒng)設(shè)計通常采用TOPDOWN和BOTTOMUP兩種方法的結(jié)合,充分考慮設(shè)計過程中多個指標(biāo)的平衡。計算機科學(xué)與工程系17設(shè)計庫及庫元件設(shè)計庫及庫元件n在層次設(shè)計中所用的模塊有兩種:n預(yù)先設(shè)計好的標(biāo)準(zhǔn)模塊n由用戶設(shè)計的具有特定應(yīng)用功能的模塊n前者一般要存放在EDA開發(fā)系統(tǒng)中各種類型的文件庫之中,后者必須經(jīng)過模型仿真和調(diào)試證明無誤后,建立一個圖形符號存放在用戶的設(shè)計庫中準(zhǔn)備在更上層的設(shè)計中使用。計算機科學(xué)與工程系18設(shè)計庫及庫元件設(shè)計庫及庫元件n設(shè)計庫中比較高級的

9、模塊一般由兩個模型構(gòu)成:n模塊的圖形符號n模塊的功能模型n圖形符號在建立原理圖時使用,功能模型在邏輯模擬仿真時使用。計算機科學(xué)與工程系19設(shè)計庫及庫元件設(shè)計庫及庫元件n模塊的功能模型可以是邏輯圖形式,也可以是VHDL描述的,還可以是真值表或邏輯方程式描述的。n一個已知的圖形符號可以用來代表一個或幾個功能模型,這些模型的功能相同,參數(shù)可以不同。例如2輸入與非門7400、74LS00,74S00,功能相同,但是傳輸延時,功耗不相同。計算機科學(xué)與工程系20畫層次原理圖畫層次原理圖n畫層次原理圖類似于用邏輯門符號畫一個邏輯圖,先將選用的模塊符號和連結(jié)器符號放在畫頁上,然后用連線將它們連結(jié)起來,最后將選

10、用的符號名放在相應(yīng)的模塊及其結(jié)點上。n選用符號名要注意遵循以下規(guī)則:一般把在一個層次原理圖中所使用的模塊的每一個拷貝叫做這個模塊的例化。計算機科學(xué)與工程系21畫層次原理圖畫層次原理圖n為了模擬仿真和建立設(shè)計文件,每個例化都要起一個名字。位全加器模塊位全加器模塊FA4起名為起名為Adder。計算機科學(xué)與工程系22畫層次原理圖畫層次原理圖nAdder的模塊由4個一位全加器子模塊FA1實現(xiàn),這四個子模塊分別起名為add0、add1、add2、add3。計算機科學(xué)與工程系23畫層次原理圖畫層次原理圖n構(gòu)成一位全加器的各個邏輯門及其信號線也要起一個名,它們的名字分別是1、2、A1、A2、A3、R1。計算

11、機科學(xué)與工程系24畫層次原理圖畫層次原理圖n為了調(diào)試或模擬仿真,常常要研究模塊中的一個指定信號。例如,假設(shè)要研究圖7-3中位全加器FA1的工作情況,需要觀察完整系統(tǒng)模擬時的信號x1的值。n因為有個FA1的例化,例化名稱要被合并成如下的信號名,頂層模塊名次層模塊名:信號名。因此,要監(jiān)視全加器add2這個例化中信號線x1的時候,這個信號名應(yīng)該寫成Adderadd2:x1通過上述的書寫規(guī)則,就可指定頂層模塊中adder中的模塊add2的信號x1,這個起名規(guī)則可以擴展到任何一個層次。 計算機科學(xué)與工程系25層次聯(lián)接器符號和總線層次聯(lián)接器符號和總線n為了建立層次原理圖,一個抽象級別的模塊輸入和輸出引腳的

12、名稱要與次層模塊原理圖相應(yīng)信號的名稱保持唯一性或者一致性,如圖7-所示。輸入連接器輸入連接器輸出輸出連接器連接器計算機科學(xué)與工程系26層次聯(lián)接器符號和總線層次聯(lián)接器符號和總線n當(dāng)模塊有多重輸入和輸出信號時,層次的相互連接器畫成如圖7-5所示的總線形式。A(3:0)=A(3) A(2) A(1) A(0)B(3:0)=B(3) B(2) B(1) B(0)S(3:0)=S(3) S(2) S(1) S(0)計算機科學(xué)與工程系27層次聯(lián)接器符號和總線層次聯(lián)接器符號和總線n為了進一步簡化模塊原理圖畫法,有時常常在模塊上定義多重引腳,如圖7-5(b)所示。每個多重引腳代表每個多重引腳代表一組相關(guān)信號的

13、集一組相關(guān)信號的集合,允許把總線直合,允許把總線直接聯(lián)接到模塊的引接聯(lián)接到模塊的引腳上,但是必須清腳上,但是必須清楚每條總線代表的楚每條總線代表的是是4個信號的聯(lián)接。個信號的聯(lián)接。計算機科學(xué)與工程系28層次化設(shè)計的模擬層次化設(shè)計的模擬n采用層次設(shè)計實現(xiàn)的系統(tǒng)必須進行設(shè)計模擬和驗證。一個層次設(shè)計中最底層的元件或模塊必須首先進行模擬仿真,當(dāng)其工作正確之后,再進行高一抽象級別模塊的模擬仿真。最后還要對最上層系統(tǒng)進行模擬仿真,最終完成系統(tǒng)設(shè)計。計算機科學(xué)與工程系29層次化設(shè)計的模擬層次化設(shè)計的模擬n在模擬仿真時,首先要將模塊用相應(yīng)的電路來代替,稱為展平,展平工作一直做到最底層模塊都用基本的邏輯門實現(xiàn)為

14、止。n在展平過程中所有元件及所有的信號線都必須有指定過的名稱。n模擬仿真結(jié)果可以是給出正確的波形,也可以是給出一些時延參數(shù)。圖給出的是用總線表示的波形。計算機科學(xué)與工程系30層次化設(shè)計的模擬層次化設(shè)計的模擬n圖給出的是用總線表示的波形。01111011101100000000S(3:0)01100110011001100000A(3:0)00010001010101010000B(3:0)1210750Time表格形式的模擬值表格形式的模擬值波形表示的模擬值波形表示的模擬值計算機科學(xué)與工程系317.2 可編程邏輯器件基礎(chǔ)可編程邏輯器件基礎(chǔ)nPLD的邏輯表示nPLD中陣列及其陣列交叉點的邏輯表示

15、nPLD中基本邏輯單元的PLD表示n邏輯陣列的PLD表示法應(yīng)用舉例計算機科學(xué)與工程系32PLD的邏輯表示的邏輯表示nPLD中陣列及其陣列交叉點的邏輯表示nPLD中陣列交叉點的邏輯表示nPLD中與陣列和或陣列的邏輯表示計算機科學(xué)與工程系33PLD中陣列交叉點的邏輯表示中陣列交叉點的邏輯表示nPLD邏輯陣列中交叉點的連接方式采用圖7-7所示的幾種邏輯表示。(a)表示實體連結(jié),就是行線和列線在這個交叉點表示實體連結(jié),就是行線和列線在這個交叉點處實在連接,這個交叉點是不可編程點,在交叉點處實在連接,這個交叉點是不可編程點,在交叉點處打上實心點。處打上實心點。計算機科學(xué)與工程系34PLD中陣列交叉點的邏

16、輯表示中陣列交叉點的邏輯表示nPLD邏輯陣列中交叉點的連接方式采用圖7-7所示的幾種邏輯表示。 (b)表示可編程連接。無論表示可編程連接。無論或或 表示該符表示該符號所在行線和列線交叉處是可編程點,具有一號所在行線和列線交叉處是可編程點,具有一個可編程單元。個可編程單元。計算機科學(xué)與工程系35PLD中陣列交叉點的邏輯表示中陣列交叉點的邏輯表示nPLD邏輯陣列中交叉點的連接方式采用圖7-7所示的幾種邏輯表示。 在采用熔絲工藝的在采用熔絲工藝的PLD器件中,器件出廠后用戶器件中,器件出廠后用戶編程之前,所有可編程點處的熔絲都處于接通狀態(tài),編程之前,所有可編程點處的熔絲都處于接通狀態(tài),習(xí)慣上都用習(xí)慣

17、上都用表示熔絲接通,因此可編程點上處處表示熔絲接通,因此可編程點上處處都打都打或或 。計算機科學(xué)與工程系36PLD中陣列交叉點的邏輯表示中陣列交叉點的邏輯表示nPLD邏輯陣列中交叉點的連接方式采用圖7-7所示的幾種邏輯表示。PLD器件被用戶編程后,可編程點上的熔絲有的器件被用戶編程后,可編程點上的熔絲有的燒斷,有的接通。編燒斷,有的接通。編 程后可在編程點上仍打有程后可在編程點上仍打有,這時的這時的表示可編程點被編程后熔絲接通。表示可編程點被編程后熔絲接通。計算機科學(xué)與工程系37PLD中陣列交叉點的邏輯表示中陣列交叉點的邏輯表示nPLD邏輯陣列中交叉點的連接方式采用圖7-7所示的幾種邏輯表示。

18、熔絲燒斷的可編程點上的熔絲燒斷的可編程點上的消失,行線和列線不消失,行線和列線不相接,這種情況用圖相接,這種情況用圖 (c)表示。表示。 計算機科學(xué)與工程系38PLD中與陣列和或陣列的邏輯表示中與陣列和或陣列的邏輯表示n與陣列如圖(a)所示。在二極管與門的各支路在二極管與門的各支路與輸出之間接入熔絲。與輸出之間接入熔絲。熔絲保留的各支路的輸熔絲保留的各支路的輸入為有效輸入,輸出入為有效輸入,輸出F是熔絲保留各支路輸入是熔絲保留各支路輸入的與邏輯函數(shù)。圖的與邏輯函數(shù)。圖 (b)是是PLD表示。表示。圖圖 (a)和圖和圖 (b)是熔絲全部保留的與陣列表示情況。是熔絲全部保留的與陣列表示情況。F(A

19、,B,C)=0。計算機科學(xué)與工程系39PLD中與陣列和或陣列的邏輯表示中與陣列和或陣列的邏輯表示n圖 (c)是燒斷3個熔絲的情況,圖 (d)是圖 (c)的PLD表示。計算機科學(xué)與工程系40PLD中與陣列和或陣列的邏輯表示中與陣列和或陣列的邏輯表示n可編程或陣列,其構(gòu)成原理與可編程的與陣列相同。計算機科學(xué)與工程系41PLD中與陣列和或陣列的邏輯表示中與陣列和或陣列的邏輯表示n可編程或陣列,其構(gòu)成原理與可編程的與陣列相同。計算機科學(xué)與工程系42PLD的邏輯表示的邏輯表示nPLD中基本邏輯單元的PLD表示n輸入緩沖器和反饋緩沖器n輸出極性可編程的異或門n地址選擇可編程的數(shù)據(jù)選擇器n可編程數(shù)據(jù)分配器的

20、邏輯表示n激勵方式可編程的時序記憶單元的PLD表示n PLD中與陣列的缺省表示n雙向輸入/輸出和反饋輸入的邏輯表示計算機科學(xué)與工程系43輸入緩沖器和反饋緩沖器輸入緩沖器和反饋緩沖器n在PLD中有二種特殊的緩沖器,它們是輸入緩沖器和反饋緩沖器,這二種緩沖器有相同的電路構(gòu)成,圖7-10給出它們的PLD表示,它們是單輸入、雙輸出的緩沖器單元,一個是高有效輸出端,即同極性輸出端。另一個是低有效輸出端,即反極性輸出端。計算機科學(xué)與工程系44輸入緩沖器和反饋緩沖器輸入緩沖器和反饋緩沖器n與曾經(jīng)學(xué)過的輸出三態(tài)緩沖器不同,雖然輸出三態(tài)緩沖器也有三個端,但只有一個輸入和一個輸出端,另一個是使能控制端。原則上說,

21、輸出三態(tài)緩沖器有二個輸入端一個輸出端。注意二者之間的區(qū)別。n輸入緩沖器和反饋緩沖器輸出只有0、1兩個邏輯狀態(tài)。而輸出三態(tài)緩沖器除了有0、1兩個邏輯狀態(tài)外,還有一個稱為高阻(Z)的狀態(tài)。計算機科學(xué)與工程系45輸出極性可編程的異或門輸出極性可編程的異或門n在PLD中為了實現(xiàn)輸出極性可編程,常采用圖 (a)所示的異或門結(jié)構(gòu)。PPQ 10當(dāng)熔絲燒斷,異或門輸出極性為低有效,即當(dāng)熔絲燒斷,異或門輸出極性為低有效,即 否則異或門輸出高有效否則異或門輸出高有效Q0=P 0=P。計算機科學(xué)與工程系46輸出極性可編程的異或門輸出極性可編程的異或門n圖 (b)是編程后熔絲保留,輸出極性編程為高有效。圖圖 (c)是

22、編程熔絲燒斷,輸出極性編程為是編程熔絲燒斷,輸出極性編程為低有效。低有效。計算機科學(xué)與工程系47地址選擇可編程的數(shù)據(jù)選擇器地址選擇可編程的數(shù)據(jù)選擇器n地址選擇可編程的數(shù)據(jù)選擇器如圖7-12所示。地址選擇端編程后,若列線與行線相接且接地,其輸?shù)刂愤x擇端編程后,若列線與行線相接且接地,其輸入為邏輯入為邏輯0。否則,列線與行線斷開其輸入為邏輯。否則,列線與行線斷開其輸入為邏輯1。二選一數(shù)二選一數(shù)據(jù)選擇器據(jù)選擇器四選一數(shù)四選一數(shù)據(jù)選擇器據(jù)選擇器根據(jù)編程情況,地址選擇端的輸入有根據(jù)編程情況,地址選擇端的輸入有00,01,10,11四種情況。四種情況。計算機科學(xué)與工程系48可編程數(shù)據(jù)分配器的邏輯表示可編程

23、數(shù)據(jù)分配器的邏輯表示n可編程邏輯分配器如圖7-13所示。圖圖7-13 可編程邏輯分配器可編程邏輯分配器圖中的核心部分是圖中的核心部分是可編程邏輯分配器可編程邏輯分配器可編程熔絲可編程熔絲S1S0的不同編程值,的不同編程值,使乘積項簇分別被分配到使乘積項簇分別被分配到n+1號、號、 n號、號、n-1號、號、n-2號宏單元。號宏單元。FUSE1正常時正常時(默認(rèn)默認(rèn)狀態(tài)狀態(tài))不熔斷,乘積不熔斷,乘積項簇的信號傳不到項簇的信號傳不到n號宏單元。號宏單元。若編程后若編程后FUSE1熔斷,熔斷,乘積項簇信號可以傳乘積項簇信號可以傳到到n號宏單元。號宏單元。如果如果FUSE2熔熔斷,異或門反極斷,異或門反

24、極性傳輸,否則異性傳輸,否則異或門原極性傳輸,或門原極性傳輸,n號宏單元接收號宏單元接收信號與乘積項簇信號與乘積項簇信號同相。信號同相。計算機科學(xué)與工程系49激勵方式可編程的時序記憶單元的激勵方式可編程的時序記憶單元的PLD表示表示n時序記憶單元有二種,即鎖存器和觸發(fā)器。n輸出的狀態(tài)只受輸入激勵信號控制的時序記憶單元是鎖存器。n只有在時鐘信號控制下才能得到受輸入激勵信號決定的相應(yīng)輸出狀態(tài)的時序記憶單元是觸發(fā)器。n二種時序記憶單元的根本區(qū)別是輸出狀態(tài)的變化是否取決于時鐘信號的控制。計算機科學(xué)與工程系50激勵方式可編程的時序記憶單元的激勵方式可編程的時序記憶單元的PLD表示表示n圖7-14是激勵方

25、式可編程的時序記憶單元的PLD表示。通過編程,使通過編程,使R/L端端為為0,Q端的輸出狀態(tài)只端的輸出狀態(tài)只與激勵信號有關(guān)并受與激勵信號有關(guān)并受D決定,圖所示電路為決定,圖所示電路為D鎖存器。鎖存器。通過編程,若使通過編程,若使R/L端為端為1,電路只有在時,電路只有在時鐘脈沖信號鐘脈沖信號CLK的驅(qū)的驅(qū)動下,動下,Q端的狀態(tài)變化端的狀態(tài)變化受受D端的激勵信號決定,端的激勵信號決定,該電路具有該電路具有D觸發(fā)器功觸發(fā)器功能。能。計算機科學(xué)與工程系51PLD中與陣列的缺省表示中與陣列的缺省表示n在PLD器件與陣列中??吹綀D7-15中給出的幾種表示。輸出為Z1的與門4個輸入變量全部被編程后輸入,4

26、個交叉點均畫。因此, 01 BBAAZ計算機科學(xué)與工程系52PLD中與陣列的缺省表示中與陣列的缺省表示02 BBAAZ同理:同理:Z2為為Z1的缺省表示。這時的陣列交的缺省表示。這時的陣列交叉點上均未畫叉點上均未畫,而在與門符號內(nèi)卻畫有,而在與門符號內(nèi)卻畫有, 。計算機科學(xué)與工程系53PLD中與陣列的缺省表示中與陣列的缺省表示n輸出為Z3的與門輸入陣列交叉點上無,與門符號內(nèi)也無,這是浮動狀態(tài)的邏輯表示。浮動輸入狀態(tài)代表與陣列編程后熔絲全部熔斷,4個輸入全都不同與門相接,相當(dāng)與門輸入懸空,與門輸出為高電平,即輸出邏輯“1”計算機科學(xué)與工程系54雙向輸入雙向輸入/輸出和反饋輸入的邏輯表示輸出和反饋

27、輸入的邏輯表示n雙向輸入/輸出和反饋輸入結(jié)構(gòu)是PLD結(jié)構(gòu)的特點之一, 乘積項Pn+1為三態(tài)輸出緩沖器的使能端控制信號。由于各陣列交叉點無一個由于各陣列交叉點無一個,呈懸浮狀態(tài),呈懸浮狀態(tài),n+1號與門輸號與門輸出為邏輯出為邏輯“1”?;蜿嚵休敵?。或陣列輸出的的Sm信號加在信號加在IOm引腳上,引腳上,作為輸出信號。同時,作為輸出信號。同時,Sm信信號又通過反饋緩沖器被反饋號又通過反饋緩沖器被反饋到與陣列。到與陣列。這個輸出帶反饋的組態(tài)方式這個輸出帶反饋的組態(tài)方式采用圖采用圖7-16(b)所示的所示的PLD表表示。示。 1SmSm計算機科學(xué)與工程系55雙向輸入雙向輸入/輸出和反饋輸入的邏輯表輸出

28、和反饋輸入的邏輯表示示n由于各陣列交叉點全打有,所以n+1號與門輸出為邏輯“0”,三態(tài)輸出緩沖器禁止,其輸出為高阻。0高阻高阻加到與加到與陣列上陣列上Feedback=Sm計算機科學(xué)與工程系56邏輯陣列的邏輯陣列的PLD表示法應(yīng)用舉例表示法應(yīng)用舉例n二位串行進位加法器的原理框圖如圖7-18(a)所示。輸入輸入輸入輸入輸入輸入1iii1iii1iii1iiii CBACBACBACBAS輸入輸入輸出輸出1ii1iiiii CBCABAC其陣列表示如圖其陣列表示如圖7-18(b)所示。所示。計算機科學(xué)與工程系57邏輯陣列的邏輯陣列的PLD表示法應(yīng)用舉例表示法應(yīng)用舉例1iii1iii1iii1iii

29、i CBACBACBACBAS1ii1iiiii CBCABAC計算機科學(xué)與工程系587.3 通用陣列邏輯通用陣列邏輯GAL nGAL (Generic Array Logic)的結(jié)構(gòu)及其工作原理nGAL的基本陣列結(jié)構(gòu)nGAL的工作模式和邏輯組態(tài)nGAL16V8的編程nGAL應(yīng)用舉例計算機科學(xué)與工程系597.3 通用陣列邏輯通用陣列邏輯GAL nGAL的結(jié)構(gòu)及其工作原理nGAL的基本陣列結(jié)構(gòu)n通用型GAL16V8的電路結(jié)構(gòu)nGAL16V8的結(jié)構(gòu)控制字nGAL16V8的OLMCnGAL的工作模式和邏輯組態(tài)nGAL16V8的編程計算機科學(xué)與工程系60GAL的基本陣列結(jié)構(gòu)的基本陣列結(jié)構(gòu)n圖7-19給

30、出GAL的基本結(jié)構(gòu)框圖。計算機科學(xué)與工程系61邏輯宏單元邏輯宏單元輸入輸入/輸出口輸出口輸入口輸入口時鐘信時鐘信號輸入號輸入使能控制使能控制可編程與陣列可編程與陣列固定或陣列固定或陣列2,3,4,5,6,7,8,9是是專用輸入引腳專用輸入引腳1,11,12,13,14,17,18,19各引腳各引腳可通過編程組態(tài)設(shè)可通過編程組態(tài)設(shè)為輸入引腳為輸入引腳12,13,14,17,18,19各引腳可通各引腳可通過編程組態(tài)設(shè)為輸過編程組態(tài)設(shè)為輸出引腳,出引腳,15,16專專用輸出引腳用輸出引腳計算機科學(xué)與工程系62GAL16V8的結(jié)構(gòu)控制字的結(jié)構(gòu)控制字nGAL和PAL不同之處是GAL的輸出電路增加了輸出邏

31、輯宏單元OLMC (Output Logic MacroCell)。GAL的輸出電路可編程。nGAL的結(jié)構(gòu)控制字有5種,82位:nSYN:同步控制字1位,對8個宏單元是公共的;nAC0:結(jié)構(gòu)控制字1位,對8個宏單元是公共的;nAC1(n):結(jié)構(gòu)控制字8位,每個宏單元一個;nXOR(n):極性控制字8位,每個宏單元一個;nPTD:乘積項禁止控制字64位,每個與門一個。 計算機科學(xué)與工程系63GAL16V8的的OLMC的內(nèi)部電路構(gòu)成的內(nèi)部電路構(gòu)成nOLMC的內(nèi)部電路構(gòu)成如圖7-21所示。乘積項乘積項多路開多路開關(guān)關(guān)輸出多輸出多路開關(guān)路開關(guān)三態(tài)多路三態(tài)多路開關(guān)開關(guān)反饋多反饋多路開關(guān)路開關(guān)來自來自1號

32、引腳號引腳 計算機科學(xué)與工程系64nAC0和AC1(n)對TSMUX的全部控制作用見表7-1。導(dǎo) 通高 阻OE=1,導(dǎo)通OE=0,高阻用戶編程決定輸出三態(tài)緩沖器狀態(tài)VCC地電平OE第一與項0 00 11 01 1TSMUX輸入信號AC0AC1(n)表表7-1 AC0AC1(n)對對TSMUX控制表控制表計算機科學(xué)與工程系65FMUX的全部控制功能如表的全部控制功能如表7-2所示。所示。Q端信號本級輸出端鄰級輸出地電平反饋緩沖器輸入端信號來源寄存器Q端本級輸出鄰級輸出地電平1 0 1 1 0 10 0FMUX輸入信號AC0 AC1(n) AC1(m)表表7-2 AC0AC1對對FMUX控制表控制

33、表計算機科學(xué)與工程系66 GAL的工作模式和邏輯組態(tài)的工作模式和邏輯組態(tài)nGAL16V8、GAL20V8系列器件的OLMC有寄存器模式、復(fù)雜模式、簡單模式三種工作模式。n用戶通過輸出引腳定義方程確定OLMC的工作模式。輸出引腳定義方程有A型、B型、C型三種。n它們與工作模式的關(guān)系如表7-3所示。計算機科學(xué)與工程系67表表7-3 OLMC的工作模式同引腳定義方程的關(guān)系的工作模式同引腳定義方程的關(guān)系輸出引腳輸出引腳方程類型方程類型輸出引腳輸出引腳定義方程式定義方程式工作模式工作模式A型型B型型C型型引腳名引腳名:=邏輯方程式邏輯方程式引腳名引腳名=邏輯方程式邏輯方程式引腳名引腳名.OE=邏輯方程式

34、邏輯方程式引腳名引腳名=SYN=0,AC0=1寄存器模式寄存器模式SYN=1,AC0=1復(fù)雜模式復(fù)雜模式SYN=1,AC0=0簡單模式簡單模式 GAL的工作模式和邏輯組態(tài)的工作模式和邏輯組態(tài)計算機科學(xué)與工程系68輸出邏輯宏單元三種模式又分為七種邏輸出邏輯宏單元三種模式又分為七種邏輯組態(tài),其隸屬關(guān)系如表輯組態(tài),其隸屬關(guān)系如表7-4所示。所示。 GAL的工作模式和邏輯組態(tài)的工作模式和邏輯組態(tài)表表7-4 三種模式和七種組態(tài)的關(guān)系三種模式和七種組態(tài)的關(guān)系工作模式工作模式邏輯組態(tài)邏輯組態(tài)寄存器模式寄存器模式復(fù)雜模式復(fù)雜模式簡單模式簡單模式寄存器輸出組態(tài)寄存器輸出組態(tài) 組合輸出組態(tài)組合輸出組態(tài)有反饋組合輸

35、出有反饋組合輸出 無反饋組合輸出無反饋組合輸出無反饋組合輸出組態(tài)無反饋組合輸出組態(tài) 本級輸出鄰級輸本級輸出鄰級輸入組態(tài)入組態(tài) 相鄰輸入組態(tài)相鄰輸入組態(tài)計算機科學(xué)與工程系69(a)寄存器模式寄存器輸出組態(tài):寄存器模式寄存器輸出組態(tài):寄存器輸出010功能AC1(n)AC0SYN低有效高有效01輸出極性XOR1腳作為寄存器輸出級腳作為寄存器輸出級的公共時鐘的公共時鐘CK端;端;11腳作為寄存器輸出級的腳作為寄存器輸出級的公共使能公共使能OE端。端。計算機科學(xué)與工程系70(b)寄存器模式組合輸出組態(tài):寄存器模式組合輸出組態(tài):在一個帶寄存器GAL中的組合輸出110功能AC1(n)AC0SYN低有效高有效

36、01輸出極性XOR1和11號總是分別作為時鐘CK端和使能端OE。計算機科學(xué)與工程系71引腳1和11為輸入,所有輸出為組合邏輯輸出。1318號宏單元可構(gòu)成這種組態(tài) (c)復(fù)雜模式有反饋組合輸出組態(tài):復(fù)雜模式有反饋組合輸出組態(tài):低有效高有效01輸出極性XOR所有輸出為組合邏輯111功能AC1(n)AC0SYN計算機科學(xué)與工程系7212,19號宏單元可構(gòu)成這種組態(tài) (d)復(fù)雜模式無反饋組合輸出組態(tài):復(fù)雜模式無反饋組合輸出組態(tài):低有效高有效01輸出極性XOR所有輸出為組合邏輯101功能AC1(n)失效AC0=SYNSYNAC1(m)=SYN1計算機科學(xué)與工程系7315,16號宏單元可構(gòu)成這種組態(tài)(e)

37、簡單模式無反饋組合輸出組態(tài):簡單模式無反饋組合輸出組態(tài):所有輸出為組合邏輯001功能AC1(n)AC0SYN低有效高有效01輸出極性XOR計算機科學(xué)與工程系7415和16號宏單元也能構(gòu)成這種組態(tài) (f)簡單模式本級組合輸出鄰級輸入組態(tài):簡單模式本級組合輸出鄰級輸入組態(tài):所有輸出為組合邏輯001功能AC1(n)AC0SYN低有效高有效01輸出極性XOR計算機科學(xué)與工程系75輸出緩沖器失效除15和16號宏單元外都可構(gòu)成這種組態(tài) (g)簡單模式鄰級輸入組態(tài):簡單模式鄰級輸入組態(tài):所有輸出為組合邏輯101功能AC1(n)AC0SYN無效無效01輸出極性XOR計算機科學(xué)與工程系76 GAL的開發(fā)流程的開

38、發(fā)流程(開發(fā)步驟開發(fā)步驟)n建立用戶源文件n用戶源文件就是設(shè)計者書寫的描述所要實現(xiàn)邏輯電路功能的軟件程序的集合。其軟件程序必須符合某一可編程邏輯設(shè)計語言的語法規(guī)范?,F(xiàn)在廣泛使用的有ABEL-HDL,VHDL,Verilog-VHDL等硬件描述語言。n編譯用戶源文件n要想使建立起來的用戶源文件變成要下載的數(shù)據(jù)文件(JEDEC),必須經(jīng)過若干步的語言處理程序。如語法檢查、邏輯化簡、功能模擬、時間模擬等。經(jīng)過專用軟件處理后,證明用戶建立的源文件正確無誤,最后將其轉(zhuǎn)換成要下載的編程數(shù)據(jù)文件(JEDEC)。把上述的一系列處理過程稱為編譯。計算機科學(xué)與工程系77n器件編程n在專用的軟件系統(tǒng)環(huán)境下,啟動編程

39、器,使計算機和編程器進行通信。將JEDEC數(shù)據(jù)文件下載到編程器上。n選擇目標(biāo)器件的制造廠家、型號進行器件匹配。n將GAL器件插入插座并鎖緊。這一步必須注意芯片引腳序號與插座引腳號要對應(yīng)。否則器件可能被毀壞。n下載編程。即將下載到編程器上的JEDEC數(shù)據(jù)文件寫入到GAL芯片中。 GAL的開發(fā)流程的開發(fā)流程(開發(fā)步驟開發(fā)步驟)計算機科學(xué)與工程系78n實際功能驗證n將芯片從編程器取下,放到實驗電路中或?qū)嶋H工作的系統(tǒng)中進行實際功能驗證,如果功能正確,說明開發(fā)工作結(jié)束。如果功能驗證不正確,則還要返回到第一步重新修改設(shè)計。 GAL的開發(fā)流程的開發(fā)流程(開發(fā)步驟開發(fā)步驟)計算機科學(xué)與工程系79ABEL硬件描

40、述語言硬件描述語言nABEL(Advanced Boolean Equation Language) 是Data I/O公司的注冊商標(biāo)。nABEL程序是包含一些元素的文本文件:n包括程序名和注釋;n標(biāo)識邏輯函數(shù)輸入、輸出的聲明;n用來指定要實現(xiàn)邏輯函數(shù)的語句;n實現(xiàn)邏輯函數(shù)的功能的PLD或其它目標(biāo)器件的類型聲明;n用來指定在一定輸入條件下邏輯函數(shù)期望輸出的測試向量。計算機科學(xué)與工程系80ABEL硬件描述語言硬件描述語言nABEL程序的典型結(jié)構(gòu)module module nametitle string deviceID device devicetype; “器件聲明pin declarati

41、ons “引腳聲明other declarationsequationsequationstest_vectorstest vectorsend module name計算機科學(xué)與工程系81ABEL硬件描述語言硬件描述語言module example1title basic logic gates name device p16v8s; “器件聲明a,b,c,d,e pin19,1,2,3,4; “引腳聲明m,n,p,q,h pin 5,6,7,8,9;i,j pin 11,12;u,v,w,x,y,z pin 18,17,16,15,14,13;X=.X.; “ 常數(shù)聲明,任意態(tài)equati

42、onsu=!a; “非門INVv=b&c; “二輸入與門AND2w=d#e; “二輸入或門OR2x=!(m#n); “二輸入或非門NOR2y=!(p$q); “二輸入異或非門NXOR2z=!(h&i&j); “三輸入與非門NAND3Test_vector()end example1計算機科學(xué)與工程系82ABEL硬件描述語言硬件描述語言n標(biāo)識符與關(guān)鍵字n標(biāo)識符(Identifier)n標(biāo)識符用來標(biāo)識器件、器件管腳或節(jié)點、集合、輸入/輸出信號、常量、宏及變量。n所有這些標(biāo)識符都遵從同樣的命名規(guī)則,具體規(guī)則如下:n標(biāo)識符最多31個字符長,必須以字母或下劃線打頭,區(qū)分大小寫。計

43、算機科學(xué)與工程系83ABEL硬件描述語言硬件描述語言n關(guān)鍵字n關(guān)鍵字是一種特殊的標(biāo)識符,被ABEL視為保留字,不能用來給器件、管腳、節(jié)點、常量、集合、宏定義及信號命名。在源文件中使用關(guān)鍵字時,僅表明這個關(guān)鍵字的作用。一旦關(guān)鍵字被用于錯誤場合,語言處理程序?qū)?biāo)出錯誤。n硬件描述語言中的關(guān)鍵字不區(qū)分大小寫,可以用大寫、小寫或混合字體輸入。計算機科學(xué)與工程系84ABEL硬件描述語言硬件描述語言n下面按字母順序列出ABEL-HDL的關(guān)鍵字。nasync_reset 異步復(fù)位狀態(tài)描述語句ncase-endcase 條件選擇語句ndeclarations 定義段關(guān)鍵字ndevice 器件定義語句*nend

44、 結(jié)束語句*nequations 邏輯方程關(guān)鍵字*nfunctional_block 功能模塊定義語句計算機科學(xué)與工程系85ABEL硬件描述語言硬件描述語言nfuses 熔絲狀態(tài)定義語句ngoto 無條件轉(zhuǎn)移語句nif-then-else 條件轉(zhuǎn)移語句(只能用在狀態(tài)圖中)ninterface 功能模塊接口定義語句nistype 屬性定義語句*nlibrary 庫引用語句nmacro 宏定義語句nmodule 模塊語句*nnode 節(jié)點定義語句計算機科學(xué)與工程系86ABEL硬件描述語言硬件描述語言noptions 控制選項定義語句npin 引腳定義語句*nproperty 特征定義語句nstat

45、e 狀態(tài)描述語句nstate_diagram 狀態(tài)圖關(guān)鍵字nstate_register 狀態(tài)寄存器說明語句nsync_reset 同步復(fù)位狀態(tài)描述語句ntest_vectors 測試向量*ntitle 標(biāo)題語句*計算機科學(xué)與工程系87ABEL硬件描述語言規(guī)則概要硬件描述語言規(guī)則概要 ntruth_table 真值表表頭關(guān)鍵字*nwhen-then-else 條件轉(zhuǎn)移語句(只能用在方程中)nwith-endwith 轉(zhuǎn)移方程語句計算機科學(xué)與工程系88ABEL硬件描述語言硬件描述語言n常量與數(shù)值n常量、定值可用于ABEL-HDL的邏輯設(shè)計。常量值可用在賦值語句、真值表與測試向量中,有時還可賦給標(biāo)

46、識符以表示該標(biāo)識符在整個模塊中都有定值。常量值可為數(shù)值或非數(shù)值型特殊常量。n在ABEL-HDL中的特殊常量輸入時必須在字母兩邊加圓點以表示其為特殊常量,否則特殊常量.C.將被認(rèn)為是標(biāo)識符名C。特殊常量可用大寫或小寫字母。計算機科學(xué)與工程系89ABEL硬件描述語言硬件描述語言nABEL-HDL中所有數(shù)值運算的精度都是128位,因此,有效數(shù)值范圍是02128-1。n數(shù)值可用五種形式中的任一種表示,其中四種是用不同的數(shù)制來表示數(shù)值,第五種是用字母符號表示數(shù)值。 計算機科學(xué)與工程系90ABEL硬件描述語言硬件描述語言n.C. 時鐘輸入電平(按低-高-低變化)n.K. 時鐘輸入電平(按高-低-高變化)n

47、.U. 時鐘上升沿(電平按低-高變化)n.D. 時鐘下降沿(電平按高-低變化)n.F. 浮動輸入或輸出信號n.P. 寄存器預(yù)裝載n.X. 任意態(tài)n.Z. 高阻態(tài)計算機科學(xué)與工程系91ABEL硬件描述語言硬件描述語言n當(dāng)選用四種數(shù)制中的一種非默認(rèn)數(shù)制來表示數(shù)據(jù)時,須在該數(shù)據(jù)前標(biāo)明所用數(shù)制的符號。n表2-5列出了ABEL-HDL支持的四種數(shù)制及它們相應(yīng)的符號,數(shù)制符號可用大寫或小寫輸入。計算機科學(xué)與工程系92ABEL硬件描述語言硬件描述語言表表7-5 ABEL-HDL中數(shù)值的不同進制表示中數(shù)值的不同進制表示數(shù)制名數(shù)制名基數(shù)基數(shù)數(shù)制符號數(shù)制符號二進制二進制2B八進制八進制8O十進制十進制10D十六進

48、制十六進制16H計算機科學(xué)與工程系93ABEL硬件描述語言硬件描述語言n字符串和注釋n字符串是用單引號(撇號)括起的一串ASCII碼字符。字符串用于模塊語句、標(biāo)題語句、控制選項語句和引腳、節(jié)點、屬性的定義中。n若要在字符串中使用單引號,要在它前面加一個反斜線“”。n注釋是使源文件易讀的另一種方式。它常被用來說明源文件本身不易理解之處,注釋不影響源文件的內(nèi)容。計算機科學(xué)與工程系94ABEL硬件描述語言硬件描述語言n可以有兩種方式插入注釋:n注釋以雙引號(“)開始,以另一雙引號或行結(jié)束標(biāo)志結(jié)束。n注釋以雙斜線(/)開始,以行結(jié)束標(biāo)志結(jié)束。計算機科學(xué)與工程系95ABEL硬件描述語言規(guī)則概要硬件描述語

49、言規(guī)則概要 n運算符、表達式和方程nABEL-HDL表達式中可包含常量、信號名等對象。表達式將這些對象進行組合、比較或進行運算,以產(chǎn)生輸出信號。這些運算(如加法、邏輯與)在表達式中用運算符來表示。nABEL-HDL的運算符可分為四種基本類型:邏輯運算符、算術(shù)運算符、關(guān)系運算符與賦值運算符。 計算機科學(xué)與工程系96邏輯運算符邏輯運算符 表表7-6 ABEL-HDL中的邏輯運算符中的邏輯運算符運算符運算符說明說明!非非&與與#或或$異或異或!$異或非異或非計算機科學(xué)與工程系97算術(shù)運算符算術(shù)運算符 運算符運算符舉例舉例說說 明明 A求補碼求補碼(負(fù)數(shù)負(fù)數(shù))AB減法減法+A+B加法加法*A*

50、B乘法乘法/A/B無符號整數(shù)除法無符號整數(shù)除法%A%B取模取模:A/B的余數(shù)的余數(shù)AABA右移右移B位,位,零補缺位零補缺位計算機科學(xué)與工程系98關(guān)系運算符關(guān)系運算符運算符運算符說說 明明= =等等 于于!=不等于不等于小于小于大于大于=大于或等于大于或等于所有關(guān)系運算都是無符號運算。所有關(guān)系運算都是無符號運算。計算機科學(xué)與工程系99賦值運算符賦值運算符 運算符運算符說說 明明=組合型賦值組合型賦值(確定態(tài)確定態(tài)):=寄存器型賦值寄存器型賦值(確定態(tài)確定態(tài))?=組合型賦值組合型賦值(任意態(tài)任意態(tài))?:=寄存器型賦值寄存器型賦值(任意態(tài)任意態(tài))注意:賦值運算符注意:賦值運算符:=和和?:=只能用在引腳到引只能用在引腳到引腳的寄存器方程中。腳的寄存器方程中。在使用詳細(xì)點后綴的寄存器方程中要使用賦在使用詳細(xì)點后綴的寄存器方程中要使用賦值運算符值運算符=和和?=。計算機科學(xué)與工程系100運算符的運算優(yōu)先級運算符的運算優(yōu)先級優(yōu)先級優(yōu)先級運算符運算符說說 明明1取二進制補碼取二進制補碼(負(fù)數(shù)負(fù)數(shù))1!非非2&與與2右移右移2*乘法乘法2/無符號整數(shù)除法無符號整數(shù)除法2%取模取模3+加法加法3減法減法3#或或3$異或異或3!$異或非異或非4=等于等于4!=不等于不等于4小于小于4大于大于4=大于或等于大于或等于若同一表達若同一表達式中有優(yōu)先級式中有優(yō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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論