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

下載本文檔

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

文檔簡(jiǎn)介

第七章可編程邏輯器件2第七章可編程邏輯器件7.1概述7.2可編程邏輯器件基礎(chǔ)PLD邏輯表示法邏輯陣列的PLD表示法應(yīng)用舉例7.3通用陣列邏輯GAL37.1概述可編程專(zhuān)用集成電路ASIC(ApplicationSpecificIntegratedCircuit)是面向用戶(hù)特定用途或特定功能的大規(guī)模、超大規(guī)模集成電路。分類(lèi):按功能分為數(shù)字的、模擬的、數(shù)字和模擬混和三種。按制造方式分為全定制、半定制ASIC、可編程三種。4根據(jù)芯片的集成度和結(jié)構(gòu)復(fù)雜度分類(lèi)簡(jiǎn)單可編程邏輯器件SPLD:集成度小于PALCE22V10或GAL22V10的PLD。特點(diǎn)是都具有可編程的與陣列、不可編程的或陣列、輸出邏輯宏單元OLMC和輸入輸出邏輯單元IOC。復(fù)雜可編程邏輯器件CPLD:集成度大于PAL22V10或GAL22V10的PLD都可視為CPLD。CPLD在集成度和結(jié)構(gòu)上呈現(xiàn)的特點(diǎn)是具有更大的與陣列和或陣列,增加了大量的宏單元和布線資源,觸發(fā)器的數(shù)量明顯增加。5根據(jù)芯片的集成度和結(jié)構(gòu)復(fù)雜度分類(lèi)現(xiàn)場(chǎng)可編程邏輯門(mén)陣列FPGA:現(xiàn)場(chǎng)可編程門(mén)陣列FPGA是集成度和結(jié)構(gòu)復(fù)雜度最高的可編程ASIC。運(yùn)算器、乘法器、數(shù)字濾波器、二維卷積器等具有復(fù)雜算法的邏輯單元和信號(hào)處理單元的邏輯設(shè)計(jì)可選用FPGA實(shí)現(xiàn)。6按制造技術(shù)和編程方式進(jìn)行分類(lèi)雙極熔絲制造技術(shù)的可編程ASIC(Lattice的PAL系列)EECMOS制造技術(shù)的可編程ASIC(Lattice的GAL和ispLSI/pLSI)SRAM制造技術(shù)的可編程ASIC(Xilinx的FPGA,Altera的FPGA)反熔絲制造技術(shù)的可編程ASIC(Actel的FPGA)7按制造技術(shù)和編程方式進(jìn)行分類(lèi)雙極熔絲和反熔絲ASIC通常稱(chēng)為OTP(onetimeprogramming)器件而采用EECMOS和SRAM制造技術(shù)的可編程ASIC具有用戶(hù)可重復(fù)編程的特性,可以實(shí)現(xiàn)電擦電寫(xiě)。8按制造技術(shù)和編程方式進(jìn)行分類(lèi)用SRAM技術(shù)制造的FPGA則具有數(shù)據(jù)揮發(fā)性,又稱(chēng)易失性。具有揮發(fā)性的FPGA,當(dāng)系統(tǒng)斷電或掉電后,寫(xiě)入FPGA中的編程數(shù)據(jù)要丟失。因此,必須把要下載到FPGA的數(shù)據(jù)借用編程器固化到與其聯(lián)用的EPROM或EEPROM中,待重新上電時(shí),芯片將編程數(shù)據(jù)再下載到FPGA中。FPGA的數(shù)據(jù)揮發(fā)性,決定有些環(huán)境不宜選用。9可編程ASIC的編程方式可編程ASIC的編程方式有兩種:采用專(zhuān)用編程器進(jìn)行編程在系統(tǒng)編程甩掉了專(zhuān)用編程器,而且也不用將芯片從電路系統(tǒng)取下,只利用計(jì)算機(jī)和一組下載電纜就可以在系統(tǒng)編程。Lattice和Xilinx等幾家大公司現(xiàn)在都有在系統(tǒng)可編程ASIC產(chǎn)品。在系統(tǒng)編程方式方便了用戶(hù)。

10可編程ASIC的一般開(kāi)發(fā)步驟設(shè)計(jì)輸入(entry)功能模擬(functionsimulation)邏輯分割(partitioning)布局和布線(placeandrouting)時(shí)間模擬(timingsimulation)寫(xiě)入下載數(shù)據(jù)(download)11ASIC開(kāi)發(fā)步驟流程圖12TOP—DOWN設(shè)計(jì)思想自頂向下(TOP—DOWN)設(shè)計(jì)首先是從系統(tǒng)級(jí)開(kāi)始入手。把系統(tǒng)分成若干基本單元模塊,然后再把作為基本單元的這些模塊分成下一層的子模塊。圖7-2top-down設(shè)計(jì)圖13TOP—DOWN設(shè)計(jì)思想采用TOP—DOWN層次結(jié)構(gòu)化設(shè)計(jì)方法,設(shè)計(jì)者可在一個(gè)硬件系統(tǒng)的不同層次的模塊下進(jìn)行設(shè)計(jì)??傮w設(shè)計(jì)師可以在上層模塊級(jí)別上對(duì)其下層模塊設(shè)計(jì)者所做的設(shè)計(jì)進(jìn)行行為級(jí)模擬驗(yàn)證。在TOP—DOWN的設(shè)計(jì)過(guò)程中,劃分每一個(gè)層次模塊時(shí)要對(duì)目標(biāo)模塊做優(yōu)化,在實(shí)現(xiàn)模塊時(shí)要進(jìn)行模擬仿真。雖然TOP—DOWN的設(shè)計(jì)過(guò)程是理想的,但它的缺點(diǎn)是得到的最小可實(shí)現(xiàn)的物理單元不標(biāo)準(zhǔn),成本可能較高。14BOTTOM—UP設(shè)計(jì)思想BOTTOM—UP層次結(jié)構(gòu)化設(shè)計(jì)是TOP—DOWN設(shè)計(jì)的逆過(guò)程。它雖然也是從系統(tǒng)級(jí)開(kāi)始的,即從圖7-2中設(shè)計(jì)樹(shù)的樹(shù)根開(kāi)始,但在層次模塊劃分時(shí),首先考慮的是實(shí)現(xiàn)模塊的基本物理單元是否存在,劃分過(guò)程必須是從存在的基本單元出發(fā)。15BOTTOM—UP設(shè)計(jì)思想設(shè)計(jì)樹(shù)最末枝上的單元要么是已經(jīng)制造出的單元,要么是已經(jīng)開(kāi)發(fā)成功的單元,或者是可以買(mǎi)得到的單元。自底向上(BOTTOM—UP)的設(shè)計(jì)過(guò)程采用的全是標(biāo)準(zhǔn)單元,通常比較經(jīng)濟(jì)。但完全采用自底向上的設(shè)計(jì)有時(shí)不能完全達(dá)到指定的設(shè)計(jì)目標(biāo)要求。16BOTTOM—UP設(shè)計(jì)思想用可編程ASIC實(shí)現(xiàn)一個(gè)好的電子系統(tǒng)設(shè)計(jì)通常采用TOP—DOWN和BOTTOM—UP兩種方法的結(jié)合,充分考慮設(shè)計(jì)過(guò)程中多個(gè)指標(biāo)的平衡。17設(shè)計(jì)庫(kù)及庫(kù)元件在層次設(shè)計(jì)中所用的模塊有兩種:預(yù)先設(shè)計(jì)好的標(biāo)準(zhǔn)模塊由用戶(hù)設(shè)計(jì)的具有特定應(yīng)用功能的模塊前者一般要存放在EDA開(kāi)發(fā)系統(tǒng)中各種類(lèi)型的文件庫(kù)之中,后者必須經(jīng)過(guò)模型仿真和調(diào)試證明無(wú)誤后,建立一個(gè)圖形符號(hào)存放在用戶(hù)的設(shè)計(jì)庫(kù)中準(zhǔn)備在更上層的設(shè)計(jì)中使用。18設(shè)計(jì)庫(kù)及庫(kù)元件設(shè)計(jì)庫(kù)中比較高級(jí)的模塊一般由兩個(gè)模型構(gòu)成:模塊的圖形符號(hào)模塊的功能模型圖形符號(hào)在建立原理圖時(shí)使用,功能模型在邏輯模擬仿真時(shí)使用。19設(shè)計(jì)庫(kù)及庫(kù)元件模塊的功能模型可以是邏輯圖形式,也可以是VHDL描述的,還可以是真值表或邏輯方程式描述的。一個(gè)已知的圖形符號(hào)可以用來(lái)代表一個(gè)或幾個(gè)功能模型,這些模型的功能相同,參數(shù)可以不同。例如2輸入與非門(mén)7400、74LS00,74S00,功能相同,但是傳輸延時(shí),功耗不相同。20畫(huà)層次原理圖畫(huà)層次原理圖類(lèi)似于用邏輯門(mén)符號(hào)畫(huà)一個(gè)邏輯圖,先將選用的模塊符號(hào)和連結(jié)器符號(hào)放在畫(huà)頁(yè)上,然后用連線將它們連結(jié)起來(lái),最后將選用的符號(hào)名放在相應(yīng)的模塊及其結(jié)點(diǎn)上。選用符號(hào)名要注意遵循以下規(guī)則:一般把在一個(gè)層次原理圖中所使用的模塊的每一個(gè)拷貝叫做這個(gè)模塊的例化。21畫(huà)層次原理圖為了模擬仿真和建立設(shè)計(jì)文件,每個(gè)例化都要起一個(gè)名字。4位全加器模塊FA4起名為Adder。22畫(huà)層次原理圖Adder的模塊由4個(gè)一位全加器子模塊FA1實(shí)現(xiàn),這四個(gè)子模塊分別起名為add0、add1、add2、add3。23畫(huà)層次原理圖構(gòu)成一位全加器的各個(gè)邏輯門(mén)及其信號(hào)線也要起一個(gè)名,它們的名字分別是X1、X2、A1、A2、A3、R1。24畫(huà)層次原理圖為了調(diào)試或模擬仿真,常常要研究模塊中的一個(gè)指定信號(hào)。例如,假設(shè)要研究圖7-3中1位全加器FA1的工作情況,需要觀察完整系統(tǒng)模擬時(shí)的信號(hào)x1的值。因?yàn)橛校磦€(gè)FA1的例化,例化名稱(chēng)要被合并成如下的信號(hào)名,頂層模塊名/次層模塊名:信號(hào)名。因此,要監(jiān)視全加器add2這個(gè)例化中信號(hào)線x1的時(shí)候,這個(gè)信號(hào)名應(yīng)該寫(xiě)成Adder/add2:x1通過(guò)上述的書(shū)寫(xiě)規(guī)則,就可指定頂層模塊中adder中的模塊add2的信號(hào)x1,這個(gè)起名規(guī)則可以擴(kuò)展到任何一個(gè)層次。25層次聯(lián)接器符號(hào)和總線為了建立層次原理圖,一個(gè)抽象級(jí)別的模塊輸入和輸出引腳的名稱(chēng)要與次層模塊原理圖相應(yīng)信號(hào)的名稱(chēng)保持唯一性或者一致性,如圖7-4所示。輸入連接器輸出連接器26層次聯(lián)接器符號(hào)和總線當(dāng)模塊有多重輸入和輸出信號(hào)時(shí),層次的相互連接器畫(huà)成如圖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)}27層次聯(lián)接器符號(hào)和總線為了進(jìn)一步簡(jiǎn)化模塊原理圖畫(huà)法,有時(shí)常常在模塊上定義多重引腳,如圖7-5(b)所示。每個(gè)多重引腳代表一組相關(guān)信號(hào)的集合,允許把總線直接聯(lián)接到模塊的引腳上,但是必須清楚每條總線代表的是4個(gè)信號(hào)的聯(lián)接。28層次化設(shè)計(jì)的模擬采用層次設(shè)計(jì)實(shí)現(xiàn)的系統(tǒng)必須進(jìn)行設(shè)計(jì)模擬和驗(yàn)證。一個(gè)層次設(shè)計(jì)中最底層的元件或模塊必須首先進(jìn)行模擬仿真,當(dāng)其工作正確之后,再進(jìn)行高一抽象級(jí)別模塊的模擬仿真。最后還要對(duì)最上層系統(tǒng)進(jìn)行模擬仿真,最終完成系統(tǒng)設(shè)計(jì)。29層次化設(shè)計(jì)的模擬在模擬仿真時(shí),首先要將模塊用相應(yīng)的電路來(lái)代替,稱(chēng)為展平,展平工作一直做到最底層模塊都用基本的邏輯門(mén)實(shí)現(xiàn)為止。在展平過(guò)程中所有元件及所有的信號(hào)線都必須有指定過(guò)的名稱(chēng)。模擬仿真結(jié)果可以是給出正確的波形,也可以是給出一些時(shí)延參數(shù)。圖6給出的是用總線表示的波形。30層次化設(shè)計(jì)的模擬圖6給出的是用總線表示的波形。01111011101100000000S(3:0)01100110011001100000A(3:0)00010001010101010000B(3:0)1210750Time表格形式的模擬值波形表示的模擬值317.2可編程邏輯器件基礎(chǔ)⒈P(pán)LD的邏輯表示⑴PLD中陣列及其陣列交叉點(diǎn)的邏輯表示⑵PLD中基本邏輯單元的PLD表示⒉邏輯陣列的PLD表示法應(yīng)用舉例32⒈P(pán)LD的邏輯表示⑴PLD中陣列及其陣列交叉點(diǎn)的邏輯表示①PLD中陣列交叉點(diǎn)的邏輯表示②PLD中與陣列和或陣列的邏輯表示33①PLD中陣列交叉點(diǎn)的邏輯表示PLD邏輯陣列中交叉點(diǎn)的連接方式采用圖7-7所示的幾種邏輯表示。(a)表示實(shí)體連結(jié),就是行線和列線在這個(gè)交叉點(diǎn)處實(shí)在連接,這個(gè)交叉點(diǎn)是不可編程點(diǎn),在交叉點(diǎn)處打上實(shí)心點(diǎn)。34①PLD中陣列交叉點(diǎn)的邏輯表示PLD邏輯陣列中交叉點(diǎn)的連接方式采用圖7-7所示的幾種邏輯表示。(b)表示可編程連接。無(wú)論×或表示該符號(hào)所在行線和列線交叉處是可編程點(diǎn),具有一個(gè)可編程單元。35①PLD中陣列交叉點(diǎn)的邏輯表示PLD邏輯陣列中交叉點(diǎn)的連接方式采用圖7-7所示的幾種邏輯表示。在采用熔絲工藝的PLD器件中,器件出廠后用戶(hù)編程之前,所有可編程點(diǎn)處的熔絲都處于接通狀態(tài),習(xí)慣上都用×表示熔絲接通,因此可編程點(diǎn)上處處都打×或。36①PLD中陣列交叉點(diǎn)的邏輯表示PLD邏輯陣列中交叉點(diǎn)的連接方式采用圖7-7所示的幾種邏輯表示。PLD器件被用戶(hù)編程后,可編程點(diǎn)上的熔絲有的燒斷,有的接通。編程后可在編程點(diǎn)上仍打有×,這時(shí)的×表示可編程點(diǎn)被編程后熔絲接通。37①PLD中陣列交叉點(diǎn)的邏輯表示PLD邏輯陣列中交叉點(diǎn)的連接方式采用圖7-7所示的幾種邏輯表示。熔絲燒斷的可編程點(diǎn)上的×消失,行線和列線不相接,這種情況用圖(c)表示。

38②PLD中與陣列和或陣列的邏輯表示與陣列如圖(a)所示。在二極管與門(mén)的各支路與輸出之間接入熔絲。熔絲保留的各支路的輸入為有效輸入,輸出F是熔絲保留各支路輸入的與邏輯函數(shù)。圖(b)是PLD表示。圖(a)和圖(b)是熔絲全部保留的與陣列表示情況。F(A,B,C)=0。39②PLD中與陣列和或陣列的邏輯表示圖(c)是燒斷3個(gè)熔絲的情況,圖(d)是圖(c)的PLD表示。40②PLD中與陣列和或陣列的邏輯表示可編程或陣列,其構(gòu)成原理與可編程的與陣列相同。41②PLD中與陣列和或陣列的邏輯表示可編程或陣列,其構(gòu)成原理與可編程的與陣列相同。42⒈P(pán)LD的邏輯表示⑵PLD中基本邏輯單元的PLD表示①輸入緩沖器和反饋緩沖器②輸出極性可編程的異或門(mén)③地址選擇可編程的數(shù)據(jù)選擇器④可編程數(shù)據(jù)分配器的邏輯表示⑤激勵(lì)方式可編程的時(shí)序記憶單元的PLD表示⑥PLD中與陣列的缺省表示⑦雙向輸入/輸出和反饋輸入的邏輯表示43①輸入緩沖器和反饋緩沖器在PLD中有二種特殊的緩沖器,它們是輸入緩沖器和反饋緩沖器,這二種緩沖器有相同的電路構(gòu)成,圖7-10給出它們的PLD表示,它們是單輸入、雙輸出的緩沖器單元,一個(gè)是高有效輸出端,即同極性輸出端。另一個(gè)是低有效輸出端,即反極性輸出端。44①輸入緩沖器和反饋緩沖器與曾經(jīng)學(xué)過(guò)的輸出三態(tài)緩沖器不同,雖然輸出三態(tài)緩沖器也有三個(gè)端,但只有一個(gè)輸入和一個(gè)輸出端,另一個(gè)是使能控制端。原則上說(shuō),輸出三態(tài)緩沖器有二個(gè)輸入端一個(gè)輸出端。注意二者之間的區(qū)別。輸入緩沖器和反饋緩沖器輸出只有0、1兩個(gè)邏輯狀態(tài)。而輸出三態(tài)緩沖器除了有0、1兩個(gè)邏輯狀態(tài)外,還有一個(gè)稱(chēng)為高阻(Z)的狀態(tài)。45②輸出極性可編程的異或門(mén)在PLD中為了實(shí)現(xiàn)輸出極性可編程,常采用圖(a)所示的異或門(mén)結(jié)構(gòu)。當(dāng)熔絲燒斷,異或門(mén)輸出極性為低有效,即

否則異或門(mén)輸出高有效Q0=P⊕0=P。46②輸出極性可編程的異或門(mén)圖(b)是編程后熔絲保留,輸出極性編程為高有效。圖(c)是編程熔絲燒斷,輸出極性編程為低有效。47③地址選擇可編程的數(shù)據(jù)選擇器地址選擇可編程的數(shù)據(jù)選擇器如圖7-12所示。地址選擇端編程后,若列線與行線相接且接地,其輸入為邏輯0。否則,列線與行線斷開(kāi)其輸入為邏輯1。二選一數(shù)據(jù)選擇器四選一數(shù)據(jù)選擇器根據(jù)編程情況,地址選擇端的輸入有00,01,10,11四種情況。48④可編程數(shù)據(jù)分配器的邏輯表示可編程邏輯分配器如圖7-13所示。圖7-13可編程邏輯分配器圖中的核心部分是可編程邏輯分配器可編程熔絲S1S0的不同編程值,使乘積項(xiàng)簇分別被分配到n+1號(hào)、n號(hào)、n-1號(hào)、n-2號(hào)宏單元。FUSE1正常時(shí)(默認(rèn)狀態(tài))不熔斷,乘積項(xiàng)簇的信號(hào)傳不到n號(hào)宏單元。若編程后FUSE1熔斷,乘積項(xiàng)簇信號(hào)可以傳到n號(hào)宏單元。如果FUSE2熔斷,異或門(mén)反極性傳輸,否則異或門(mén)原極性傳輸,n號(hào)宏單元接收信號(hào)與乘積項(xiàng)簇信號(hào)同相。49⑤激勵(lì)方式可編程的時(shí)序記憶單元的PLD表示時(shí)序記憶單元有二種,即鎖存器和觸發(fā)器。輸出的狀態(tài)只受輸入激勵(lì)信號(hào)控制的時(shí)序記憶單元是鎖存器。只有在時(shí)鐘信號(hào)控制下才能得到受輸入激勵(lì)信號(hào)決定的相應(yīng)輸出狀態(tài)的時(shí)序記憶單元是觸發(fā)器。二種時(shí)序記憶單元的根本區(qū)別是輸出狀態(tài)的變化是否取決于時(shí)鐘信號(hào)的控制。50⑤激勵(lì)方式可編程的時(shí)序記憶單元的PLD表示圖7-14是激勵(lì)方式可編程的時(shí)序記憶單元的PLD表示。通過(guò)編程,使R/L端為0,Q端的輸出狀態(tài)只與激勵(lì)信號(hào)有關(guān)并受D決定,圖所示電路為D鎖存器。通過(guò)編程,若使R/L端為1,電路只有在時(shí)鐘脈沖信號(hào)CLK的驅(qū)動(dòng)下,Q端的狀態(tài)變化受D端的激勵(lì)信號(hào)決定,該電路具有D觸發(fā)器功能。51⑥PLD中與陣列的缺省表示在PLD器件與陣列中常看到圖7-15中給出的幾種表示。輸出為Z1的與門(mén)4個(gè)輸入變量全部被編程后輸入,4個(gè)交叉點(diǎn)均畫(huà)×。因此,52⑥PLD中與陣列的缺省表示同理:Z2為Z1的缺省表示。這時(shí)的陣列交叉點(diǎn)上均未畫(huà)×,而在與門(mén)符號(hào)內(nèi)卻畫(huà)有×,。53⑥PLD中與陣列的缺省表示輸出為Z3的與門(mén)輸入陣列交叉點(diǎn)上無(wú)×,與門(mén)符號(hào)內(nèi)也無(wú)×,這是浮動(dòng)狀態(tài)的邏輯表示。浮動(dòng)輸入狀態(tài)代表與陣列編程后熔絲全部熔斷,4個(gè)輸入全都不同與門(mén)相接,相當(dāng)與門(mén)輸入懸空,與門(mén)輸出為高電平,即輸出邏輯“1”54⑦雙向輸入/輸出和反饋輸入的邏輯表示雙向輸入/輸出和反饋輸入結(jié)構(gòu)是PLD結(jié)構(gòu)的特點(diǎn)之一,乘積項(xiàng)Pn+1為三態(tài)輸出緩沖器的使能端控制信號(hào)。由于各陣列交叉點(diǎn)無(wú)一個(gè)×,呈懸浮狀態(tài),n+1號(hào)與門(mén)輸出為邏輯“1”。或陣列輸出的Sm信號(hào)加在IOm引腳上,作為輸出信號(hào)。同時(shí),Sm信號(hào)又通過(guò)反饋緩沖器被反饋到與陣列。這個(gè)輸出帶反饋的組態(tài)方式采用圖7-16(b)所示的PLD表示。

1SmSm55⑦雙向輸入/輸出和反饋輸入的邏輯表示由于各陣列交叉點(diǎn)全打有×,所以n+1號(hào)與門(mén)輸出為邏輯“0”,三態(tài)輸出緩沖器禁止,其輸出為高阻。0高阻×加到與陣列上Feedback=Sm56⒉邏輯陣列的PLD表示法應(yīng)用舉例二位串行進(jìn)位加法器的原理框圖如圖7-18(a)所示。輸入輸入輸入輸入輸出其陣列表示如圖7-18(b)所示。57⒉邏輯陣列的PLD表示法應(yīng)用舉例×587.3通用陣列邏輯GAL⒈GAL(GenericArrayLogic)的結(jié)構(gòu)及其工作原理⑴GAL的基本陣列結(jié)構(gòu)⑵GAL的工作模式和邏輯組態(tài)⑶GAL16V8的編程⒉GAL應(yīng)用舉例597.3通用陣列邏輯GAL⒈GAL的結(jié)構(gòu)及其工作原理⑴GAL的基本陣列結(jié)構(gòu)通用型GAL16V8的電路結(jié)構(gòu)GAL16V8的結(jié)構(gòu)控制字GAL16V8的OLMC⑵GAL的工作模式和邏輯組態(tài)⑶GAL16V8的編程60⑴GAL的基本陣列結(jié)構(gòu)圖7-19給出GAL的基本結(jié)構(gòu)框圖。61邏輯宏單元輸入/輸出口輸入口時(shí)鐘信號(hào)輸入使能控制可編程與陣列固定或陣列2,3,4,5,6,7,8,9是專(zhuān)用輸入引腳1,11,12,13,14,17,18,19各引腳可通過(guò)編程組態(tài)設(shè)為輸入引腳12,13,14,17,18,19各引腳可通過(guò)編程組態(tài)設(shè)為輸出引腳,15,16專(zhuān)用輸出引腳62GAL16V8的結(jié)構(gòu)控制字GAL和PAL不同之處是GAL的輸出電路增加了輸出邏輯宏單元OLMC(OutputLogicMacroCell)。GAL的輸出電路可編程。GAL的結(jié)構(gòu)控制字有5種,82位:SYN:同步控制字1位,對(duì)8個(gè)宏單元是公共的;AC0:結(jié)構(gòu)控制字1位,對(duì)8個(gè)宏單元是公共的;AC1(n):結(jié)構(gòu)控制字8位,每個(gè)宏單元一個(gè);XOR(n):極性控制字8位,每個(gè)宏單元一個(gè);PTD:乘積項(xiàng)禁止控制字64位,每個(gè)與門(mén)一個(gè)。63GAL16V8的OLMC的內(nèi)部電路構(gòu)成OLMC的內(nèi)部電路構(gòu)成如圖7-21所示。乘積項(xiàng)多路開(kāi)關(guān)輸出多路開(kāi)關(guān)三態(tài)多路開(kāi)關(guān)反饋多路開(kāi)關(guān)來(lái)自1號(hào)引腳64AC0和AC1(n)對(duì)TSMUX的全部控制作用見(jiàn)表7-1。導(dǎo)通高阻OE=1,導(dǎo)通OE=0,高阻用戶(hù)編程決定輸出三態(tài)緩沖器狀態(tài)VCC地電平OE第一與項(xiàng)00011011TSMUX輸入信號(hào)AC0AC1(n)表7-1AC0AC1(n)對(duì)TSMUX控制表65FMUX的全部控制功能如表7-2所示。Q端信號(hào)本級(jí)輸出端鄰級(jí)輸出地電平反饋緩沖器輸入端信號(hào)來(lái)源寄存器Q端本級(jí)輸出鄰級(jí)輸出地電平10—11—0—10—0FMUX輸入信號(hào)AC0AC1(n)AC1(m)表7-2AC0AC1對(duì)FMUX控制表66⑵GAL的工作模式和邏輯組態(tài)GAL16V8、GAL20V8系列器件的OLMC有寄存器模式、復(fù)雜模式、簡(jiǎn)單模式三種工作模式。用戶(hù)通過(guò)輸出引腳定義方程確定OLMC的工作模式。輸出引腳定義方程有A型、B型、C型三種。它們與工作模式的關(guān)系如表7-3所示。67表7-3OLMC的工作模式同引腳定義方程的關(guān)系輸出引腳方程類(lèi)型輸出引腳定義方程式工作模式A型B型C型引腳名:=邏輯方程式引腳名=邏輯方程式引腳名.OE=邏輯方程式引腳名=<邏輯方程式>SYN=0,AC0=1寄存器模式SYN=1,AC0=1復(fù)雜模式SYN=1,AC0=0簡(jiǎn)單模式⑵GAL的工作模式和邏輯組態(tài)68輸出邏輯宏單元三種模式又分為七種邏輯組態(tài),其隸屬關(guān)系如表7-4所示。⑵GAL的工作模式和邏輯組態(tài)表7-4三種模式和七種組態(tài)的關(guān)系工作模式邏輯組態(tài)寄存器模式復(fù)雜模式簡(jiǎn)單模式⑴寄存器輸出組態(tài)⑵組合輸出組態(tài)⑶有反饋組合輸出⑷無(wú)反饋組合輸出⑸無(wú)反饋組合輸出組態(tài)⑹本級(jí)輸出鄰級(jí)輸入組態(tài)⑺相鄰輸入組態(tài)69(a)寄存器模式寄存器輸出組態(tài):寄存器輸出010功能AC1(n)AC0SYN低有效高有效01輸出極性XOR1腳作為寄存器輸出級(jí)的公共時(shí)鐘CK端;11腳作為寄存器輸出級(jí)的公共使能OE端。70(b)寄存器模式組合輸出組態(tài):在一個(gè)帶寄存器GAL中的組合輸出110功能AC1(n)AC0SYN低有效高有效01輸出極性XOR1和11號(hào)總是分別作為時(shí)鐘CK端和使能端OE。71引腳1和11為輸入,所有輸出為組合邏輯輸出。13~18號(hào)宏單元可構(gòu)成這種組態(tài)

(c)復(fù)雜模式有反饋組合輸出組態(tài):低有效高有效01輸出極性XOR所有輸出為組合邏輯111功能AC1(n)AC0SYN7212,19號(hào)宏單元可構(gòu)成這種組態(tài)(d)復(fù)雜模式無(wú)反饋組合輸出組態(tài):低有效高有效01輸出極性XOR所有輸出為組合邏輯101功能AC1(n)失效AC0=SYNSYNAC1(m)=SYN17315,16號(hào)宏單元可構(gòu)成這種組態(tài)(e)簡(jiǎn)單模式無(wú)反饋組合輸出組態(tài):所有輸出為組合邏輯001功能AC1(n)AC0SYN低有效高有效01輸出極性XOR7415和16號(hào)宏單元也能構(gòu)成這種組態(tài)(f)簡(jiǎn)單模式本級(jí)組合輸出鄰級(jí)輸入組態(tài):所有輸出為組合邏輯001功能AC1(n)AC0SYN低有效高有效01輸出極性XOR75輸出緩沖器失效除15和16號(hào)宏單元外都可構(gòu)成這種組態(tài)(g)簡(jiǎn)單模式鄰級(jí)輸入組態(tài):所有輸出為組合邏輯101功能AC1(n)AC0SYN無(wú)效無(wú)效01輸出極性XOR76⑶GAL的開(kāi)發(fā)流程(開(kāi)發(fā)步驟)①建立用戶(hù)源文件用戶(hù)源文件就是設(shè)計(jì)者書(shū)寫(xiě)的描述所要實(shí)現(xiàn)邏輯電路功能的軟件程序的集合。其軟件程序必須符合某一可編程邏輯設(shè)計(jì)語(yǔ)言的語(yǔ)法規(guī)范。現(xiàn)在廣泛使用的有ABEL-HDL,VHDL,Verilog-VHDL等硬件描述語(yǔ)言。②編譯用戶(hù)源文件要想使建立起來(lái)的用戶(hù)源文件變成要下載的數(shù)據(jù)文件(JEDEC),必須經(jīng)過(guò)若干步的語(yǔ)言處理程序。如語(yǔ)法檢查、邏輯化簡(jiǎn)、功能模擬、時(shí)間模擬等。經(jīng)過(guò)專(zhuān)用軟件處理后,證明用戶(hù)建立的源文件正確無(wú)誤,最后將其轉(zhuǎn)換成要下載的編程數(shù)據(jù)文件(JEDEC)。把上述的一系列處理過(guò)程稱(chēng)為編譯。77③器件編程在專(zhuān)用的軟件系統(tǒng)環(huán)境下,啟動(dòng)編程器,使計(jì)算機(jī)和編程器進(jìn)行通信。將JEDEC數(shù)據(jù)文件下載到編程器上。選擇目標(biāo)器件的制造廠家、型號(hào)進(jìn)行器件匹配。將GAL器件插入插座并鎖緊。這一步必須注意芯片引腳序號(hào)與插座引腳號(hào)要對(duì)應(yīng)。否則器件可能被毀壞。下載編程。即將下載到編程器上的JEDEC數(shù)據(jù)文件寫(xiě)入到GAL芯片中。⑶GAL的開(kāi)發(fā)流程(開(kāi)發(fā)步驟)78④實(shí)際功能驗(yàn)證將芯片從編程器取下,放到實(shí)驗(yàn)電路中或?qū)嶋H工作的系統(tǒng)中進(jìn)行實(shí)際功能驗(yàn)證,如果功能正確,說(shuō)明開(kāi)發(fā)工作結(jié)束。如果功能驗(yàn)證不正確,則還要返回到第一步重新修改設(shè)計(jì)。⑶GAL的開(kāi)發(fā)流程(開(kāi)發(fā)步驟)79ABEL硬件描述語(yǔ)言ABEL(AdvancedBooleanEquationLanguage)是DataI/O公司的注冊(cè)商標(biāo)。ABEL程序是包含一些元素的文本文件:包括程序名和注釋?zhuān)粯?biāo)識(shí)邏輯函數(shù)輸入、輸出的聲明;用來(lái)指定要實(shí)現(xiàn)邏輯函數(shù)的語(yǔ)句;實(shí)現(xiàn)邏輯函數(shù)的功能的PLD或其它目標(biāo)器件的類(lèi)型聲明;用來(lái)指定在一定輸入條件下邏輯函數(shù)期望輸出的測(cè)試向量。80ABEL硬件描述語(yǔ)言ABEL程序的典型結(jié)構(gòu)module

modulenametitle

string

deviceIDdevicedevicetype;“器件聲明pin

declarations“引腳聲明otherdeclarationsequationsequationstest_vectorstestvectorsend

modulename81ABEL硬件描述語(yǔ)言moduleexample1title‘basiclogicgates’

namedevice‘p16v8s’;“器件聲明a,b,c,d,epin19,1,2,3,4;“引腳聲明m,n,p,q,hpin5,6,7,8,9;i,jpin11,12;u,v,w,x,y,zpin18,17,16,15,14,13;X=.X.;“

常數(shù)聲明,任意態(tài)equationsu=!a;“非門(mén)INVv=b&c;“二輸入與門(mén)AND2w=d#e;“二輸入或門(mén)OR2x=!(m#n);“二輸入或非門(mén)NOR2y=!(p$q);“二輸入異或非門(mén)NXOR2z=!(h&i&j);“三輸入與非門(mén)NAND3Test_vector(……)endexample182ABEL硬件描述語(yǔ)言⒈標(biāo)識(shí)符與關(guān)鍵字⑴標(biāo)識(shí)符(Identifier)標(biāo)識(shí)符用來(lái)標(biāo)識(shí)器件、器件管腳或節(jié)點(diǎn)、集合、輸入/輸出信號(hào)、常量、宏及變量。所有這些標(biāo)識(shí)符都遵從同樣的命名規(guī)則,具體規(guī)則如下:標(biāo)識(shí)符最多31個(gè)字符長(zhǎng),必須以字母或下劃線打頭,區(qū)分大小寫(xiě)。83ABEL硬件描述語(yǔ)言⑵關(guān)鍵字關(guān)鍵字是一種特殊的標(biāo)識(shí)符,被ABEL視為保留字,不能用來(lái)給器件、管腳、節(jié)點(diǎn)、常量、集合、宏定義及信號(hào)命名。在源文件中使用關(guān)鍵字時(shí),僅表明這個(gè)關(guān)鍵字的作用。一旦關(guān)鍵字被用于錯(cuò)誤場(chǎng)合,語(yǔ)言處理程序?qū)?biāo)出錯(cuò)誤。硬件描述語(yǔ)言中的關(guān)鍵字不區(qū)分大小寫(xiě),可以用大寫(xiě)、小寫(xiě)或混合字體輸入。84ABEL硬件描述語(yǔ)言下面按字母順序列出ABEL-HDL的關(guān)鍵字。async_reset異步復(fù)位狀態(tài)描述語(yǔ)句case-endcase條件選擇語(yǔ)句declarations定義段關(guān)鍵字device

器件定義語(yǔ)句*end

結(jié)束語(yǔ)句*equations

邏輯方程關(guān)鍵字*functional_block功能模塊定義語(yǔ)句85ABEL硬件描述語(yǔ)言fuses熔絲狀態(tài)定義語(yǔ)句goto無(wú)條件轉(zhuǎn)移語(yǔ)句if-then-else條件轉(zhuǎn)移語(yǔ)句(只能用在狀態(tài)圖中)interface功能模塊接口定義語(yǔ)句istype

屬性定義語(yǔ)句*library庫(kù)引用語(yǔ)句macro

宏定義語(yǔ)句module

模塊語(yǔ)句*node節(jié)點(diǎn)定義語(yǔ)句86ABEL硬件描述語(yǔ)言options控制選項(xiàng)定義語(yǔ)句pin

引腳定義語(yǔ)句*property特征定義語(yǔ)句state狀態(tài)描述語(yǔ)句state_diagram狀態(tài)圖關(guān)鍵字state_register狀態(tài)寄存器說(shuō)明語(yǔ)句sync_reset同步復(fù)位狀態(tài)描述語(yǔ)句test_vectors

測(cè)試向量*title

標(biāo)題語(yǔ)句*87ABEL硬件描述語(yǔ)言規(guī)則概要

truth_table

真值表表頭關(guān)鍵字*when-then-else條件轉(zhuǎn)移語(yǔ)句(只能用在方程中)with-endwith轉(zhuǎn)移方程語(yǔ)句88ABEL硬件描述語(yǔ)言⒉常量與數(shù)值常量、定值可用于ABEL-HDL的邏輯設(shè)計(jì)。常量值可用在賦值語(yǔ)句、真值表與測(cè)試向量中,有時(shí)還可賦給標(biāo)識(shí)符以表示該標(biāo)識(shí)符在整個(gè)模塊中都有定值。常量值可為數(shù)值或非數(shù)值型特殊常量。在ABEL-HDL中的特殊常量輸入時(shí)必須在字母兩邊加圓點(diǎn)以表示其為特殊常量,否則特殊常量.C.將被認(rèn)為是標(biāo)識(shí)符名C。特殊常量可用大寫(xiě)或小寫(xiě)字母。89ABEL硬件描述語(yǔ)言ABEL-HDL中所有數(shù)值運(yùn)算的精度都是128位,因此,有效數(shù)值范圍是0~2128-1。數(shù)值可用五種形式中的任一種表示,其中四種是用不同的數(shù)制來(lái)表示數(shù)值,第五種是用字母符號(hào)表示數(shù)值。

90ABEL硬件描述語(yǔ)言.C.

時(shí)鐘輸入電平(按低-高-低變化).K.

時(shí)鐘輸入電平(按高-低-高變化).U.時(shí)鐘上升沿(電平按低-高變化).D.時(shí)鐘下降沿(電平按高-低變化).F.浮動(dòng)輸入或輸出信號(hào).P.寄存器預(yù)裝載.X.

任意態(tài).Z.

高阻態(tài)91ABEL硬件描述語(yǔ)言當(dāng)選用四種數(shù)制中的一種非默認(rèn)數(shù)制來(lái)表示數(shù)據(jù)時(shí),須在該數(shù)據(jù)前標(biāo)明所用數(shù)制的符號(hào)。表2-5列出了ABEL-HDL支持的四種數(shù)制及它們相應(yīng)的符號(hào),數(shù)制符號(hào)可用大寫(xiě)或小寫(xiě)輸入。92ABEL硬件描述語(yǔ)言表7-5ABEL-HDL中數(shù)值的不同進(jìn)制表示數(shù)制名基數(shù)數(shù)制符號(hào)二進(jìn)制2^B八進(jìn)制8^O十進(jìn)制10^D十六進(jìn)制16^H93ABEL硬件描述語(yǔ)言⒊字符串和注釋字符串是用單引號(hào)(撇號(hào))括起的一串ASCII碼字符。字符串用于模塊語(yǔ)句、標(biāo)題語(yǔ)句、控制選項(xiàng)語(yǔ)句和引腳、節(jié)點(diǎn)、屬性的定義中。若要在字符串中使用單引號(hào),要在它前面加一個(gè)反斜線“\”。注釋是使源文件易讀的另一種方式。它常被用來(lái)說(shuō)明源文件本身不易理解之處,注釋不影響源文件的內(nèi)容。94ABEL硬件描述語(yǔ)言可以有兩種方式插入注釋?zhuān)孩僮⑨屢噪p引號(hào)(“)開(kāi)始,以另一雙引號(hào)或行結(jié)束標(biāo)志結(jié)束。②注釋以雙斜線(//)開(kāi)始,以行結(jié)束標(biāo)志結(jié)束。95ABEL硬件描述語(yǔ)言規(guī)則概要

⒋運(yùn)算符、表達(dá)式和方程ABEL-HDL表達(dá)式中可包含常量、信號(hào)名等對(duì)象。表達(dá)式將這些對(duì)象進(jìn)行組合、比較或進(jìn)行運(yùn)算,以產(chǎn)生輸出信號(hào)。這些運(yùn)算(如加法、邏輯與)在表達(dá)式中用運(yùn)算符來(lái)表示。ABEL-HDL的運(yùn)算符可分為四種基本類(lèi)型:邏輯運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符與賦值運(yùn)算符。96⒈邏輯運(yùn)算符

表7-6ABEL-HDL中的邏輯運(yùn)算符運(yùn)算符說(shuō)明!非&與#或$異或!$異或非97⑵算術(shù)運(yùn)算符運(yùn)算符舉例說(shuō)

--A求補(bǔ)碼(負(fù)數(shù))-A-B減法+A+B加法*A*B乘法/A/B無(wú)符號(hào)整數(shù)除法%A%B取模:A/B的余數(shù)<<A<<BA左移B位,零補(bǔ)缺位>>A>>BA右移B位,零補(bǔ)缺位98⑶關(guān)系運(yùn)算符運(yùn)算符說(shuō)

明==等

于!=不等于<小于<=小于或等于>大于>=大于或等于所有關(guān)系運(yùn)算都是無(wú)符號(hào)運(yùn)算。99⑷賦值運(yùn)算符

運(yùn)算符說(shuō)

明=組合型賦值(確定態(tài)):=寄存器型賦值(確定態(tài))?=組合型賦值(任意態(tài))?:=寄存器型賦值(任意態(tài))注意:賦值運(yùn)算符:=和?:=只能用在引腳到引腳的寄存器方程中。在使用詳細(xì)點(diǎn)后綴的寄存器方程中要使用賦值運(yùn)算符=和?=。100⑸運(yùn)算符的運(yùn)算優(yōu)先級(jí)優(yōu)先級(jí)運(yùn)算符說(shuō)

明1-取二進(jìn)制補(bǔ)碼(負(fù)數(shù))1!非2&與2<<左移2>>右移2*乘法2/無(wú)符號(hào)整數(shù)除法2%取模3+加法3-減法3#或3$異或3!$異或非4==等于4!=不等于4<小于4<=小于或等于4>大于4>=大于或等于若同一表達(dá)式中有優(yōu)先級(jí)相同的運(yùn)算符,則按從左到右的順序進(jìn)行運(yùn)算,圓括號(hào)可改變運(yùn)算次序,圓括號(hào)內(nèi)運(yùn)算優(yōu)先進(jìn)行。101⒉GAL的應(yīng)用舉例用GAL實(shí)現(xiàn)基本邏輯門(mén)的設(shè)計(jì)用GAL實(shí)現(xiàn)組合及時(shí)序混合的邏輯電路102用GAL實(shí)現(xiàn)基本邏輯門(mén)的設(shè)計(jì)設(shè)計(jì)說(shuō)明及構(gòu)思圖7-30

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論