




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章邏輯電路2.1邏輯真值表2.2邏輯門(mén)2.3邏輯函數(shù)表達(dá)式2.4記憶邏輯電路2.5邏輯電路結(jié)構(gòu)2.6硬件描述語(yǔ)言2.7電路仿真
2.1邏輯真值表
對(duì)于邏輯函數(shù),可以采用表格列出邏輯輸入和邏輯輸出之間的邏輯關(guān)系,這樣能夠直觀地呈現(xiàn)出邏輯函數(shù)的功能。采用一個(gè)表格,將邏輯輸入的所有取值組合按組合值順序排成若干行,并將每個(gè)組合產(chǎn)生的邏輯輸出值也排在同一行中。由邏輯輸入和邏輯輸出的值組成的表格就是邏輯函數(shù)的真值表。
例2.1.1的真值表擴(kuò)展為含原變量和反變量構(gòu)成的新真值表,仍以AB組合的值為序排列,如表2-3所示。
1.輸出1分析
表2-3中每一行都有三個(gè)1,其中兩個(gè)是輸入量為1,1個(gè)是輸出量為1,值為1的輸出量可以看作是兩個(gè)為1的輸入量的與運(yùn)算結(jié)果。在表2-3中的輸出值為1的單元格中填入輸入量與運(yùn)算代數(shù)表達(dá)式,如表2-4所示。
由此可知:
(1)每個(gè)值為1的輸出都可以由值為1的輸入原變量或反變量進(jìn)行與運(yùn)算獲得。通常把單個(gè)邏輯變量(或反變量)進(jìn)行與運(yùn)算構(gòu)成的項(xiàng)稱(chēng)為與項(xiàng)。
(2)只要輸入的值使某一與項(xiàng)結(jié)果為1,輸出值就為1,輸出是這些與項(xiàng)的或運(yùn)算。通常把由與項(xiàng)相或構(gòu)成的表達(dá)式稱(chēng)為與或式。
(3)分析輸出原變量或反變量都可以得到相同的邏輯函數(shù)表達(dá)式。
2.輸出0分析
表2-3中每一行都有三個(gè)0,其中兩個(gè)是輸入量為0,1個(gè)是輸出量為0,值為0的輸出量可以看作是兩個(gè)為0的輸入量的或運(yùn)算結(jié)果。在表2-3中的輸出值為0的單元格中填入輸入量或運(yùn)算代數(shù)表達(dá)式,如表2-5所示。
由此可知:
(1)每個(gè)值為0的輸出都可以由值為0的輸入原變量或反變量進(jìn)行或運(yùn)算獲得。通常把單個(gè)邏輯變量(或反變量)進(jìn)行或運(yùn)算構(gòu)成的項(xiàng)稱(chēng)為或項(xiàng)。
(2)只要輸入的值使某一或項(xiàng)結(jié)果為0,輸出值就為0,輸出是這些或項(xiàng)的與運(yùn)算。通常把由或項(xiàng)相與構(gòu)成的表達(dá)式稱(chēng)為或與式。
(3)分析輸出原變量或反變量都可以得到相同的邏輯函數(shù)表達(dá)式。
2.2邏
輯
門(mén)
實(shí)現(xiàn)布爾邏輯運(yùn)算的單元電路稱(chēng)為邏輯門(mén)。邏輯門(mén)通??梢杂盟姆N方式來(lái)描述:第一種方式是采用邏輯變量和邏輯運(yùn)算符構(gòu)成的邏輯代數(shù)表達(dá)式;第二種方式是采用專(zhuān)用圖形來(lái)表示邏輯運(yùn)算的電路符號(hào);第三種方式是采用表格列出真值表;第四種方式是采用表征各變量的相應(yīng)信號(hào)電平的對(duì)應(yīng)關(guān)系的波形圖。
2.2.1基本邏輯門(mén)
1.與門(mén)
實(shí)現(xiàn)與運(yùn)算的電路稱(chēng)為與門(mén)(AND)。只有所有輸入都為1,輸出才為1;只要有一個(gè)輸入為0,輸出就為0。
假定兩個(gè)輸入分別為A
和B,輸出為F,所構(gòu)成與運(yùn)算代數(shù)表達(dá)式為F=A·B。
圖2-1(a)和圖2-1(b)為F=A·B
的兩種符號(hào)表示,圖2-1(c)為真值表,圖2-1(d)為波形圖,圖2-1(e)為集成與門(mén)74LS08的內(nèi)部結(jié)構(gòu)圖。
圖2-1與門(mén)的描述
與門(mén)通常用來(lái)實(shí)現(xiàn)所有輸入條件均滿足才工作的控制電路。
例如,某大門(mén)門(mén)禁閘機(jī)有證件讀卡器和攝像頭,通過(guò)系統(tǒng)進(jìn)行證件認(rèn)證和人臉識(shí)別,其系統(tǒng)結(jié)構(gòu)如圖2-2所示。圖2-2門(mén)禁閘機(jī)控制系統(tǒng)結(jié)構(gòu)圖
控制器的功能是:只有人臉識(shí)別成功且證件認(rèn)證成功,閘機(jī)門(mén)才打開(kāi),否則閘機(jī)門(mén)保持關(guān)閉。
控制電路的兩個(gè)輸入分別是人臉識(shí)別結(jié)果A
和證件認(rèn)證結(jié)果B,控制電路的一個(gè)控制輸出F是閘機(jī)門(mén)開(kāi)關(guān)控制信號(hào)。
假定人臉識(shí)別成功時(shí)A
為1,失敗時(shí)A
為0;證件認(rèn)證成功時(shí)B
為1,失敗時(shí)B
為0;F為1表示打開(kāi),為0時(shí)表示關(guān)閉。
由功能可以列出與與門(mén)相同的真值表,故F=A·B,控制器采用一個(gè)與門(mén)即可。
2.或門(mén)
實(shí)現(xiàn)或運(yùn)算的電路稱(chēng)為或門(mén)(OR)。只要有一個(gè)輸入為1,輸出就為1;只有所有輸入都為0,輸出才為0。
假定兩個(gè)輸入分別為A和B,輸出為F,所構(gòu)成的或運(yùn)算代數(shù)表達(dá)式為F=A+B。
圖2-3(a)和圖23(b)為F=A+B
的兩種符號(hào)表示,圖23(c)為真值表,圖2-3(d)為波形圖,圖2-3(e)為集成或門(mén)74LS32的內(nèi)部結(jié)構(gòu)圖。
圖2-3或門(mén)的描述
或門(mén)通常用來(lái)實(shí)現(xiàn)只要所有條件之一滿足就工作的控制電路。
仍以前面的閘機(jī)控制為例,控制器的功能變?yōu)椋褐灰四樧R(shí)別成功或證件認(rèn)證成功,閘機(jī)門(mén)就打開(kāi),否則閘機(jī)門(mén)保持關(guān)閉。由功能可以列出與或門(mén)相同的真值表,故F=A+B,控制器采用一個(gè)或門(mén)即可。
圖2-4非門(mén)的描述
圖2-5節(jié)能臺(tái)燈控制結(jié)構(gòu)圖
圖2-6與非門(mén)的描述
圖2-7或非門(mén)的描述
圖2-8與或非門(mén)的描述
圖2-9異或門(mén)的描述
圖2-10同或門(mén)的描述
2.3邏輯函數(shù)表達(dá)式
2.3.1常用形式任何一個(gè)邏輯函數(shù)式都可以通過(guò)邏輯變換寫(xiě)成六種形式:與或式、或與式、與非
與非式、或非
或非式、與或非式、或與非式。其中與或式和或與式是函數(shù)表達(dá)式的兩種最基本形式。
這六種表達(dá)方式是可以相互轉(zhuǎn)換的,轉(zhuǎn)換中使用了邏輯代數(shù)的反演律和還原律。例如:
對(duì)于一個(gè)代數(shù)系統(tǒng),若僅用它所定義的一組運(yùn)算符號(hào)就能解決所有的運(yùn)算問(wèn)題,則稱(chēng)這一組符號(hào)是一個(gè)完備的集合,簡(jiǎn)稱(chēng)完備集。
在邏輯代數(shù)中,與、或、非是三種最基本的運(yùn)算,用與、或、非三種運(yùn)算符和邏輯變量可以構(gòu)成任何邏輯函數(shù),因此稱(chēng)與、或、非邏輯運(yùn)算符是一組完備集。
【例2.3.1】
已知某電路連接關(guān)系如圖2-11所示,給出該電路的與或代數(shù)表達(dá)式、邏輯電路圖、真值表、波形圖。圖2-11例2.3.1的電路圖
解74LS00是與非門(mén)集成電路,用于實(shí)現(xiàn)與非運(yùn)算。根據(jù)圖2-11可以畫(huà)出采用與非門(mén)邏輯符號(hào)的邏輯電路圖,如圖2-12(a)所示。其代數(shù)表達(dá)式為
由此可見(jiàn),與或運(yùn)算可以只用一種與非邏輯運(yùn)算實(shí)現(xiàn),因?yàn)榕c非運(yùn)算本身是完備的。采用與、或、非三種運(yùn)算構(gòu)成的邏輯電路如圖2-12(b)所示,共需要三種集成邏輯門(mén)器件。圖2-12例2.3.1的邏輯電路圖
該電路的真值表如表2-7所示。
該電路的波形如圖2-13所示。圖2-13例2.3.1的波形圖
【例2.3.2】
某邏輯電路有四個(gè)端口,分別記為A、B、C、D,它們之間存在某種邏輯關(guān)系。圖2-14是它們的工作波形圖,試采用一片74LS00實(shí)現(xiàn)該電路。圖2-14例2.3.2的波形圖
解
根據(jù)圖形列出如表2-8所示的波形真值表。
圖2-15例2.3.2的邏輯電路圖及電路連接圖
【例2.3.3】
已知F的真值表如表2-11所示,試寫(xiě)出函數(shù)F的最小項(xiàng)表達(dá)式。
【例2.3.5】
已知邏輯電路如圖2-16所示,給出其最小項(xiàng)表達(dá)式。圖2-16例2.3.5的邏輯電路
解
該電路的邏輯函數(shù)表達(dá)式為
其真值表如表2-13所示。
【例2.3.6】
已知某邏輯電路有三個(gè)輸入
A、B、C
和一個(gè)輸出D,其工作波形如圖2-17所示,試給出該邏輯電路的最小項(xiàng)表達(dá)式。圖2-17例2.3.6的工作波形
解
根據(jù)波形圖寫(xiě)出相對(duì)應(yīng)的真值表,如表2-14所示。
根據(jù)真值表可以得出其最小表達(dá)式為
【例2.3.7】
手機(jī)來(lái)電控制:通常有振動(dòng)模式和振鈴模式。在振動(dòng)模式下,有電話呼入時(shí)發(fā)生振動(dòng)而無(wú)響鈴;在振鈴模式下,有電話呼入時(shí)發(fā)生響鈴而無(wú)振動(dòng)。寫(xiě)出該控制電路的邏輯函數(shù)的最小項(xiàng)表達(dá)式。
解
將“是否有電話呼入”和“是否置振動(dòng)模式”分別設(shè)為兩個(gè)邏輯量
A
和B
作為電路輸入,將“是否振動(dòng)”和“是否響鈴”分別設(shè)為兩個(gè)邏輯量Y
和Z作為電路輸出。值1表示“是”,值0表示“否”??梢粤谐鋈绫?-15所示的功能真值表。
2.最大項(xiàng)和標(biāo)準(zhǔn)或與式
n
個(gè)變量的最大項(xiàng)是n
個(gè)變量的或項(xiàng),其中每個(gè)變量都以原變量或反變量的形式出現(xiàn)一次。n個(gè)變量可以構(gòu)成2n
個(gè)最大項(xiàng)。與最小項(xiàng)恰好相反,對(duì)于任何一個(gè)最大項(xiàng),只有一組變量取值使它為0,而變量的其余取值均使它為1。最大項(xiàng)用符號(hào)
Mi
表示。表2-16列出了三變量邏輯函數(shù)的所有最小項(xiàng)和最大項(xiàng)。
【例2.3.8】
已知F的真值表如表2-17所示,試寫(xiě)出函數(shù)F的最大項(xiàng)表達(dá)式。
解
由真值表2-17可知,當(dāng)A、B、C
取值分別為000、011、101、110時(shí),F(xiàn)為0,因此最大項(xiàng)表達(dá)式由這四種組合所對(duì)應(yīng)的最大項(xiàng)進(jìn)行相與構(gòu)成,表示為
比較例2.3.3的最小項(xiàng)可以看出,一張真值表既可以采用最小項(xiàng)表示,也可以采用最大項(xiàng)表示,兩種表達(dá)式中不會(huì)有相同的序號(hào),且兩種表達(dá)式的項(xiàng)數(shù)之和為2n
。
2.3.3具有無(wú)關(guān)項(xiàng)的邏輯函數(shù)
邏輯問(wèn)題分為完全描述和非完全描述兩種。如果對(duì)于輸入變量的每一組取值,邏輯函數(shù)都有確定的值,則稱(chēng)這類(lèi)函數(shù)為完全描述邏輯函數(shù);如果對(duì)于輸入變量的某些取值組合邏輯函數(shù)值不確定,即函數(shù)值可以為0,也可以為1,那么這類(lèi)函數(shù)稱(chēng)為非完全描述的邏輯函數(shù)。對(duì)應(yīng)輸出函數(shù)值不確定的輸入最小項(xiàng)(或最大項(xiàng))稱(chēng)為無(wú)關(guān)項(xiàng),具有無(wú)關(guān)項(xiàng)的邏輯函數(shù)就是非完全描述的邏輯函數(shù)。
無(wú)關(guān)項(xiàng)發(fā)生在以下兩種情況:
(1)由于某種條件的限制(或約束)使得輸入變量的某些組合不可能出現(xiàn),故而它們所對(duì)應(yīng)的函數(shù)值可以任意假設(shè),可以為1,也可以為0。這些不允許出現(xiàn)的組合所對(duì)應(yīng)的最小項(xiàng)稱(chēng)為約束項(xiàng)(或禁止項(xiàng))。
(2)在某些輸入變量的取值下,其函數(shù)值為1或0都可以,并不影響整個(gè)系統(tǒng)的功能。這些使函數(shù)不確定的變量取值所對(duì)應(yīng)的最小項(xiàng)稱(chēng)為任意項(xiàng)(或隨意項(xiàng))。
非完全描述邏輯函數(shù)一般用以下方法表示:
(1)在真值表中填?或×、d,表示函數(shù)值為0或1均可。
(2)在邏輯表達(dá)式中用約束條件來(lái)表示。
【例2.3.9】
采用非完全描述方式將表2-18所示的真值表寫(xiě)成邏輯函數(shù)表達(dá)式。
解
從表2-18中可以看出,無(wú)關(guān)項(xiàng)的特點(diǎn)是三個(gè)變量中至少有兩個(gè)全為1,即
AB+BC+AC=1,所以約束條件為AB+BC+AC=0。
邏輯函數(shù)可以寫(xiě)成
或
或
2.3.4邏輯函數(shù)化簡(jiǎn)
邏輯函數(shù)化簡(jiǎn)通常是將邏輯函數(shù)化簡(jiǎn)為最簡(jiǎn)的與或式或者最簡(jiǎn)或與式。最簡(jiǎn)與或(或與)式是指表達(dá)式中與項(xiàng)(或項(xiàng))的個(gè)數(shù)最少,每個(gè)與項(xiàng)(或項(xiàng))中的變量數(shù)最少?;?jiǎn)法主要有代數(shù)化簡(jiǎn)法和卡諾圖化簡(jiǎn)法。
1.代數(shù)化簡(jiǎn)法
代數(shù)化簡(jiǎn)法主要是采用表2-19所示的邏輯代數(shù)基本公式消去邏輯函數(shù)表達(dá)式中多余的項(xiàng),以求得邏輯函數(shù)的最簡(jiǎn)表達(dá)式,通常采用并項(xiàng)法、吸收法和配項(xiàng)法。
1)并項(xiàng)法
并項(xiàng)法是利用合并律將兩個(gè)相鄰項(xiàng)合并成一項(xiàng),并消去互補(bǔ)因子。例如:
2)吸收法
吸收法是利用吸收律消去多余的乘積項(xiàng)或多余的因子。例如:
3)配項(xiàng)法
配項(xiàng)法是利用重疊律、互補(bǔ)律和吸收律,先配項(xiàng)或添加多余項(xiàng),然后逐步化簡(jiǎn)。例如:
這種方法對(duì)變量數(shù)目無(wú)限制,需要熟練應(yīng)用邏輯代數(shù)公式,缺乏規(guī)律性。
2.卡諾圖化簡(jiǎn)法
1)K
圖的構(gòu)成
在邏輯函數(shù)的真值表中,輸入變量的每一種組合都和一個(gè)最小項(xiàng)相對(duì)應(yīng),這種真值表也稱(chēng)為最小項(xiàng)真值表。卡諾圖就是根據(jù)最小項(xiàng)真值表按一定規(guī)則排列的方格圖。
圖2-18是三變量和四變量的
K
圖,圖中每個(gè)小格對(duì)應(yīng)一個(gè)最小項(xiàng)。
圖2-18三變量和四變量的K圖
2)邏輯函數(shù)的
K
圖表示
K
圖是真值表的一種特殊形式,n
變量的
K
圖包含了n
變量的所有最小項(xiàng),因此,任何一個(gè)n
變量的邏輯函數(shù)都可以用n
變量的
K
圖來(lái)表示。
將邏輯函數(shù)真值表中每個(gè)最小項(xiàng)的值填入
K
圖中的相應(yīng)方格即構(gòu)成了該邏輯函數(shù)的K圖。
3)最小項(xiàng)合并
在卡諾圖中,凡是幾何位置相鄰的最小項(xiàng)均可以合并。K
圖中相鄰項(xiàng)表現(xiàn)為相接、相對(duì)(即任一行或列的兩頭)、相重(對(duì)折起來(lái)位置重合)。
兩個(gè)相鄰最小項(xiàng)合并為一項(xiàng),消去一個(gè)互補(bǔ)變量。在
K
圖上該合并圈稱(chēng)為單元圈,它所對(duì)應(yīng)的與項(xiàng)由圈內(nèi)沒(méi)有變化的那些變量組成,可以直接從
K
圖中讀出。
任何兩個(gè)相鄰的單元圈也是相鄰項(xiàng),可以合并消去互補(bǔ)量。因此
K
圈越大,消去的變量數(shù)也就越多。
任何一個(gè)合并圈(即
K
圈)所含有的方格數(shù)為2i個(gè)。
任何一個(gè)1格可以多次被圈用。若某個(gè)
K
圈中所有的1格均已被別的
K
圈圈過(guò),則該K
圈是多余圈。為了避免出現(xiàn)多余圈,應(yīng)保證每個(gè)
K圈至少有一個(gè)1格只被圈1次。圖2-19給出了若干采用
K
圖化簡(jiǎn)的示例。
圖2-19K圖化簡(jiǎn)示例
【例2.3.10】
用
K
圖將以下函數(shù)式化簡(jiǎn)為最簡(jiǎn)與或式。
解(1)畫(huà)出F
的K
圖。
給出的F
為一般與或式,將每個(gè)與項(xiàng)所覆蓋的最小項(xiàng)都填1,K
圖如圖2-19所示。
(2)畫(huà)
K
圈化簡(jiǎn)函數(shù)。
本例有兩種圈法,如圖2-20所示。
圖2-20例2.3.10的K圖
4)寫(xiě)出最簡(jiǎn)與或
圖2-20(a)所示圈法的最簡(jiǎn)與或式為
圖2-19(b)所示圈法的最簡(jiǎn)與或式為
該例說(shuō)明,邏輯函數(shù)的最簡(jiǎn)式并不是唯一的。
5)具有無(wú)關(guān)項(xiàng)的邏輯函數(shù)化簡(jiǎn)
在非完全描述邏輯函數(shù)中,由于在無(wú)關(guān)項(xiàng)的相應(yīng)取值下,函數(shù)值隨意取成0或1都不影響函數(shù)原有的功能,因此可以充分利用這些無(wú)關(guān)項(xiàng)來(lái)化簡(jiǎn)邏輯函數(shù),即采用
K
圖化簡(jiǎn)函數(shù)時(shí),可以利用
?(或×)來(lái)擴(kuò)大
K
圈。
例如,邏輯函數(shù)為
對(duì)F
的邏輯表達(dá)式進(jìn)行化簡(jiǎn),如圖2-21所示,可得F=A+B.
圖2-21具有無(wú)關(guān)項(xiàng)的邏輯函數(shù)化簡(jiǎn)
2.4記憶邏輯電路
圖2-22輸出反饋的邏輯電路
圖2-23邏輯電路和工作波形
這類(lèi)電路稱(chēng)為觸發(fā)器(Flip-Flop),常用的觸發(fā)器包括基本RS觸發(fā)器、鐘控觸發(fā)器。鐘控觸發(fā)器僅在時(shí)鐘有效時(shí)狀態(tài)才允許輸出發(fā)生變化,按觸發(fā)類(lèi)型又可以分為電平觸發(fā)和邊沿觸發(fā)。電平觸發(fā)是指在時(shí)鐘的高電平或低電平階段根據(jù)當(dāng)前狀態(tài)和外部輸入來(lái)決定次態(tài);邊沿觸發(fā)是指在時(shí)鐘的上升沿或下降沿階段根據(jù)當(dāng)前狀態(tài)和外部輸入來(lái)決定次態(tài)。
在實(shí)際應(yīng)用中通常用觸發(fā)器的保持功能來(lái)保存數(shù)據(jù),采用多個(gè)觸發(fā)器構(gòu)成寄存器(鎖存器)。多個(gè)寄存器按照一定順序可以構(gòu)建成更大容量的存儲(chǔ)器。
2.5邏輯電路結(jié)構(gòu)
邏輯電路是一個(gè)因果系統(tǒng),只有輸入發(fā)生變化輸出才可能發(fā)生變化,輸入沒(méi)變化,輸出是不可能發(fā)生變化的。根據(jù)輸入與輸出之間的變化關(guān)系,邏輯電路可分為兩類(lèi):組合邏輯電路(簡(jiǎn)稱(chēng)組合電路)和時(shí)序邏輯電路(簡(jiǎn)稱(chēng)時(shí)序電路)。
2.5.1組合邏輯電路
如果一個(gè)電路的輸入相同時(shí)輸出也相同,那么這個(gè)電路稱(chēng)為組合電路。電路中任一時(shí)刻的穩(wěn)態(tài)輸出僅僅取決于該時(shí)刻的輸入,而與電路原來(lái)的狀態(tài)無(wú)關(guān)。組合電路無(wú)記憶功能,只有從輸入到輸出的通路。其一般框圖如圖2-24所示,其中
X=(x1,…,xn)表示輸入邏輯量,Z=(z1,…,zm)表示輸出邏輯量。組合電路的邏輯函數(shù)可以表示為Z=F(X),其中F=(f1,…,fm),fi
是zi與X之間的邏輯函數(shù),即
圖2-24組合電路框圖
【例2.5.1】
某電路的工作波形如圖2-25所示,輸入為
A、B、C,輸出是F1、F2,試判定它們是否為組合電路輸出。圖2-25例2.5.1的工作波形
解
根據(jù)組合電路的特點(diǎn),通過(guò)比較相同的A、B、C
組合其輸出是否相同來(lái)判定是否為組合邏輯輸出。
列出波形真值表如表2-21所示。
圖2-26邏輯函數(shù)F1
的卡諾圖
2.5.2時(shí)序邏輯電路
如果一個(gè)電路的輸入相同輸出卻不相同,那么這個(gè)電路一定不是組合電路。相同輸入在不同時(shí)刻的輸出不同表明邏輯運(yùn)算與時(shí)間有關(guān),這類(lèi)電路稱(chēng)為時(shí)序電路。時(shí)序電路中任一時(shí)刻的輸出不僅與該時(shí)刻的輸入變量有關(guān),而且還與過(guò)去時(shí)刻電路的輸入有關(guān),相當(dāng)于該電路具有記憶功能。
具有記憶功能的基本電路是觸發(fā)器,它的輸出就是所要記憶的值,通常稱(chēng)為狀態(tài)。當(dāng)某輸入信號(hào)發(fā)生某種特定變化時(shí),觸發(fā)器可以從一個(gè)穩(wěn)定狀態(tài)轉(zhuǎn)換到另一個(gè)穩(wěn)定狀態(tài),即
狀態(tài)轉(zhuǎn)移。觸發(fā)器狀態(tài)的改變是在一定條件下觸發(fā)的,這種條件稱(chēng)為觸發(fā)條件,觸發(fā)條件通常是指產(chǎn)生狀態(tài)轉(zhuǎn)移的輸入信號(hào)的特征,如高電平(值為1)、低電平(值為0)、上升沿(從低電平變?yōu)楦唠娖降乃查g,值用n
表示)、下降沿(從高電平變?yōu)榈碗娖降乃查g,值用↑表示)。只有觸發(fā)條件滿足,狀態(tài)才可能發(fā)生變化,否則狀態(tài)不變,即保持。
為了區(qū)分當(dāng)前的狀態(tài)(也稱(chēng)為現(xiàn)態(tài))和觸發(fā)后的狀態(tài)(也稱(chēng)為次態(tài)),用Q或Qn
表示現(xiàn)態(tài),用Qn+1
表示次態(tài)。
采用觸發(fā)器構(gòu)成存儲(chǔ)電路來(lái)保存當(dāng)前部分輸出信號(hào)供將來(lái)使用,采用組合電路將當(dāng)前輸入和當(dāng)前保存信號(hào)組合產(chǎn)生當(dāng)前輸出信號(hào)。
因此,時(shí)序電路的一般框圖如圖2-27所示,它分為兩部分:組合電路和存儲(chǔ)電路。
圖2-27時(shí)序邏輯電路框圖
【例2.5.2】
圖2-28是一時(shí)序電路的工作波形,試確定輸入、輸出、觸發(fā)條件。圖2-28例2.5.2的工作波形
解
時(shí)序電路輸出的變化取決于輸入的變化和內(nèi)部狀態(tài)的變化,內(nèi)部狀態(tài)的變化取決于觸發(fā)條件。
分析圖2-8中的A
和B的變化可以發(fā)現(xiàn),B
變化時(shí)A
不一定變化,說(shuō)明B
一定不是輸出,A
一定不是輸入。A
變化時(shí)B
一定變化,說(shuō)明B
決定A是否變化,故B
為輸入,A為輸出。在B
的下降沿,A
才發(fā)生變化,所以B
的下降沿是觸發(fā)條件。
【例2.5.3】
圖2-29是一時(shí)序電路的工作波形,試確定輸入、輸出以及觸發(fā)條件。圖2-29例2.5.3的工作波形
解
分析每個(gè)信號(hào)變化時(shí)與其他信號(hào)之間的關(guān)系。
從圖2-29的波形圖可知,有的時(shí)間內(nèi)A
和C
不變,B
卻變化,故B
不能為輸出,只能是輸入;有的時(shí)間內(nèi)B
和C
不變,A
卻變化,故A
也是輸入。C變化時(shí),A
和B
會(huì)有一個(gè)發(fā)生變化,故C
是輸出。
C變化時(shí),要么A
在從低向高變化,要么B
在從低向高變化,因此A
和B的上升沿是C
變化的觸發(fā)條件。當(dāng)C
為低時(shí),只有A
的上升沿能使C變?yōu)楦?,B
的上升沿?zé)o效;當(dāng)C為高時(shí),只有B
的上升沿能使C
變?yōu)榈?,A
的上升沿?zé)o效。
所以,A
和B
是電路的輸入,C
是電路的輸出,觸發(fā)條件為A
和B的上升沿。
2.6硬件描述語(yǔ)言
2.6.1模塊結(jié)構(gòu)
Verilog是一種非常流行的硬件描述語(yǔ)言。Verilog程序的最基本設(shè)計(jì)單元是模塊。模塊從關(guān)鍵字module開(kāi)始,到endmodule結(jié)束,其中每條語(yǔ)句以“;”分隔(除了特殊語(yǔ)句)。
一個(gè)完整的模塊由四部分組成:
(1)模塊定義行:定義模塊的名稱(chēng)和輸入/輸出參數(shù)列表。
(2)說(shuō)明部分:定義不同的項(xiàng),通常包括端口類(lèi)型(input、output和inout)、寄存器(reg)、連線(wire)、參數(shù)(parameter)、函數(shù)(function)和任務(wù)(task)。
(3)描述體部分:描述模塊的行為和功能、子模塊的調(diào)用和連接、邏輯門(mén)的調(diào)用、用戶自定義部件的調(diào)用、初始態(tài)賦值等。
(4)結(jié)束行:以endmodule結(jié)束。
1.模塊聲明
模塊聲明主要由模塊名稱(chēng)和模塊輸入/輸出端口列表組成,其定義格式如下:
關(guān)鍵字endmodule表示模塊的結(jié)束。
2.端口定義
3.信號(hào)聲明
對(duì)模塊中用到的所有信號(hào)(包括輸入和輸出信號(hào))都必須進(jìn)行數(shù)據(jù)類(lèi)型聲明。Verilog共有19種數(shù)據(jù)類(lèi)型,其中最為常用的類(lèi)型有wire(連線型)和reg(寄存器型)。
wire類(lèi)型表示直通,即只要輸入有變化,輸出馬上無(wú)條件地反映。
reg類(lèi)型表示一定要有觸發(fā),輸出才會(huì)反映輸入。
4.邏輯功能定義
模塊最核心部分是邏輯功能定義,通常采用assign持續(xù)賦值語(yǔ)句、always過(guò)程賦值塊和調(diào)用元件(元件例化)等方式構(gòu)成邏輯功能。
值得注意的是:所有持續(xù)賦值語(yǔ)句和過(guò)程賦值語(yǔ)句都是一個(gè)邏輯電路,它們是并行同時(shí)執(zhí)行的,不是按照書(shū)寫(xiě)先后順序進(jìn)行的。
5.模塊模板
2.6.2運(yùn)算量與運(yùn)算符
1.常量
Verilog常量主要有三種類(lèi)型:整數(shù)、實(shí)數(shù)和字符串。下面主要介紹整數(shù)。整數(shù)采用4種方式來(lái)表示邏輯狀態(tài),即0表示邏輯0(低電平)、1表示邏輯1(高電平)、x表示不確定、
z表示高阻態(tài)。
常量的表示格式如下:
2.變量
變量可以是一位的,也可以是多位的,采用非負(fù)整數(shù)作為下標(biāo)來(lái)定義,變量的位數(shù)也稱(chēng)為位寬。
例如:
3.運(yùn)算符
按功能來(lái)分,常用運(yùn)算符主要有算術(shù)運(yùn)算符、位運(yùn)算符、邏輯運(yùn)算符、關(guān)系運(yùn)算符、縮位運(yùn)算符、條件運(yùn)算符、移位運(yùn)算符和拼接運(yùn)算符等9類(lèi)。
按運(yùn)算符所帶操作數(shù)的個(gè)數(shù)來(lái)分,運(yùn)算符可分為3類(lèi),分別為單目運(yùn)算符,可帶一個(gè)操作數(shù);雙目運(yùn)算符,可帶兩個(gè)操作數(shù);三目運(yùn)算符,可帶三個(gè)操作數(shù)。
1)算術(shù)運(yùn)算符
常用算術(shù)運(yùn)算符有五個(gè):+(加)、-(減)、*(乘)、/(除)、%(求模)。求模運(yùn)算也是求余運(yùn)算符。
2)位運(yùn)算符
位運(yùn)算符包括&(按位與)、|(按位或)、~(按位非)、∧(按位異或)、~∧(按位同或),主要應(yīng)用于以位作為運(yùn)算對(duì)象的邏輯運(yùn)算,如4'b1010&4'b1100結(jié)果為4'b1000。
3)邏輯運(yùn)算符
邏輯運(yùn)算符包括&&(邏輯與)、‖(邏輯或)、!(邏輯非),主要用于以邏輯1和邏輯0作為運(yùn)算對(duì)象的邏輯運(yùn)算,多用于關(guān)系運(yùn)算的級(jí)聯(lián)。數(shù)值不為0視為邏輯1,數(shù)值為0視為邏輯0,其運(yùn)算結(jié)果為0或1,如4'b1010&&4'b1100結(jié)果為1,4'b1010&&0結(jié)果為0。
4)關(guān)系運(yùn)算符
關(guān)系運(yùn)算符包括<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、===(全等于)、!=(不等于)、!==(不全等于)。
5)縮位運(yùn)算符
縮位運(yùn)算符包括&(與)、~&(與非)、|(或)、~|(或非)、∧(異或)、~∧(同或),該運(yùn)算為單目運(yùn)算,將運(yùn)算量的各位作為邏輯量進(jìn)行運(yùn)算符規(guī)定的操作。如&4'b1010相當(dāng)于該值的四位進(jìn)行與運(yùn)算,其結(jié)果為0;∧4'b1110相當(dāng)于該值的四位進(jìn)行異或運(yùn)算,其結(jié)果為1。
6)移位運(yùn)算符
移位運(yùn)算符包括<<(左移)、>>(右移),該移位是邏輯移位,采用0進(jìn)行補(bǔ)充。
7)條件運(yùn)算符
條件運(yùn)算符為“?:”,它是三目運(yùn)算符,其格式為<條件>?<表達(dá)式1>:<表達(dá)式2>。若條件成立,則取表達(dá)式1的值,否則取表達(dá)式2的值。
8)位拼接運(yùn)算符
位拼接運(yùn)算符為“{}”,它將{}中的變量拼接為一個(gè)多位的變量。如{x,y[2:1]}表示將變量x、變量y的位y[2]和y[1]拼接在一起來(lái)使用。
重復(fù)拼接符為“{n{}}”,它是重復(fù)n次后面的內(nèi)容后將其拼接在一起,如{3{x,y}}等同于{{x,y},{x,y},{x,y}},即{x,y,x,y,x,y}。
這些優(yōu)先級(jí)從高到低依次為(!、~)、(*、/、%)、(+、-)、(<<、>>)、(<、<=、>、>=)、(==、!=、===、!==)、(&、~&)、(∧、~∧)、(|、~|)、&&、‖、?:。
2.6.3行為語(yǔ)句
1.過(guò)程語(yǔ)句
always語(yǔ)句為過(guò)程語(yǔ)句,其表達(dá)式如下:
always@(<觸發(fā)條件列表>)
觸發(fā)條件列表也稱(chēng)為敏感信號(hào)表達(dá)式,觸發(fā)條件寫(xiě)在敏感信號(hào)表達(dá)式之中,當(dāng)觸發(fā)條件滿足時(shí),其后的語(yǔ)句才能被執(zhí)行。
賦值有非阻塞賦值和阻塞賦值兩種方式。
(1)非阻塞賦值。
在整個(gè)過(guò)程塊結(jié)束時(shí)才完成賦值操作,因此非阻塞賦值是并行執(zhí)行。
(2)阻塞賦值。
在整個(gè)過(guò)程塊中逐條語(yǔ)句完成賦值操作,因此阻塞賦值是串行執(zhí)行。
4.條件語(yǔ)句
條件語(yǔ)句有if-else語(yǔ)句和case語(yǔ)句兩種,它們都是順序語(yǔ)句,只能放在always塊內(nèi)。
1)if-else語(yǔ)句
其格式與C語(yǔ)言中的if-else語(yǔ)句類(lèi)似,即
2)case語(yǔ)句
【例2.6.1】
某邏輯電路的真值表如表2-24所示,采用case語(yǔ)句實(shí)現(xiàn)該電路模塊。
【例2.6.2】
表2-25為某電路的功能真值表,給出相應(yīng)的Verilog描述。
該模塊還可以采用“?”來(lái)表示條件選擇,即
2.7電
路
仿
真
HDL代碼本身是邏輯關(guān)系的描述,不是FPGA硬件內(nèi)部邏輯電路單元的真實(shí)連接。因此,HDL代碼完成后需要將HDL語(yǔ)句變成硬件電路的連接關(guān)系,這個(gè)過(guò)程稱(chēng)為綜合(Synthesis)。將綜合后的電路在所選取的器件中布線,稱(chēng)為實(shí)現(xiàn)(Implementation)。
常規(guī)的仿真開(kāi)發(fā)步驟通常是:
1.建工程(項(xiàng)目)文件
若開(kāi)發(fā)工具是采用工程(項(xiàng)目)方式來(lái)組織文檔,則先新建工程(項(xiàng)目)文件。
2.新建模塊文件xxx.v
在新建模塊文件中定義模塊,既可以一個(gè)模塊一個(gè)文件,也可以多個(gè)模塊一個(gè)文件,但不能出現(xiàn)多個(gè)相同名稱(chēng)的模塊。
3.新建測(cè)試文件xxx_tb.v
在新建測(cè)試文件中定義一個(gè)測(cè)試模塊,將所用到的模塊進(jìn)行例化,初始化輸入信號(hào)。
1)定義測(cè)試信號(hào)
輸入至待測(cè)模塊的測(cè)試信號(hào),必須定義成寄存器型變量。待測(cè)模塊輸出的測(cè)試信號(hào)定義為線型即可。
寄存器型變量可以在定義時(shí)賦初值。
2)例化
module定義可視為模塊的結(jié)構(gòu)定義,只有例化出一個(gè)實(shí)例后才能按這種結(jié)構(gòu)生成一個(gè)真正工作的電路。
例化語(yǔ)句格式如下:
假定已經(jīng)定義了模塊test(A,B,F(xiàn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)外包招聘合同范例
- 個(gè)人加盟協(xié)議合同范例
- 出讓生鮮小店合同范例
- 農(nóng)資化肥進(jìn)貨合同范本
- 關(guān)于門(mén)頭使用合同范例
- 鄉(xiāng)鎮(zhèn)造林合同范例
- 交付違約合同范例
- 公積金提取借款合同范例
- 農(nóng)副產(chǎn)品包裝運(yùn)輸合同范例
- 兄弟單位結(jié)對(duì)合作合同范例
- 古希臘文明-知到答案、智慧樹(shù)答案
- SYT 6968-2021 油氣輸送管道工程水平定向鉆穿越設(shè)計(jì)規(guī)范-PDF解密
- 2024年無(wú)錫商業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 交通安全宣傳意義
- 40米落地式腳手架專(zhuān)項(xiàng)施工方案
- 虛擬現(xiàn)實(shí)環(huán)境中的自然交互技術(shù)與算法
- 質(zhì)量手冊(cè)和質(zhì)量管理手冊(cè)
- 志愿服務(wù)與志愿者精神知識(shí)考試題庫(kù)大全(含答案)
- 2024年北京電子科技職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試題庫(kù)含答案解析
- 運(yùn)維人員安全培訓(xùn)內(nèi)容記錄
- 獨(dú)股一箭2010年20w實(shí)盤(pán)
評(píng)論
0/150
提交評(píng)論