




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章電路描述3.1邏輯函數(shù)3.2函數(shù)化簡3.3電路結構3.4硬件描述語言
3.1邏輯函數(shù)
3.1.1常用形式任何一個邏輯函數(shù)式都可以通過邏輯變換寫成六種形式:與或式、或與式、與非-與非式、或非-或非式、與或非式、或與非式。其中與或式和或與式是函數(shù)表達式的兩種最基本形式。
單個邏輯變量(或反變量)進行與運算構成的項稱為“與項”,由“與項”相或構成的表達式稱為與或式。單個邏輯變量(或反變量)進行或運算構成的項稱為“或項”,由“或項”相與構成的表達式稱為或與式。
這六種表達方式是可以相互轉換的,變換中使用了邏輯代數(shù)的反演律和還原律。
例如:
對于一個代數(shù)系統(tǒng),若僅用它所定義的一組運算符號就能解決所有的運算問題,則稱這一組符號是一個完備的集合,簡稱完備集。
在邏輯代數(shù)中,與、或、非是三種最基本的運算,用與、或、非三種運算符和邏輯變量可以構成任何邏輯函數(shù),因此稱與、或、非邏輯運算符是一組完備集。
【例3.1.1】已知某電路連接關系如圖3.1所示,給出該電路的與或代數(shù)表達式、邏輯符號圖、真值表、波形圖。
解:74LS00是與非門集成電路,實現(xiàn)與非運算。根據(jù)圖3.1可以畫出采用與非門邏輯符號的邏輯電路圖,如圖3.2(a)所示。其代數(shù)表達式為:
由此可見,與或運算可以只用一種與非邏輯運算實現(xiàn),因為與非運算本身是完備的。采用與、或、非三種運算構成的邏輯電路如圖3.2(b)所示,需要三個集成邏輯門器件。
圖3.2例3.1.1的邏輯電路圖
真值表如表3.1所示。
波形如圖3.3所示。
圖3.3例3.1.1的波形圖
【例3.1.2】某邏輯電路有四個端口,分別記為A、B、C、D,它們之間存在某種邏輯關系。圖3.4是它們的工作波形圖,試采用74LS00實現(xiàn)該電路。
圖3.4例3.1.2的波形圖
解:根據(jù)圖形列出如表3.2所示的波形真值表。
由邏輯運算可知,對于相同的輸入,只會有一種輸出。利用這個規(guī)則,通過排除法來確定輸入端和輸出端。
當A=B=C=0時,D有0和1兩種取值,因此D不可能為輸出。當B=C=D=1時,A有0和1兩種取值,因此A不可能為輸出。當A=B=D=1時,C有0和1兩種取值,因此C不可能為輸出。至此可以確定A、C和D為輸入。
將波形真值表按A、C、D為輸入組合、B為輸出的方式重新整理,如表3.3所示。從表中可以看出,對于任何一個A、C、D組合,B只有一個值。因此確定A、C、D為輸入,B為輸出。
由表中可以看出有兩種情況時B為高,即當A=0、C=1時,B=1;當A=D=1時,B=1。這兩種情況有一種為滿足,B就為1。因此這兩種情況是“或”關系。令第一種情況的輸出為B0,第二種情況的輸出為B1,輸出B=B0+B1。
只有A=0、C=1時B0=1,所以B0與A和C之間的邏輯關系是B0=A?C。只有A=D=1時B1=1,所以B1與A和D之間的邏輯關系是B1=AD。
因此,整個電路的邏輯代數(shù)表達式為:B=A?C+AD
其相應邏輯電路及74LS00連接分別如圖3.5(a)和(b)所示。
圖3.5例3.1.2的邏輯電路圖及電路連接圖
3.1.2標準形式
1.最小項和標準與或式
n個變量的最小項是n個變量的“與項”,其中每個變量都以原變量或反變量的形式出現(xiàn)一次,共有2n個最小項。兩個變量A、B構成四個最小項:A?B?、A?B、AB?、AB,三個變量A、B、C構成八個最小項:A?B?C?、A?B?C、A?BC?、A?BC、AB?C?、AB?C、ABC?、ABC。
表3.4列出三變量的全部最小項。從表中可見,第一個最小項僅和一組輸入變量取值相對應,只有在該組取值下其值為1,在其它取值下皆為0。最小項通常采用符號mi表示,下標i是最小項的編號,它對應變量取值的等效十進制數(shù),如ABC?僅和取值110相對應,因此ABC?是110對應的最小項,可以用符號m6來表示。
最小項具有以下性質:
(1)n變量的全部最小項的邏輯和恒為1,即
(2)任意兩個不同的最小項的邏輯乘恒為0,即mi·mj=0(i≠j)。
(3)n變量的每一個最小項有n個相鄰項。例如,三變量的某一最小項A?B?C有三個相鄰項:A?B?C?、A?BC、AB?C。這種相鄰關系對于邏輯函數(shù)化簡十分重要。
任何一個邏輯函數(shù)都可以表示為最小項之和的形式:只要將真值表中使函數(shù)值為1的各個最小項相或,便可得出該函數(shù)的最小項表達式。由于任何一個函數(shù)的真值表是唯一的,因此其最小項表達式也是唯一的。
【例3.1.3】已知F的真值表如表3.5所示,試寫出函數(shù)F的最小項表達式,給出采用與門、或門和非門構成的電路圖,并畫出工作波形圖。
解:從真值表可知,當A、B、C取值分別為001、010、100、111時,F(xiàn)為1,最小項表達式由這四種組合所對應的最小項進行相或構成,即
F=A?B?C+A?BC?+AB?C?+ABC=Σm(1,2,4,7)。
相應的邏輯電路如圖3.6所示。
圖3.6例3.1.3的邏輯電路圖
按照真值表各項順序依次采用高低電平表示邏輯關系便得到波形圖,如圖3.7所示。
圖3.7例3.1.3的波形圖
【例3.1.4】已知某邏輯電路有三個輸入一個輸出,其工作波形如圖3.8所示,試給出該邏輯電路的最小項表達式,并給出采用與門、或門和非門構成的邏輯電路圖。
圖3.8例3.1.4的工作波形
解:根據(jù)波形圖寫出波形圖相對應的真值表,如表3.6所示。
由ABCD為1110和1100可知C不為輸出;
由ABCD為0001和1001可知A不為輸出;
由ABCD為0101和0001可知B不為輸出。
所以,A、B、C為輸入,D為輸出,表3.7是電路的真值表。
根據(jù)真值表可以得其最小表達式為D=Σm(0,2,3,4),邏輯電路如圖3.9所示。
圖3.9例3.1.4的邏輯電路
【例3.1.5】已知電路輸出F與輸入A、B、C之間的邏輯函數(shù)代數(shù)式為F=A?C+BC?+AB?,給出采用與非門的電路圖,并給出最小項表達式和波形圖。
解:采用反演律可知
采用與非門的邏輯電路如圖3.10所示
圖3.10例3.1.5的邏輯電路
列出A、B、C各種取值,并計算相應的F,形成如表3.8所示的真值表。
由真值表可以給出最小項表達式為F=Σm(1,2,3,4,5,6),其工作波形如圖3.11所示。
圖3.11例3.1.5的工作波形
【例3.1.6】已知邏輯電路如圖3.12所示,給出其最小項表達式和工作波形圖。
圖3.12例3.1.6的邏輯電路
解:該電路的邏輯函數(shù)表達式為
其真值表如表3.9所示。
其最小項表達式為F=Σm(0,1,2,3,7)。
其工作波形如圖3.13所示。
圖3.13例3.1.6的工作波形
2.最大項和標準或與式
n個變量的最大項是n個變量的“或項”,其中每一個變量都以原變量或反變量的形式出現(xiàn)一次。n個變量可以構成2n個最大項。與最小項恰好相反,對于任何一個最大項,只有一組變量取值使它為0,而變量的其余取值均使它為1。最大項用符號Mi表示。表3.10列出了三變量邏輯函數(shù)的所有最小項和最大項。
從表中可以發(fā)現(xiàn),變量數(shù)相同,編號相同的最小項和最大項之間存在互補關系,即mi=M?i,Mi=m?i。
最大項具有以下性質:
(1)n變量的全部最大項的邏輯乘恒為0,即∏Mi=0。
(2)n變量的任意兩個不同的最大項的邏輯和必等于1,即Mi+Mj=1(i≠j)。
(3)n變量的每個最大項有n個相鄰項。例如,三變量的最大項(A+B?+C)有三個相鄰項:(A?+B?+C)、(A+B?+C?)、(A+B+C)。
在一個或與式中,如果所有的或項均為最大項,則稱這種表達式為最大項表達式,或稱為標準或與式。
一個邏輯函數(shù)的真值表已給出,要寫出該函數(shù)的最大項表達式,只要將F值為0所對應的變量取值作為最大項的下標,將所有值為0的最大項相乘即可。
【例3.1.7】已知F的真值表如表3.11所示。試寫出函數(shù)F的最大項表達式。
解:由真值表可知,當A、B、C取值分別為000、011、101、110時,F(xiàn)為0,因此最大項表達式由這四種組合所對應的最大項進行相與構成,表示為:
F=(A+B+C)(A+B?+C?)(A?+B+C?)(A?+B?+C)=∏M(0,3,5,6)
比較例3.1.3的最小項可以看出,一張真值表既可以采用最小項表示,也可以采用最大項表示,兩種表達式中不會有相同的序號,且兩種表達式的項數(shù)之和為2n。
3.1.3具有無關項的邏輯函數(shù)
邏輯問題分為完全描述和非完全描述兩種。如果對于輸入變量的每一組取值,邏輯函數(shù)都有確定的值,則稱這類函數(shù)為完全描述邏輯函數(shù)。如果對于輸入變量的某些取值組合邏輯函數(shù)值不確定,即函數(shù)值可以為0,也可以為1,那么這類函數(shù)稱為非完全描述的邏輯函數(shù)。對應輸出函數(shù)值不確定的輸入最小項(或最大項)稱為無關項,具有無關項的邏輯函數(shù)就是非完全描述的邏輯函數(shù)。
無關項發(fā)生在以下兩種情況:
(1)由于某種條件的限制(或約束)使得輸入變量的某些組合不可能出現(xiàn),因而它們所對應的函數(shù)值可以任意假設,可以為1,也可以為0。這些不允許出現(xiàn)的組合所對應的最小項稱為約束項(或禁止項)。
(2)在某些輸入變量的取值下,其函數(shù)值為1或為0都可以,并不影響整個系統(tǒng)的功能。這些使函數(shù)不確定的變量取值所對應的最小項稱為任意項(或隨意項)。
非完全描述邏輯函數(shù)一般用以下方法表示:
(1)在真值表中填?或×、d,表示函數(shù)值為0或1均可。
(2)在邏輯表達式中用約束條件來表示。
【例3.1.8】采用非完全描述方式將表3.12所示的真值表寫成邏輯函數(shù)表達式。
解:從表中可以看出,無關項的特點是三個變量中至少有兩個全為1,即AB+BC+AC=1,所以約束條件為AB+BC+AC=0。
邏輯函數(shù)可以寫成
3.2函數(shù)化簡
邏輯函數(shù)化簡通常是將邏輯函數(shù)化簡為最簡的與或式或者最簡或與式。最簡與或(或與)式是指表達式中與項(或項)的個數(shù)最少,每個與項(或項)中的變量數(shù)最少。主要有代數(shù)化簡法和卡諾圖化簡法。
3.2.1代數(shù)化簡
代數(shù)化簡法主要是采用表3.13所示的邏輯代數(shù)基本公式消去邏輯函數(shù)表達式中多余的項,以求得邏輯函數(shù)的最簡表達式,通常采用并項法、吸收法和配項法。
3.2.2卡諾圖化簡
卡諾圖(K圖)由美國工程師卡諾首先提出,是一種按相鄰規(guī)則排列的最小項方格圖,利用相鄰項不斷合并的原則使邏輯函數(shù)得到化簡。由于該方法采用圖形化簡,簡單且直觀,但不適合變量數(shù)太大的邏輯函數(shù),通常應用于含有3-5個變量的邏輯函數(shù)的化簡。
1.K圖的構成
在邏輯函數(shù)的真值表中,輸入變量的每一種組合都和一個最小項相對應,這種真值表也稱最小項真值表??ㄖZ圖就是根據(jù)最小項真值表按一定規(guī)則排列的方格圖。
圖3.14是三和四變量的K圖,每個小格對應一個最小項。
圖3.14三、四變量的K圖
2.邏輯函數(shù)的K圖表示
K圖是真值表的一種特殊形式,n變量的K圖包含了n變量的所有最小項,因此任何一個n變量的邏輯函數(shù)都可以用n變量K圖來表示。
3.最小項合并
在卡諾圖中,凡是幾何位置相鄰的最小項均可以合并。K圖中相鄰項表現(xiàn)為:相接、相對(即任一行或列的兩頭)、相重(對折起來位置重合)。
圖3.15給出若干采用K圖化簡的示例。
圖3.15K圖化簡示例
【例3.2.1】用K圖將以下函數(shù)式化簡為最簡與或式。
F=B?CD+A?BD?+B?CD?+ABC?+ABCD
解:(1)畫出F的K圖。給出的F為一般與或式,將每個與項所覆蓋的最小項都填1,K圖如圖3.16所示。
(2)畫K圈化簡函數(shù)。
本例有兩種圈法,如圖3.16所示。
(3)寫出最簡與或式。
圖3.16(a)所示圈法的最簡與或式為F=B?C+A?CD?+BC?D?+ABD,圖3.16(b)所示圈法的最簡與或式為F=B?C+A?BD?+ABC?
+ACD。
該例說明,邏輯函數(shù)的最簡式并不是唯一的。
圖3.16例3.2.1的K圖
4.具有無關項的邏輯函數(shù)化簡
在非完全描述邏輯函數(shù)中,由于在無關項的相應取值下,函數(shù)值隨意取成0或1都不影響函數(shù)原有的功能,因此可以充分利用這些無關項來化簡邏輯函數(shù),即采用K圖化簡函數(shù)時,可以利用?(或×)來擴大K圈。
對前面的邏輯函數(shù)進行化簡,如圖3.17所示,可得F=A+B。
圖3.17具有無關項的邏輯函數(shù)化簡
3.3電路結構
邏輯電路是一個因果系統(tǒng),只有輸入發(fā)生變化輸出才可能變化,輸入沒變化,輸出是不可發(fā)生變化的。根據(jù)輸入與輸出之間的變化關系,邏輯電路可分為兩類:組合邏輯電路(簡稱組合電路)和時序邏輯電路(簡稱時序電路)。
3.3.1組合電路
如果一個電路的輸入相同時輸出也相同,那么這個電路為組合電路。電路中任何一時刻的穩(wěn)態(tài)輸出僅僅取決于該時刻的輸入,而與電路原來的狀態(tài)無關。組合電路無記憶功能,只有從輸入到輸出的通路。其一般框圖如圖3.18所示,其中X=(x1,…,xn)表示輸入變量,Z=(z1,…,zm)表示輸出函數(shù),每一個輸出函數(shù)可以表示為Z=F(X),其中F=(f1,...,fm),fi是zi與X之間的邏輯函數(shù),即
圖3.18組合邏輯電路框圖
【例3.3.1】某電路的工作波形如圖3.19所示,輸入為A、B、C,輸出是F1、F2,試判定它們是否為組合電路輸出。
圖3.19例3.3.1的工作波形
解:根據(jù)組合邏輯電路的特點可知,通過比較相同的A、B、C組合其輸出是否相同來判定是否為組合邏輯輸出。
列出波形真值表如表3.14所示。
從表中對比可以發(fā)現(xiàn):相同的A、B、C的組合,F(xiàn)1是相同的,但F2會有不同,如ABC=010時,前面時刻F2=1,后面時刻F2=0。所以判定F1是組合邏輯輸出,F(xiàn)2不是。
組合電路都采用邏輯門構造,根據(jù)不同的功能可設計成專用功能的集成電路,如編碼器、譯碼器、分配器、選擇器、加法器和比較器等常用組合邏輯集成電路,具體的功能將在后續(xù)的組合電路章節(jié)內詳細講述。
3.3.2時序電路
如果一個電路的輸入相同時輸出卻不相同,那么這個電路一定不是組合電路。相同輸入在不同時刻的輸出不同表明邏輯運算與時間有關,這類電路稱為時序電路。時序電路中任一時刻的輸出不僅與該時刻輸入變量有關,而且與決定電路原狀態(tài)的過去輸入有關。
時序電路一般框圖如圖3.20所示,它分為兩部分:組合電路和存儲電路。
圖3.20時序邏輯電路框圖
存儲電路具有記憶功能,通常采用觸發(fā)器來實現(xiàn),其記憶的值稱為狀態(tài)。通常狀態(tài)的改變是在一定條件下發(fā)生的,這種條件稱為觸發(fā)條件,觸發(fā)條件通常是指某一輸入信號的特征,如高電平、低電平、上升沿(從低電平變?yōu)楦唠娖降乃查g)、下降沿(從高電平變?yōu)榈碗娖降乃查g)。只有觸發(fā)條件滿足,狀態(tài)才可能發(fā)生變化。
電路有三個關鍵邏輯函數(shù),即:狀態(tài)轉移函數(shù)為Qn+1=H(X,Q),Qn+1是指觸發(fā)條件滿足時狀態(tài)的更新值;輸出函數(shù)為Z=F(X,Q);激勵函數(shù)為Y=G(X,Q)。
時序電路不僅需要邏輯門,還需要構成存儲電路的觸發(fā)器。觸發(fā)器將在后續(xù)章節(jié)介紹。多數(shù)觸發(fā)器采用時鐘信號觸發(fā),觸發(fā)條件可以為高低電平或升降邊沿。
【例3.3.2】圖3.21是一時序電路工作波形,試確定輸入、輸出、觸發(fā)條件。
圖3.21例3.3.2的工作波形
解:時序電路輸出的變化取決于輸入的變化和內部狀態(tài)的變化,內部狀態(tài)的變化取決于觸發(fā)條件。
在圖中,A變化時B也變化,比如B的下降沿;但A不變化時B也會變化,比如B的上升沿。因此,A不可能為輸入,故B為輸入,A為輸出。在B的下降沿,A才發(fā)生變化,所以B下降沿是觸發(fā)條件。
【例3.3.3】圖3.22是一時序電路工作波形,試確定輸入、輸出以及觸發(fā)條件。
圖3.22例3.3.3的工作波形
解:分析每個信號變化時與其它信號之間的關系。
從波形圖可知,有的時間內A和C不變,B卻變化,故B不能為輸出,只能是輸入;有的時間內B和C不變,A卻變化,故A也是輸入。C變化時,A和B會有一個發(fā)生變化,故C是輸出。
C變化時,要么A在從低向高變化,要么B在從低向高變化,因此A和B的上升沿是C變化的觸發(fā)條件。當C為低時,只有A的上升沿能使C變?yōu)楦?,B的上升沿無效;當C為高時,只有B的上升沿能使C變?yōu)榈?,A的上升沿無效。
所以,A和B是電路輸入,C是電路輸出,觸發(fā)條件為A和B的上升沿。該電路是一種雙觸發(fā)的脈沖發(fā)生器。
脈沖是指電路中一種相對較短的電平信號。電平為高的脈沖稱為正脈沖,電平為低的脈沖稱為負脈沖。
3.4硬件描述語言
邏輯符號包括各種邏輯運算的特定形式符號、觸發(fā)器邏輯符號和專用集成電路符號等。功能電路的描述方法是通過連接線將所用的邏輯符號連接在一起構成電路。硬件描述語言采用專用語句以文本描述的方式構建功能電路。它可以減少對邏輯化簡的過度依賴,可以直觀地利用規(guī)定的運算符來實現(xiàn)功能,有利于大規(guī)模電路的實現(xiàn)。
邏輯符號方式可以直觀看出邏輯關系,并非常容易定義連接信號,但對于復雜的邏輯電路需要太多的符號及連接線,書寫比較麻煩;硬件描述語言程序可以減少復雜邏輯的符號描述,并且便于維護,但不直觀,設計者不易形成整體框架。
HDL語言最為常用的有VHDL和VerilogHDL兩種,本書主要采用VerilogHDL。
3.4.1模塊結構
Verilog是一種非常流行的硬件描述語言。Verilog程序的最基本設計單元是“模塊”。模塊從關鍵字module開始,到endmodule結束,其中每條語句以“;”分隔(除了特殊語句)。
一個完整的模塊由5部分組成:
(1)模塊定義行:定義模塊名稱和輸入輸出參數(shù)列表。
2)說明部分:定義不同的項。通常包括:端口類型(input、output和inout)、寄存器(reg)、連線(wire)、參數(shù)(parameter)、函數(shù)(function)和任務(task)。
(3)描述體部分:描述模塊的行為和功能、子模塊的調用和連接、邏輯門的調用、用戶自定義部件的調用、初始態(tài)賦值等。
(4)結束行:以endmodule結束。
1.模塊聲明
模塊聲明主要由模塊名稱和模塊輸入輸出端口列表組成,其定義格式為:
module模塊名(端口名1,端口名2,...,端口名n);
關鍵字endmodule表示模塊的結束。
2.端口定義
對模塊的輸入輸出端口都要有明確定義。
輸入端口定義為:
input端口名1,端口名2,...,端口名n;
輸出端口定義為:
output端口名1,端口名2,...,端口名n;
雙向端口定義為:
inout端口名1,端口名2,...,端口名n;
如果端口是多位的,那么需要在端口類型后加上位寬聲明,比如x是一個8位的輸出端口,其定義為:
output[7:0]x;
3.信號類型聲明
對模塊中所用到的所有信號(包括輸入和輸出信號)都必須進行數(shù)據(jù)類型聲明。Verilog共有19種數(shù)據(jù)類型,最為常用的類型有wire(連線)和reg(寄存器)。wire類型表示直通,即只要輸入有變化,輸出馬上無條件地反映。reg類型表示一定要有觸發(fā),輸出才會反映輸入。
假定x是3位連線型信號,y和z為一位寄存器型信號,cnt為4位寄存器型信號,它們的類型聲明為:
wire[2:0]x;
regy,z;
reg[3:0]cnt;
4.邏輯功能定義
模塊最核心部分是邏輯功能定義,通常采用assign持續(xù)賦值語句、always過程賦值塊和調用元件(元件例化)等方式構成邏輯功能。邏輯功能定義中的所有持續(xù)賦值語句和過程賦值語句是并行同時執(zhí)行的,不是按照書寫先后進行的。
5.模塊模板
3.4.2運算量與運算符
1.常量
Verilog常量主要有三種類型:整數(shù)、實數(shù)和字符串,下面主要介紹整數(shù)。采用4種方式來表示邏輯狀態(tài),即0表示邏輯0(低電平)、1表示邏輯1(高電平)、x表示不確定、z表示高阻態(tài)。
2.變量
變量可以是一位的,也可以是多位的,采用非負整數(shù)作為下標來定義,變量的位數(shù)也稱為位寬。
3.運算符
按功能來分,常用運算符主要有:算術運算符、位運算符、邏輯運算符、關系運算符、縮減運算符、條件運算符、移位運算符和拼接運算符等9類。
按運算符所帶操作數(shù)的個數(shù)來分,運算符可分為3類,分別為:單目運算符,可帶一個操作數(shù);雙目運算符可帶兩個操作數(shù);三目運算符可帶三個操作數(shù)。
1)算術運算符
常用運算有五個:+(加)、-(減)、*(乘)、/(除)、%(求模)。
2)位運算符
&(按位與)、|(按位或)、~(按位非)、^(按位異或)、~^(按位同或),主要應用于以位作為運算對象的邏輯運算,如4‘b1010&4’b1100結果為4‘b1000。
3)邏輯運算符
&&(邏輯與)、||(邏輯或)、!(邏輯非),主要是用于以邏輯1和邏輯0作為運算對象的邏輯運算,多用于關系運算的級聯(lián)。
4)關系運算符
<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、===(全等于)、!=(不等于)、!==(不全等于)。
5)縮位運算符
&(與)、~&(與非)、|(或)、~|(或非)、^(異或)、~^(同或),該運算為單目運算,將運算量的各位作為邏輯量進行運算符規(guī)定的操作。
6)移位運算符
<<(左移)、>>(右移),該移位是邏輯移位,采用0進行補充。
7)條件運算符
運算符為“?:”,它是三目運算符,其格式為<條件>?<表達式1>:<表達式2>。若條件成立,則取表達式1的值,否則取表達式2的值。
8)位拼接運算符
運算符為“{}”,它將{}中的變量拼接為一個多位的變量。如{x,y[2:1]}表示將變量x、變量y的位y[2]和y[1]拼接在一起來使用。
3.4.3行為語句
1.過程語句
always語句為過程語句,其表達式為:
always@(<觸發(fā)條件列表>)
觸發(fā)條件列表也稱為敏感信號表達式,觸發(fā)條件寫在敏感信號表達式之中,當觸發(fā)條件滿足時,其后的語句才能被執(zhí)行。
觸發(fā)條件列表中的多個條件之間采用“or”來連接。
2.塊語句
begin-end串行塊中的語句按串行方式順序執(zhí)行。
3.賦值語句
1)用assign持續(xù)賦值
該語句一般用于組合邏輯的賦值,稱為連續(xù)賦值,只需要將邏輯表達式放在關鍵字后面即可。例如,F(xiàn)1=AB+A?C?寫為
assignF1=(A&B)|(~A&~C);
2)用always過程賦值
當過程賦值較多時,通常采用begin-end構成串行塊,在塊中可以對多個變量進行賦值操作。在過程賦值中,只有寄存器類型的變量才能被賦值。
賦值有非阻塞賦值和阻塞賦值兩種方式。
(1)非阻塞賦值
在整個過程塊結束時才完成賦值操作。
(2)阻塞賦值
該語句結束后賦值操作完成。
4.條件語句
條件語句有if-else語句和case語句兩種,它們都是順序語句,只能放在always塊內。
1)if-else語句
其格式與C語言中的if-else語句類似,即
(1)if(表達式)語句/語句塊;
(2)if(表達式)語句1/語句塊1;
else語句2/語句塊2;
(3)if(表達式1)語句1/語句塊1;
elseif(表達式2)語句2/語句塊2;
?
elseif(表達式n)語句n/語句塊n;
else語句n+1/語句塊n+1;
在對表達式的值進行判斷中,若為0、x和z則按“假”處理;若為1則按“真”處理。
2)case語句
case語句是一種多分支語句,它有case、casez和casex三種表示方法,語句格式為
case(條件表達式)
值1:語句1;
值2:語句2;
┇
值n:語句n;
default:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合伙出資開店經(jīng)營合同范本
- 厚街工廠蔬菜配送合同范本
- 展會廣告服務合同范本
- 木材粉碎合同范本
- 鄉(xiāng)級學校保安合同范本
- 2025年靜止無功發(fā)生器項目建議書
- 衛(wèi)浴拆裝服務合同范本
- 加盟酒店品牌合同范本
- 原木板材加工合同范本
- 生鮮業(yè)務采購合同范本
- 過敏性休克完整版本
- 鉗形電流表使用PPT
- 建筑工程分部分項工程劃分表(新版)
- 福建省危險化學品企業(yè)安全標準化(三級)考核評分標準指導意見(試行)
- 上海市長寧區(qū)2022年高考英語一模試卷(含答案)
- 城鎮(zhèn)詳細設計控制性詳細規(guī)劃
- 智能垃圾桶系統(tǒng)的設計論文
- 質量管理體系過程識別矩陣圖及與條款對照表
- 北碚區(qū)幼兒園
- 2021年度錨索張拉機具及錨桿拉力計技術規(guī)格書
- 2022年人力資源管理師課程表
評論
0/150
提交評論