天天看點

深入淺出邏輯組合電路(2)

深入淺出邏輯組合電路(2)

門電路中的冒險現象

通常讨論邏輯電路時,隻從抽象的邏輯角度進行描述,不考慮實際電路中必然存在的信

号傳輸時延和信号電平變化時刻對邏輯功能的影響。邏輯門的傳輸時延以及多個輸入信号變

化時刻不同步,可能會引起短暫的輸出差錯(俗稱毛刺),這種現象稱為邏輯電路的冒險現

象(簡稱險象)。險象的持續時間雖然短暫,危害卻不可忽視,尤其在驅動時序電路時,險象可能造成嚴重後果。

1.冒險現象的來源

  • 信号傳輸時延引起的冒險現象稱為邏輯險象
  • 輸入信号的變化隻引起一個毛刺,稱為靜态險象
  • 多個輸入信号的變化時刻不同步引起的現象稱為功能險象
  • 可以把險象分為 0 型險象和 1 型險象:輸出信号中的毛刺為負向脈沖的險象稱為 0 型險象,為正向脈沖時稱為 1 型險象。這裡隻對邏輯門時延引起的靜态險象做初步讨論

舉個例子

寫出圖所示電路的輸出信号表達式,求出 ACD=111 時的函數值。 設邏輯門的傳輸時延為 Tpd,畫出波形圖,并判斷電路是否存在險象。

深入淺出邏輯組合電路(2)

解題思路

  • 首先我們看到了邏輯電路圖,那麼我們肯定要先寫出邏輯電路表達式
  • 深入淺出邏輯組合電路(2)
  • 接着分析,如果ACD=111,F始終為1,可以發現,不管B怎麼變化,F的值始終為1
深入淺出邏輯組合電路(2)
  • 再考慮到傳輸時延Tpd,當信号B變化時,信号波形如右圖所示

三人表決電路

深入淺出邏輯組合電路(2)

分析圖所示電路

按照先寫邏輯函數表達式-列出真值表的步驟一步一步來

深入淺出邏輯組合電路(2)

觀察左邊,當1比0數量多的時候,F的值才為1,正所謂少數服從多數,三人表決電路如是而已。

冒險現象的消除

  • 設計一個不會發生現象的邏輯電路(對于複雜邏輯電路十分困難)
  • 避開險象發生的時刻,等輸入穩定後再讀值
  • 使用濾波電路消除毛刺

常見邏輯器件

深入淺出邏輯組合電路(2)

7483 是具有先行進位功能的 4 位二進制全加器,

先行進位設計改變了加法器的進位産生方式,使電路的

工作速度大幅提高,輸入/輸出端之間的最大時延僅為 4級門時延,7483的慣用邏輯符号如圖4-41所示。74283 與 7483 的邏輯功能完全相同,隻是晶片管腳排列不同

7483的級聯擴充

如圖所示:

深入淺出邏輯組合電路(2)

4 位以内二進制數的加法運算用一片 7483 實作。例如,兩個 3 位二進制數相加,隻要 将兩個加數分别置于 A2A1A0和 B2B1B0,并将 A3、B3和 C0置 0,結果在 S3S2S1S0上輸出

超過四位的解決辦法

采用級聯擴充7483級聯實作兩個 7 位二進制數相加的電路圖,注意高位晶片 7483(H)A3、B3置 0,兩 個 7 位二進制數之和不超過 8 位,是以,結果由圖中 S7~S0輸出。注意,該電路兩個子產品内部的進位是先行進位,而級聯子產品之間的進位則是串行進位。

7483應用

4位全加器7483實作1位8421碼加法器

解題思路:

  • 7483是4位二進制加法器,其進位規則是逢16進1。而8421碼表示的是十進制數, 進位規則是逢10進 1。用 7483 将兩個 1 位 8421 碼相加時,當和≤9 時,結果正确
  • 當和≥10 時,由于 7483 将輸入的 BCD 碼當作二進制數相加,将出現差錯。例如,當和為(10)10 時,按 BCD 碼運算,應該進位。
  • 用 7483 實作 BCD 碼相加, 關鍵在于确定何時應該對結果進行修正,以及如何修正。
兩個 1 位十進制數相加,和的取值範圍是 0~ 18,将該範圍内數值的二進制數和 8421 碼列于表 4-21,以便尋找将二進制結果轉換為 8421 碼的規律。 當數值在 10 以上時,應該用 2 位 8421 碼,個位用 D8D4D2D1表示,考慮到十位數僅為 0 或 1,8421 碼 為前3位為0,隻有最低位是變量,表中用DC表示。 比較表中的二進制數和 BCD 碼可以發現,當 N10≤9時,二進制數與8421碼相同;當N10≥10時, 8421 碼比相應的二進制數大 6。 判斷 N10≥10 的電路就用表中的 DC,當 C4=1、 或者 S3=1 且 S2和 S1中至少有一個為 1 時,DC=1。 據此寫出表達式
深入淺出邏輯組合電路(2)
當 DC=1 時,将(0110)2與 BCD 碼相加的輸出值 再相加,就可以實作輸出值的修正。完整的1位8421 碼加法器電路如圖 4-44 所示。

4 位二進制數比較器 7485

深入淺出邏輯組合電路(2)

7485 是采用并行比較結構(類似先行進位,以提 高比較速度)的 4 位二進制數比較器,邏輯符号如圖 4-45 所示。A3~A0和 B3~B0是參加比較的兩個 4 位 二進制數,A3和 B3分别是兩數的高位。a<b、a=b、a>b 是級聯輸入端,兩個二進制數相等時,比較結果由級聯輸入決定。晶片的級聯擴充時,級聯輸入端連接配接低 位晶片的比較輸出端。7485 的功能表如表 4-22 所示, 與真值表羅列輸入變量和輸出變量的取值不同,功能 表注重表示不同輸入條件下晶片的功能,是描述晶片邏輯功能最重要的手段。

7485的級聯擴充

7485 的三個級聯輸入端用于連接配接低位晶片的三個比較輸出端,實作比較位數的擴充。 圖 4-46 是用兩片 7485 級聯實作的兩個 7 位二進制數比較器,參與比較的兩個 7 位二進制數 是 A7~A1和 B7~B1,比較結果由***高位晶片輸出***。兩片 7485 中,高位晶片 7485(H)的兩 個最高位 A3和 B3置為相等(都置為 0,也可以都置為 1),低位晶片 7485(L)的級聯輸入 端“a=b”置 1,其餘兩個端子置 0,以確定當兩個 7 位二進制數相等時,比較結果由***低位晶片的級聯輸入信号決定***,輸出 A=B 的結果。

深入淺出邏輯組合電路(2)

分析圖所示電路,已知輸入信号 B3B2B1B0是 5421 碼。

深入淺出邏輯組合電路(2)