非同步序向式逻辑_第1页
非同步序向式逻辑_第2页
非同步序向式逻辑_第3页
非同步序向式逻辑_第4页
非同步序向式逻辑_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章 非同步序向式邏輯 Asynchronous Sequential Logic 內容9-1 簡介9-2 分析步驟 9-3 具有latch的電路 9-4 設計的步驟 9-5 狀態和流程表的簡化 9-6 沒有競跑的狀態設定 9-7 雜訊 9-8 設計範例 習題 9-1 簡介序向式電路是由輸入、輸出和內部狀態等一連串的時間序列所定義。 同步的序向式電路中,內部狀態的變化對應到同步的時間脈波。 非同步的序向式電路不使用時脈,內部狀態的變化則發生在輸入變數改變時。非同步序向式電路通常由組合式電路加上回授所組成。 圖9-1 非同步序向式電路的方塊圖 9-1 簡介非同步序向式電路中的目前狀態和次一狀態

2、變數習慣上分別稱為二次變數(secondary variables)和激勵變數(excitation variables)基本模式(fundamental mode)的操作假設電路在穩態時一次只有一個輸入信號改變。 為了確保正確的動作,非同步序向式電路必須在輸入變成另外一個新的值之前達到穩態。因為連線和邏輯閘電路的延遲,令兩個以上的輸入變數準確地在同一時刻改變,不能有不知道哪一個先後的不確定性 9-2 分析步驟 非同步序向式電路的分析包括獲得描述內部狀態序列的表或圖,以及用輸入變數變化表示的輸出函數。 在本章節中,觀察具有回授路徑但是沒有正反器的非同步序向式電路的行為。沒有時脈的正反器稱為鎖閂

3、(latch)電路分析的開始將激勵變數當成輸出並將二次變數當成輸入,然後導出以輸入和二次變數為函數的激勵變數之布氏代數式。 圖9-2 非同步序向式電路的範例 圖中清楚地看到兩條從OR閘輸出回到AND閘輸入的回授迴圈。此電路包括一個輸入變數x和兩個內部狀態。內部狀態有兩個激勵變數Y1和Y2,以及兩個二次變數y1和y2。 圖9-3 圖9-2電路的卡諾圖和轉換表 轉換表 有時為了方便將內部狀態和輸入值結合在一起,稱之為電路的全狀態(total state)。 圖9-3(c)的電路具有四個穩定的全狀態y1y2x = 000,011,110和101以及四個不穩定的全狀態001,010,111和100。

4、9-2 分析步驟 從非同步序向式電路得到轉換表的步驟如下: 1. 求出電路中所有的回授迴圈, 2. 每個回授路徑的輸出標示變數Yi,對應的輸入標示成yi,其中i = 1,2,k,在此k為電路中回授迴圈的編號, 3. 導出所有Y的布式函數,Y為外界輸入和y的函數, 4. 用y變數為列、外界輸入為行,在卡諾圖上畫出Y函數, 5. 將所有的圖結合成一個表,在每個方格中顯示Y = Y1Y2Yk的值, 6.將Y的值等於同一列y = y1y2yk的值之方格圈起來流程表 在非同步序向式電路的設計中,狀態直接用文字符號命名比較方便,不需要參照它們的二進位值,這種表格稱為流程表。因為每一列中只有一個穩定狀態,圖

5、9-4(a)的表被稱為原始流程表(primitive flow table)。 每個狀態必須設定一個獨特的二進位值。這樣的設定將流程表轉變成轉換表 圖9-4 流程表的範例 圖9-5 圖9-4(b)流程表定義之電路的推導過程 競跑現象 當兩個或兩個以上的二進位狀態變數因為輸入變數的變化而改變其值時,非同步序向式電路中會存在競跑現象。 如果電路最後的穩定狀態和狀態變數改變的次序無關,這樣的競跑現象稱為沒有危機的競跑(noncritical race)。如果電路依照狀態改變的順序有可能終止在兩個或兩個以上的穩態,此種稱為危機的競跑(critical race)。正確的操作之下,應當避免危機的競跑現象

6、。 圖9-6 沒有危機競跑的範例 圖9-7危機的競跑範例 循環適當地設定狀態變數的二進位值可以避免競跑現象。導引電路經過中繼的擁有獨一無二之狀態變數變化的非穩態也可以避免競跑現象。當電路經過一串獨一無二之非穩態序列時,稱之為循環(cycle)。 圖9-8循環的範例 穩定性考量 因為非同步序向式電路中存在回授連結,必須小心確保電路不會變成不穩定,不穩定的情形會讓電路在非穩態之間震盪。轉換表的分析方法可以有效地偵測不穩定情形的發生。 圖9-9不穩定電路的範例 9-3 具有latch的電路 本章節中,要運用前一章節介紹的技巧分析SR閂的動作,然後將展示利用SR閂實現非同步序向式電路的步驟。 SR閂是

7、具有兩個輸入S和R以及兩個交互耦合的NOR邏輯閘或兩個交互耦合的NAND邏輯閘形成的數位電路。 圖9-10 NOR邏輯閘的SR閂 圖9-11具有NAND閘的SR閂 圖9-12具有SR閂的電路範例 圖9-13 圖9-12電路的轉換表 具有SR閂的非同步序向式電路的分析步驟分析具有SR閂的非同步序向式電路的步驟總結如下: 1. 每個閂的輸出標示為Yi,如果有外部回授路徑則標示為yi,其中i = 1, 2, , k。 2. 導出每個閂的輸入Si和Ri的布氏函數。 3. 檢查每個NOR閂是否SR = 0,或者每個NAND閂是否 = 0。如果此一條件無法滿足,則電路有可能無法正常操作。 4. 計算出每個

8、NOR閂的,或是每個NAND閂的。 5. 建立一個以y為列且以x輸入為行的圖。 6. 在圖上畫出Y = Y1Y2Yk的值。 7. 在Y = y的地方圈出所有的穩定狀態,所得的圖就是轉換表。閂的激勵表 在分析和定義閂的動作時,SR閂的轉換表非常有用。在二次變數y和輸入S與R已知的時候,它指明激勵變數Y。在實現的過程中,會用到電路的轉換表以求出S和R的值。基於此原因,對於從y到Y的每一種可能的轉換,我們需要一個表列出所要的輸入S和R,這種表就稱為激勵表。 圖9-14從轉換表導出具有閂的電路 閂的實現法 從一個已知的轉換表實現一個具有SR閂的電路的一般步驟可以總結如下: 1. 已知一個定義出激勵函數

9、Y = Y1Y2Yk的轉換表,導出一對對Si和Ri的圖,其中i = 1, 2, , k。利用圖9-14(b)閂的激勵表指定的條件可以完成。 2. 導出每個Si和Ri簡化的布氏函數,必須注意在相同的全及項格子裡,不能讓Si和Ri等於1。 3. 利用k個閂以及產生S和R布氏函數所需的邏輯閘畫出邏輯圖。對NOR閂而言,利用步驟2得到的S和R布氏函數;對NAND閂而言,利用步驟2得到函數的補數值。圖9-15消除彈跳的電路 消除彈跳的電路用來去除因接觸彈跳而產生的一連串脈波,同時產生從0到1或從1到0單一平滑的二進位信號轉換。 9-4 設計的步驟 非同步序向式電路的設計步驟如下:由設計的規格得到原始的流

10、程表,將流程表簡化至最少的狀態,然後設定狀態的二進位值以得到轉換表。從轉換表導出一個具有回授的組合式電路或者一個具有SR閂的電路邏輯圖。 設計範例 想要設計一個具有兩個輸入G(gate閘控)和D(data資料)以及一個輸出Q的閘控閂電路。當G等於1時,在輸入D出現的二進位資料會轉移至輸出Q,只要G = 1,Q的輸出跟隨著D的輸入。當G變成0,在轉換的那一刻輸入D出現的資料會維持在輸出Q。閘控的閂是一種記憶元件,當G = 1時,接受D的值,且在G變成0之後維持此值。一旦G = 0,改變D並無法改變輸出Q的值。 圖9-16原始流程表 圖9-17原始流程表的簡化 圖9-18閘控閂的轉換表和輸出圖 圖

11、9-19閘控閂的邏輯圖 圖9-19具有SR閂的電路 圖9-21設定輸出值給不穩態 設計步驟總結 1. 由已知的設計規格求得原始流程表。這是設計中最艱難的部分,因為需要運用慣例和經驗才能正確的解譯問題的規格。2. 合併原始流程表中的列數以簡化流程表。9-5節已說明合併流程表列數正式的步驟。3. 簡化流程表中每一列設定二進位的狀態變數以得到轉換表。9-6節已說明免除任何危機競跑可能性的狀態設定步驟。4. 設定不穩態橫線的輸出值以求得輸出圖。這個步驟已在前面解釋過。5. 簡化激勵變數和輸出變數的布氏函數,同時畫出9-2節所示的邏輯圖。可以利用9-3節中以及9-7節末所示的SR閂畫出邏輯圖。9-5 狀

12、態和流程表的簡化 5-6節中已說明一個完全定義的狀態表之狀態簡化的演算法則,我們將複習這個演算法並且運用在隱含表的狀態簡化方法。完全定義狀態表的狀態簡化步驟是基於狀態表中兩個狀態如果全等可以合併成一個狀態的演算法。如果對任一可能的輸入,兩個狀態正好輸出相同且變成相同的次一狀態或是全等的次一狀態,則這兩個狀態是全等的。 表9-4要簡化的狀態表 目前次一狀態輸出狀態x=0 x=0 x=0 x=0adb00bea00cgf01dad10ead10fcb00gae10圖9-22隱含表 表9-5簡化後的狀態表 目前次一狀態輸出狀態x=0 x=0 x=0 x=0ada00cdf01dad10fca00流程

13、表的合併 為了求得合適的相容群組以合併流程表之程序可以分成三個步驟: 1. 利用隱含表求出所有相容的狀態對 2. 利用合併表找出最大的相容對 3. 求出包含所有狀態之相容對的最小集合然後利用相容對的最小集合來合併流程表的列數。圖9-23流程表和隱含表 圖9-24合併圖 圖9-25選擇一個相容對的集合 9-6 沒有競跑的狀態設定 一旦導出非同步序向式電路的簡化流程表,設計工作的下一個步驟是設定二進位變數給每個穩態。這樣的設定結果將流程表轉變成對等的轉換表。選擇適當的二進位狀態設定最主要的目的是要避免危機競跑。 當流程表中有狀態轉換發生時,任一時刻只有一個變數改變的二進位狀態設定可以避免危機競跑。

14、要完成這項工作,必須讓兩者之間有轉換發生的狀態是相鄰的設定。如果兩個二進位值只相差一個變數,則稱之為相鄰的。 圖9-26三列的流程表範例 圖9-27有額外列的流程表 圖9-28轉換表 圖9-29四列的流程表範例 圖9-30選擇流程表的額外列 圖9-31修正後的流程表之狀態設定 圖9-32複數列設定法 9-7 雜訊 有一種稱為雜訊(hazard)的現象會讓電路誤動作。因為不同的路徑有不同的傳播延遲,雜訊是不想要的切換暫態,會出現在電路的輸出端。雜訊也出現在組合式電路中,他們會導致暫時錯誤的輸出值。當這種情形出現在非同步序向式電路時,會導致轉換到錯誤的穩態。因此需要檢驗可能的雜訊,並且求出他們是否

15、會造成錯誤的動作。然後採取必要的步驟刪除這些影響。 圖9-33具有雜訊的電路 第一種情形稱為靜態1雜訊(static1-hazard),第二種情形稱為靜態0雜訊(static 0-hazard)。第三種雜訊稱為動態雜訊(dynamic hazard) 圖9-34雜訊的形式 圖9-35展示雜訊和如何移除的圖形 圖9-36沒有雜訊的電路 圖9-37非同步序向式電路中的雜訊 圖9-38閂的實現方法 9-8 設計範例 現在要檢驗非同步序向式電路完整的設計範例,這個範例可以當成其他類似電路設計時的參考。我們將遵循列在9-4節最後的步驟展示設計的方法,複述如下:1. 描述設計的規格2. 導出原始流程表3. 合併列數以簡化流程表4. 完成沒有競跑的二進位狀態設定5. 求得轉換表和輸出圖6. 運用SR閂求得邏輯圖設計規格 想要設計一個負緣觸發的T型正反器。此電路有兩個輸入,T(切換toggle)和C(時脈clock),以及一個輸出Q。如果T=1且時脈C從1變成0(負緣觸發),則輸出狀態取補數。除此之外,在任何其他

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论