數字邏輯與系統設計 課件 第4章 時序邏輯電路_第1頁
數字邏輯與系統設計 課件 第4章 時序邏輯電路_第2頁
數字邏輯與系統設計 課件 第4章 時序邏輯電路_第3頁
數字邏輯與系統設計 課件 第4章 時序邏輯電路_第4頁
數字邏輯與系統設計 課件 第4章 時序邏輯電路_第5頁
已閱讀5頁,還剩120頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第4章時序邏輯電路4.1基本觸發器4.2鐘控D觸發器4.3寄存器和移位寄存器4.4時序電路的分類與功能描述4.5同步時序電路的分析與設計4.6計數器4.7同步輸出時序電路

4.1基本觸發器

圖4-1基本RS觸發器

1.狀態轉移真值表(狀態表)

將觸發器的次態、現態及輸入信號之間的邏輯關系用表格的形式表示出來,這種表格稱為狀態轉移真值表(或狀態表)。

基本RS觸發器的狀態表如表4-1所示,簡化狀態表如表4-2所示。

2.特征方程

描述觸發器邏輯功能的函數表達式稱為觸發器的特征方程。

基本RS觸發器的特征方程為

3.狀態轉移圖(狀態圖)與激勵表

狀態轉移圖是用圖形方式來描述觸發器的狀態轉移規律。

圖4-2為基本RS觸發器的狀態圖,圖中兩個圓圈分別表示觸發器的兩個穩定狀態,箭頭表示在輸入信號的作用下狀態轉移的方向,箭頭旁的標注表示轉移條件。圖4-2基本RS觸發器的狀態圖

激勵表(也稱為驅動表)是表示觸發器由現態轉移到確定的次態時對輸入信號的要求。表4-3為基本RS觸發器的激勵表。

4.波形圖

工作波形圖又稱為時序圖,它反映了觸發器的輸出狀態在輸入信號作用下隨時間變化的規律,是可以通過電子儀器測量觀測到的波形。圖4-3為基本RS觸發器的工作波形,圖中虛線部分表示狀態不確定。

圖4-3基本RS觸發器的工作波形

【例4.1.1】

護士呼叫系統如圖4-4所示。該系統包括兩個按鍵和一個指示燈,一個按鍵S用于病人呼叫護士,另一個按鍵R用于護士結束治療后清除病人的請求。當病人按下S鍵時,指示燈點亮,即使病人釋放按鍵,指示燈仍保持點亮狀態,這表示有待處理的呼叫請求。當護士完成治療,按下R鍵,指示燈熄滅,表示呼叫請求已被處理。圖4-4護士呼叫系統

假定按鍵按下時產生低電平,抬起時產生高電平。指示燈接收高電平時亮,低電平時滅。

該電路有一個輸入用于激活(開啟)功能,而另一個輸入則用于解除(關閉)功能,其邏輯功能與RS觸發器相似。R鍵和S鍵的信號作為RS觸發器有兩個輸入端RD

和SD

的信號,觸發器的輸出端Q

的值恰好是指示燈所需要的控制電平。系統的電路連接如圖4-5所示。

圖4-5護士呼叫系統的電路

4.2鐘控D觸發器

4.2.1電平觸發觸發器的狀態只有在時鐘脈沖內才發生變化,這種對時鐘脈沖電平敏感的觸發器也稱為鎖存器。高電平鎖存器的邏輯電路和邏輯符號如圖4-6的(a)和(b)所示。

圖4-6高電平鎖存器

圖4-7為該鎖存器的工作波形。圖4-7高電平鎖存器的工作波形

對于低電平鎖存器,其邏輯符號如圖4-8(a)所示,輸出僅在CP為低電平時才發生變化,工作波形如圖4-8(b)所示。圖4-8低電平鎖存器

4.2.2邊沿觸發

電平觸發方式可能使狀態在約定電平期間發生多次翻轉,也稱為空翻。為了防止出現空翻現象,可采用邊沿觸發。邊沿觸發僅在約定的電平邊沿(上升沿或下降沿)到達時才可能發生狀態變化,并且次態僅由該邊沿變化瞬間的輸入和狀態決定;在非約定的邊沿和電平期間,輸入信號的變化不會引起狀態的變化。

圖4-9(a)是上升沿D觸發器符號,圖4-9(b)是其狀態轉移表,圖4-9(c)是其工作波形圖。

圖4-9上升沿D觸發器

圖4-10(a)是下降沿D觸發器符號,圖4-10(b)是其狀態轉移表,圖4-10(c)是其工作波形圖。圖4-10下降沿D觸發器

實際的觸發器通常有復位和置位信號,如圖4-11所示。其中復位RD

和置位SD

是低電平有效,復位R和置位S是高電平有效,不同器件中的D觸發器采用的有效電平不同。圖4-11可復置位的D觸發器

復位和置位通常有兩種方式,即異步方式和同步方式。

1.異步復位/置位D觸發器

異步方式是指只要復位或置位信號有效,輸出就立即發生變化,而時鐘和數據輸入對觸發器不起任何影響。

2.同步復位/置位D觸發器

同步方式是指在復位或置位信號有效且時鐘觸發時輸出進行復位或置位,輸出端的值由復位或置位信號決定,但輸出發生變化的時刻由時鐘決定。

兩種方式下的波形如圖4-12所示圖4-12上升沿D觸發器的清零和置位

在實際應用中,有時需要D觸發器工作受控。為此引入使能信號E,使D觸發器僅在E有效時才產生觸發操作。帶使能端的可復置位D觸發器如圖4-13所示,其功能表如表4-5所示。圖4-13帶使能端的可復置位D觸發器

4.2.3觸發器的應用

【例4.2.1】

二分頻電路有一個輸入時鐘和一個輸出時鐘,并可異步復位,輸出時鐘的周期是輸入時鐘的二倍,如圖4-14所示。采用D觸發器進行電路設計并給出HDL代碼。圖4-14例4.2.1的波形圖

圖4-15例4.2.1的邏輯電路

【例4.2.2】

兩個帶異步清零和置位端的上升沿D觸發器構成圖4-16所示的電路,試畫出波形圖,說明功能,并給出Verilog描述。圖4-16例4.2.2的電路圖

圖4-17例4.2.2的工作波形

4.3寄存器和移位寄存器

4.3.1寄存器采用多個D觸發器保存一組二進制信息的電路稱為寄存器,也稱為數據寄存器。m個D觸發器采用相同的觸發條件同時保存m個數據,其基本結構如圖4-18所示。

圖4-18數據寄存器的基本結構

帶使能端的寄存器只有在使能信號有效時才鎖存。帶使能端的上升沿觸發4位寄存器如圖4-19所示。圖4-19帶使能端的上升沿觸發4位寄存器

4.3.2移位寄存器

1.基本結構

由圖4-20所示的若干D觸發器級聯構成的D觸發器組稱為移位寄存器。數據從S輸入,每個時鐘節拍接收一位保存在D觸發器內。圖4-20移位寄存器結構

圖4-21所示電路是由D觸發器組成的四位單向移位寄存器。其中,RST為復位,Ri為移位輸入,Ro

為移位輸出,輸出端Q3Q2Q1Q0

為并行輸出,CP為時鐘脈沖輸入。圖4-21四位單向移位寄存器

圖4-22是該移位寄存器的工作波形示例。圖4-22四位單向移位寄存器的移位波形

在數字信號處理系統中,需要按順序保存以前的數據用

于后面的處理。例如,y(n)=x(n)+x(n-1)+x(n-2),x(n)和y(n)是當前時

出,而x(n-1)和x(n-2)是以前的輸入數據,需要保存。圖4-23是計算過程示意圖,每次參與計算的量按時刻先后排列,當前時刻參與計算的數據在計算結束后移到下一時刻參加下一時刻的輸出計算。

圖4-23計算過程

數據寄存器級聯成移位寄存器實現了數據延時。它采用兩個寄存器DFF1和DFF2

分別保存位置x(n-1)和x(n-2),每次計算結束時,DFF2

鎖存DFF1

的輸出,DFF1

鎖存當前輸入,計算電路如圖4-24所示,圖4-25為計算波形示例。

圖4-24計算電路

圖4-25計算波形

2.可置數移位寄存器

若將D觸發器的數據輸入端通過2選1MUX來連接前級觸發器的狀態和并行輸入,如圖4-26所示,則構成可預置移位寄存器。

圖4-26可預置移位寄存器

可置數移位寄存器既可以實現串入并出,也可以實現并入串出。其功能如表46所示。

4.4時序電路的分類與功能描述

4.4.1時序電路的分類

1.電路結構時序邏輯電路的結構框圖如圖4-27所示。其中,X=(x0,x1,…,xn-1)為外部輸入信號;Q=(q0,q1,…,qj-1)為存儲電路的狀態輸出,也是組合邏輯電路的內部輸入;Z=(z0,z1,…,zm-1)為外部輸出信號;Y=(y0,y1,…,yk-1)為存儲電路的激勵信號,也是組合邏輯電路的內部輸出。

圖4-27時序邏輯電路結構

四組信號之間的邏輯關系可用以下三個方程組來描述:

(1)輸出方程Z=F(X,Q),即zm=fm(x0,…,xn-1,qq0,…,qj-1)。

(2)激勵方程Y=G(X,Q),即ym=gm(x0,…,xn-1,q0,…,qj-1)。

(3)狀態方程Qn+1=H(Y,Q),即qm=hm(y0,…,yk-1,q0,…,qj-1)。

2.同步時序和異步時序

時序電路按狀態變化的特點可分為同步時序電路和異步時序電路。在同步時序電路中,電路狀態的變化在同一個時鐘脈沖的作用下發生,即各觸發器狀態的轉換同時完成;在異步時序電路中,不使用同一個時鐘脈沖,即各觸發器狀態的轉換不是同時進行的。

3.米里型和摩爾型

輸出與現態和輸入都有關的時序電路稱為米里(Mealy)型時序電路,如圖4-28(a)所示,它是經典的時序電路結構。米里型是當前輸入與現態進行組合邏輯,只要輸入變化或現態變化,其輸出就可能發生變化。

輸出僅與現態有關的時序電路稱為摩爾(Moore)型時序電路,如圖4-28(b)所示,輸出的變化僅在狀態變化時發生。其輸出方程為Z=F(Q),Z

是狀態的組合輸出。

圖4-28米里型和摩爾型結構

4.4.2時序電路的功能描述

1.狀態圖

狀態圖以圖形的方式來描述時序電路的狀態轉移規律以及輸出與輸入的關系。對于n個狀態變量可以組成2n

個不同的狀態,每個狀態用圓圈表示,帶箭頭的指向線表示狀態轉移方向,轉移線上標明發生該轉移的條件。在米里型時序電路中,外部輸出在轉移條件中給出,如圖4-29(a)所示;在摩爾型時序電路中,外部輸出在圓圈內指明,如圖4-29(b)所示。

圖4-29時序電路狀態圖

2.狀態表

狀態表用列表的方式來描述時序電路的輸出Z、次態Qn+1

和外部輸入

X、現態

Q

之間的邏輯關系。對于只有時鐘輸入的時序電路,狀態表只描述現態和次態之間的關系。

如圖4-30(a)所示的米里型電路的狀態表,該狀態表采用現態Q

為行,輸入X為列,表格中內容表示次態Qn+1

和輸出Z,兩者中間采用“/”分隔。

圖4-30(b)所示為摩爾型電路的狀態表,由于輸出Z

與輸入X無關,僅與現狀Q

有關,故將輸出Z單獨作為一列,僅描述與現態Q

之間的關系。

圖4-30時序電路狀態表

3.邏輯方程式

邏輯方程式有三個方程:輸出方程Z=F(X,Q)、激勵方程Y=G(X,Q)、狀態方程Qn+1=H(X,Q)。

米里型電路的三個方程全部采用組合XQ的最小項表達式來描述。摩爾型電路的狀態方程采用XQ的最小項標準表達式來描述,輸出方程只需要采用Q

的最小項標準表達式來描述。

4.時序圖

時序圖即為時序電路的工作波形圖,它以波形的形式描述時序電路的內部狀態Q

和外部輸出Z

隨輸入信號X

變化的規律。

5.HDL描述

模塊內部含有兩個部分,即輸出組合邏輯和狀態轉移邏輯,觸發條件為CP的上升沿。

6.自啟動

無論時序電路處理什么初始狀態,都會自動經過有限次的跳變后最終進入設定的狀態中,這種功能稱為自啟動。

如果時序電路不能自啟動,則需要采取措施加以解決。一種方法通過修改邏輯設計來解決;另一種解決辦法是在電路開始工作時,通過復位信號將電路的狀態置成某一個有效狀態,也稱為初始化。

【例4.4.1】

如圖4-31所示的電路結構,外部輸入為RST、X1

和X0,輸出為Z,內部有兩個D觸發器,輸出分別為Q1

和Q0。圖4-31例4.4.1的電路結構

該電路可以實現兩種時序電路,一種是米里型電路,另一種是摩爾型電路。兩種電路的狀態圖如圖4-32所示。

試給出相應的狀態表、邏輯方程式和HDL代碼。圖4-32例4.4.1的狀態圖

解(1)米里型電路。

根據所給出的狀態圖可以列出如表4-7所示的狀態表。

電路的三個方程全部采用組合

X1X0Q1Q0

的最小項表達式來描述,即

對于

D觸發器來說,其特征方程為Qn+1=D,激勵方程為

(2)摩爾型電路。

根據所給出的狀態圖可以列出如表4-8所示的狀態表。

4.5同步時序電路的分析與設計

4.5.1同步時序電路的分析

1.觸發器描述的電路同步時序電路的分析過程一般按以下步驟進行:

(1)根據邏輯圖求出時序電路的輸出方程和各觸發器的激勵方程。

(2)根據已求出的激勵方程和所用觸發器的特征方程獲得時序電路的狀態方程。

(3)根據時序電路的狀態方程和輸出方程建立狀態表。

(4)根據狀態表畫出狀態圖。

(5)確定初始狀態和輸入波形,根據狀態表畫出波形圖。

(6)分析電路的邏輯功能。

【例4.5.1】

有三個LED的控制電路圖如圖4-33所示,分析該同步時序電路的邏輯功能。圖4-33例4.5.1的邏輯電路圖

解(1)激勵方程:

(2)狀態方程:

(3)列出狀態表。

該電路為摩爾型時序電路。可由狀態方程列出該電路的狀態表,如表4-9所示。

(4)列出狀態圖。

由狀態表可得如圖4-34(a)所示的狀態圖。圖中的110、101、011這三個狀態構成了閉合回路(環)。電路正常工作時,狀態總是在這個環中按這個序列循環變化。因此,將處于環中的狀態稱為有效狀態,將未在環內的狀態稱為無效狀態或多余狀態。若在一個時序電路中所有的無效狀態都能通向有效狀態,則稱該時序電路具有自啟動能力。

(5)畫波形圖。

根據狀態圖中的有效狀態畫出波形圖,如圖4-34(b)所示。由波形圖可以看出,當電路正常工作時,各輸出端依次出現負脈沖,其脈沖寬度等于CP的周期T,循環周期為3T。

圖4-34例4.5.1的狀態圖及波形圖

(6)邏輯功能分析。

從以上分析可以看出,該電路在CP脈沖作用下,把寬度為

T

的負脈沖以三次分配給Q0、Q1

和Q2

各端,因此,該電路是一個脈沖分配器。

由狀態圖和波形圖可以看出,該電路每經過三個時鐘周期循環一次,并且具有自啟動能力。

三個LED輪流發光,發光周期為3T,這種輪流點亮的燈也稱為跑馬燈。

2.HDL描述的電路

同步時序電路的分析過程一般按以下步驟進行:

(1)根據語句找出時序電路的輸入、輸出和狀態。

(2)分析語句的含義,初步給出部分功能。

(3)列出狀態圖或狀態表。

(4)分析電路的邏輯功能。

【例4.5.2】

圖4-35所示的電路是一個三燈顯示控制電路??刂齐娐返腍DL代碼如下:

分析該邏輯電路的功能。圖4-35例4.5.2的電路結構

解(1)確定輸入、輸出和狀態。

輸入CP上升沿有效,Z

為3位輸出,Q

為二位狀態量,最多4個狀態。

(2)語句分析。

由always@(posedgeCP)可以看出:觸發時刻為CP上升沿。

由過程中賦值語句

Q<=Q+1可知電路使用所有狀態,故狀態為00、01、10、11。

由case(Q)語句可以看出:狀態為0時輸出為110,此時只有D0亮;狀態為1時輸出101,此時只有D1

亮;狀態為2時輸出011,此時只有D2亮;狀態為3時輸出101,此時只有D1

亮。

(3)狀態圖。

該狀態圖如圖4-36所示,從圖中可以看出模塊是一個4狀態循環亮燈控制器,其變換規律是往返亮燈,即◎○○→○◎○→○○◎→○◎○→◎○○→…圖4-36例4.5.2的狀態圖

4.5.2同步時序電路的設計

狀態圖是同步時序電路設計的前提。

1.采用

D觸發器設計邏輯電路時

(1)根據狀態圖畫出狀態表,同時對無關狀態進行處理以保證系統的自啟動性。

(2)根據狀態表列出狀態方程和輸出方程的最小項表達式,邏輯變量為

X和Q

的組合。

(3)列出激勵方程,并畫出邏輯電路圖。

2.采用HDL描述時

(1)根據狀態圖畫出狀態表,同時對無關狀態進行處理以保證系統的自啟動性。

(2)采用always和case/if語句直接對狀態和輸出進行賦值。

【例4.5.3】

某邏輯電路的狀態轉移如圖4-37所示,試采用D觸發器和HDL兩種方式描述電路。圖4-37例4.5.3的狀態轉移圖

解(1)采用D觸發器描述。

列出狀態表,如表4-10所示。

由表4-10的狀態表可知系統中存在無關狀態,需要自啟動處理。

為了保證電路的自啟動,需要確定真值表的某些無關項的值。采用集成觸發器實現時,無關項的次態取值最好與相鄰項的取值相同,其狀態表修改如表4-11所示。

列狀態方程:

列激勵方程,并畫出邏輯電路。

采用D觸發器時激勵方程為

邏輯電路如圖4-38所示。圖4-38例4.5.3的D觸發器邏輯電路

(2)采用HDL描述。

列出狀態表,如表4-11所示。其中無關項的次態值只要取有效態之一即可,假定取值為0。

②HDL描述:

仿真波形如圖4-39所示,其中Q

為3位二進制數。

圖4-39例4.5.3的仿真波形

4.6計

計數器的主要功能是累計輸入脈沖的個數。它是一個周期性的時序電路,其狀態轉移如圖4-40(a)所示,其中含有一個閉合環。閉合環循環一次所需要的時鐘個數

M

稱為模。計數器的典型電路邏輯符號如圖4-40(b)所示,其中,RST為異步清零信號,OC為進位標志信號,CP為計數時鐘,Q

為計數輸出。

圖4-40模M的計數器

4.6.1模M二進制計數器

M

二進制計數器由M

個狀態構成,它由n=lbM個觸發器構成,即2n-1<M<2n

。對于可逆模

M

二進制計數器,由于有效狀態數小于2n,所以常規的模

M

計數器狀態取0~M-1共

M

個有效狀態。

1.模M加法計數器

M

加法計數器采用n

個觸發器,計數狀態

Q

的值從0加至

M-1,當計到

M-1時,進位標志輸出OC為1。

該計數器有狀態轉移圖和狀態轉移表如圖4-41所示。

圖4-41模M加法計數器

圖4-41模M加法計數器

2.模

M

減法計數器

M

減法計數器采用n

個觸發器,計數狀態Q

的值從M-1減至0,當計到0時,借位標志輸出OC為1。

該計數器有狀態轉移圖和狀態轉移表如圖4-42所示。

圖4-42模M減法計數器

圖4-42模M減法計數器

3.示例

【例4.6.1】

設計一個模12的加法計數器,計至最后一個數時產生高電平,其他數時為低電平。給出該計數器的HDL代碼及仿真波形。

根據計數器基本原理可知,模12的計數器有12個狀態,假定為0~11,僅當狀態值為11時才輸出高電平。根據分析可以給出如圖4-43所示的狀態圖。

圖4-43例4.6.1的狀態圖

根據狀態圖,結合加法計數器的模板,電路的HDL代碼如下:

仿真HDL代碼如下:

仿真波形如圖4-44所示,其中Q為十進制數。圖4-44例4.6.1仿真波形

【例4.6.2】

設計一個計數可控的模4的加法計數器,當控制信號為高電平時計數器工作,為低電平時計數器保持當前計數值。給出該計數器的HDL代碼及仿真波形。

根據計數器基本原理可知,模4的計數器有4個狀態0~3。當控制信號

T=1時計數,T=0時保持。根據分析可以給出如圖4-45所示的狀態圖。

圖4-45例4.6.2的狀態圖

根據狀態圖,結合加法計數器的模板,電路的HDL代碼如下:

仿真代碼如下:

功能仿真波形如圖4-46所示。圖4-46例4.6.2的仿真波形

4.6.2十進制計數器

十進制計數器如圖4-47所示。十進制計數是按十進制數位(digit)進行,每位Qi只采用0~9這十個數字,即每位由4個二進制位(bit)構成。當十進制計數達到規定值時重新進行下一輪計數,需要置數操作,即把預定的數Di

賦給Qi。圖4-47十進制計數器

十進制計數器由多個位計數器級聯構成,如圖4-48所示。每個位計數器是模10的二進制計數器,其計數值只能為0~9。計數時,僅當前級位計數器產生進位時后級位計數器才計數一次。當所有位計數到達規定的數值時產生進位,下一時鐘進行置數操作,因此每個位計數器也要有置數功能。

圖4-48十進制計數器內部結構

1.十進制位計數器

十進制位計數器用來產生十進制數中的每位值。位計數器是否計數取決于低位的位計數器是否產生進

溫馨提示

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

評論

0/150

提交評論