You are on page 1of 31

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.

tw
或來電(02)2705-5066
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066

《數位電路與邏輯設計》是電子工程、資訊工程、計算機科學和技術等電類專
業的一門重要的專業基礎課,與以往出版的同類書籍相比,本書具有以下特點:
表現出時代性:充分吸收新理論、新技術、新裝備成果,整個知識點建立在「高」、
「新」平臺上,反映了本學科的發展前景和趨勢。
突出了系統性:6 本統編教材自成系列,對現代通信技術基礎、原理、技術和運用等
做了全面、系統的介紹,各教材內容銜接比較緊密,分工比較合理,層次分明,重點
突出。
加強了實踐性:在闡述理論知識的同時,注重基本技能和基本方法的講授,並緊密結
合通信建設實際,培養讀者解決實際問題的能力。
注重了通俗性:概念、原理以及新技術的闡述比較精煉,深入淺出,圖文並茂,便於
自學。
期望本書的出版,能夠有助於現代通信技術的傳播,為現代通信事業的發展做
出應有的貢獻。
本套教材可作為各院校通信及相關專業、專科生課程教材,也可作為通信工程
技術人員學習的參考書。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄 1

目 錄
1 數位邏輯基礎 1

1.1 緒 論/ 2
1.1.1 數位電路的基本概念/ 3
1.1.2 數位積體電路的發展趨勢/ 5
1.2 數制與代碼/ 7
1.2.1 數制及其相互轉換/ 8
1.2.2 帶符號數表示法/ 13
1.2.3 代碼/ 17
1.3 邏輯代數基礎/ 24
1.3.1 邏輯代數的基本運算/ 24
1.3.2 邏輯代數的基本公式和運算規則/ 28
1.3.3 複合邏輯運算與常用邏輯閘/ 31
1.3.4 正邏輯與負邏輯/ 33
1.4 邏輯函數的描述方法/ 34
1.4.1 真值表描述法/ 34
1.4.2 代數式描述法/ 35
1.4.3 卡諾圖描述法/ 40
1.5 邏輯函數的化簡/ 45
1.5.1 邏輯化簡的意義/ 45
1.5.2 邏輯函數的卡諾圖化簡法/ 47
1.5.3 帶有任意項邏輯函數的化簡/ 54
習題 1 / 58

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
2  數位電路與邏輯設計

2 組合邏輯電路 63

2.1 邏輯閘 IC / 64
2.1.1 TTL 邏輯閘電路/ 65
2.1.2 CMOS 邏輯閘電路/ 72
2.1.3 邏輯閘 IC 電路的使用/ 76
2.2 組合邏輯電路分析/ 82
2.2.1 分析步驟/ 82
2.2.2 分析舉例/ 82
2.3 組合邏輯電路設計/ 84
2.3.1 設計步驟/ 84
2.3.2 設計舉例/ 84

2.4 組合邏輯電路中的競爭(Racing)與冒險/ 87
2.4.1 競爭與冒險現象/ 88
2.4.2 冒險現象的識別/ 88
2.4.3 冒險現象的消除方法/ 91
習題 2 / 92

3 組合邏輯模組及其應用 97

3.1 加法器/ 98
3.1.1 半加器和全加器/ 98
3.1.2 加法器典型模組及應用/ 101
3.2 資料比較器/ 105
3.2.1 MSI 比較器典型模組/ 106
3.2.2 MSI 比較器模組的應用/ 108

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄 3

3.3 編碼器與解碼器/ 110


3.3.1 編碼器/ 111
3.3.2 解碼器及其應用/ 117
3.4 多工器和解多工器/ 132
3.4.1 資料選擇器及其應用/ 133
3.4.2 資料分配器及其實現/ 140
習題 3 / 143

4 時序邏輯電路 147

4.1 時序電路基礎/ 148


4.1.1 時序電路的一般模型/ 149
4.1.2 狀態表和狀態圖/ 150
4.1.3 時序電路的一般分類/ 152
4.2 正反器/ 153
4.2.1 基本 RS 正反器/ 154
4.2.2 同步 RS 正反器/ 155
4.2.3 正反器 IC / 157
4.3 同步時序電路分析/ 164
4.3.1 分析步驟/ 165
4.3.2 分析舉例/ 166
4.4 同步時序電路設計/ 170
4.4.1 設計步驟/ 170
4.4.2 建立原始狀態圖(或狀態表)/ 171
4.4.3 狀態化簡/ 180
4.4.4 狀態分配/ 186
4.4.5 設計舉例/ 187

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
4  數位電路與邏輯設計

4.5 非同步時序電路/ 192


4.5.1 非同步時序電路分類/ 192
4.5.2 脈衝型非同步時序電路/ 193
4.5.3 準位型非同步時序電路/ 198
習題 4 / 203

5 時序邏輯模組及其應用 215

5.1 移位暫存器及其應用/ 216


5.1.1 資料暫存器/ 217
5.1.2 移位暫存器/ 218
5.1.3 移位暫存器的應用/ 229
5.2 計數器及其應用/ 235
5.2.1 2n進制計數器/ 236
5.2.2 非 2n進制計數器/ 246
5.2.3 計數器模組的應用/ 257
5.3 隨機存取記憶體(RAM)/ 268
5.3.1 RAM 的儲存原理/ 269
5.3.2 典型 RAM 模組及其使用方法/ 274
習題 5 / 279

6 數位電路的 PLD 實現 291

6.1 可編程邏輯元件(Programmable Logic Device)


PLD 概述/ 292

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄 5

6.1.1 可編程 ASIC 簡介/ 292


6.1.2 PLD 的發展及分類/ 294
6.2 PLD 的基本結構/ 299
6.2.1 PLD 電路的表示方法及有關符號/ 299
6.2.2 及-或陣列/ 301
6.2.3 OLMC(Output Logic Micro Cell)/ 303
6.2.4 GAL 元件的結構、性能與應用/ 305
6.3 高密度可編程邏輯元件 FPGA 和 CPLD / 309
6.3.1 Xilinx 公司的 FPGA / 310
6.3.2 Lattice 公司的 CPLD / 314
6.4 數位電路的 PLD 實現/ 322
6.4.1 低密度可編程邏輯元件的設計實例/ 322
6.4.2 高密度可編程邏輯元件的設計實例/ 327
習題 6 / 334

7 數位系統設計 337

7.1 數位系統設計概述/ 338


7.1.1 數位系統的基本概念/ 338
7.1.2 數位系統設計的一般過程/ 340
7.1.3 數位系統設計的常用工具/ 343
7.1.4 分組-按序算法語言/ 345
7.2 數位系統的實現方法/ 349
7.2.1 數位系統的總體方案及邏輯劃分/ 349
7.2.2 資料子系統的構造方法/ 351
7.2.3 數位系統的控制算法與控制狀態圖/ 353
7.2.4 控制子系統的實現方法/ 355

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
6  數位電路與邏輯設計

7.3 數位系統設計舉例/ 361


7.3.1 8 位二進制數位密碼鎖系統/ 361
7.3.2 十字路口交通燈控制系統/ 371
習題 7 / 381

8 D/A 和 A/D 轉換器 IC 元件及其應用 385

8.1 D/A 轉換器 IC 元件/ 386


8.1.1 D/A 轉換的基本概念/ 386
8.1.2 常用 D/A 轉換技術/ 388
8.1.3 DAC IC 的主要參數/ 395
8.1.4 DAC 晶片 IC 的選擇與使用/ 397
8.2 A/D 轉換器 IC / 406
8.2.1 A/D 轉換的一般過程/ 406
8.2.2 常用 A/D 轉換技術/ 409
8.2.3 ADC IC 的主要參數/ 414
8.2.4 ADC IC 晶片的選擇與使用/ 415
8.3 D/A 和 A/D 轉換器的應用/ 425
8.3.1 資料採集與控制系統的功能/ 425
8.3.2 實際資料採集系統舉例/ 429
8.3.3 計算機控制系統中的標準化 D/A、A/D 模板介紹/ 434
習題 8 / 437

9 數位系統 CAD 與可測試性設計 443

9.1 數位系統 CAD 與電子設計自動化/ 444

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄 7

9.1.1 數位系統 CAD 的一般概念/ 444


9.1.2 EDA 技術的範疇和基本特徵/ 446
9.1.3 EDA 的基本工具/ 449
9.2 邏輯合成/ 451
9.2.1 邏輯合成的作用/ 451
9.2.2 邏輯合成的內容/ 452
9.2.3 邏輯合成的基本方法/ 459
9.3 邏輯模擬/ 460
9.3.1 邏輯模擬的特點/ 461
9.3.2 邏輯模擬的模型/ 462
9.3.3 邏輯模擬的過程/ 468
9.3.4 邏輯模擬的算法/ 470
9.4 數位系統的可測試性設計/ 471
9.4.1 數位系統的測試生成/ 472
9.4.2 數位系統的可測試性設計/ 477
9.4.3 邊界掃描測試技術(Boundary Scan Test)/ 479
習題 9 / 488

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
Chapter

數位邏輯基礎

1.1 緒 論
1.2 數制與代碼
1.3 邏輯代數基礎
1.4 邏輯函數的描述方法
1.5 邏輯函數的化簡

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
2  數位電路與邏輯設計

本章介紹數位邏輯的基本概念和數學工具,內容主要包括計算機等數位設備中的常
用數制與代碼、邏輯代數基礎、邏輯函數的描述方法以及邏輯函數的卡諾圖化簡
法。這些內容是分析和設計數位電路的基礎,貫穿全書的始末。

1.1 緒 論

隨著電子計算機的普及和資訊時代的到來,數位電子技術正以前所未有的
速度在各個領域取代類比電子技術,並迅速滲透進人們的日常生活。數位手
錶、數位相機、數位電視、數位影碟機、數位通訊……這一切的一切,都向我
們述說著這樣一個事實,那就是數位化已經成為當今電子技術發展的潮流,人
類已經進入了數位時代。從某種意義上講,數位時代就是資訊時代的代名詞並
非言過其實。
作為數位電子技術的結晶,數位電路在數位通訊和電子計算機中扮演著舉
足輕重的重要角色。數位通訊中的編碼器、解碼器,計算機中的運算器、控制
器、暫存器、儲存器,無一不是採用數位電路。即使是像調變解調器這類過去
通常用類比技術實現的元件,今天也越來越多採用了數位技術來實現。可以
說,數位電路是數位通訊和電子計算機的重要基石,它們構成了數位通訊設備
和電子計算機的硬體基礎。
本節作為全書的緒論,將簡要介紹數位電路的一些基本概念以及數位積體
電路的發展趨勢,使讀者在學習數位電路分析與設計方法之前,首先建立起數
位電路的整體概念。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
第 1 章 數位邏輯基礎  3

什麼是數位電路

類比(analog)量與數位(digital)量

為了說明什麼是數位電路,首先從類比量和數位量談起。
在自然界中,存在著各種各樣的物理量,儘管它們的形式千變萬化,但就
其共同特徵而言,可以歸納為兩類,一類稱為類比量,一類稱為數位量。類比
量的變化是連續的,可以取某一值域內的任意值,例如溫度、壓力、交流電壓
等就是典型的類比量。數位量的變化是不連續的(不連續也稱為離散),只能
在某個離散的瞬間變化並按有限個階梯或增量來取值,例如教室中的人數、貨
架上商品的個數等就是典型的數位量。
在實際生活中,許多物理量的測量值既可以用類比形式來表示,也可以用
數位形式來表示。例如電壓,用指針式電壓表來測量時它是類比形式的,而用
數位式電壓表來測量時它是數位形式的。
利用現代電子技術,可以實現類比量與數位量之間的相互轉換。

類比訊號與數位訊號

在電子設備中常常將表示類比量的電訊號叫做類比訊號(Analog Signal),
將表示數位量的電訊號叫做數位訊號(Digital Signal)。大家熟悉的正弦波訊
號和方波訊號就是典型的類比訊號和數位訊號。
數位訊號是一種脈衝訊號(Pulse Signal)。脈衝訊號的基本特點就是邊緣
陡峭,持續時間短。廣義地講,凡是非正弦訊號都稱為脈衝訊號。
數位訊號有兩種傳輸波形,一種稱為準位型(level),另一種稱為脈衝
型。準位型數位訊號是以一個時序內訊號是高電位還是低電位來表示「1」或
「0」,而脈衝型數位訊號是以一個時序內有無脈衝來表示「1」或「0」,如
圖 1.1 所示。從圖中可見,二者在波形上的顯著差別是,準位型訊號波形在一

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
4  數位電路與邏輯設計

個時序內不會歸零,而脈衝型訊號波形在一個
0 1 0 1 1 1 0 1 0
時序內會歸零。
與類比訊號相比,數位訊號具有抗干擾能
力強、儲存處理方便等優點。

類比電路與數位電路
準位型信號
與電路所採用的訊號形式相對應,將傳
送、變換、處理類比訊號的電子電路叫做類比
電路(Analog Circuit),將傳送、變換、處理
數位訊號的電子電路叫做數位電路(Digital Cir-
脈衝型信號
cuit)。大家熟悉的各種放大電路就是典型的類
圖 1.1 數位信號的傳輸波形
比電路,而數位錶、數位鐘的定時電路就是典
型的數位電路。

數位電路的主要優點

與類比電路相比,數位電路具有抗干擾能力強、可靠性高、精確性和穩定
性好、通用性廣、便於整合、便於故障診斷和系統維護等突出優點。以抗干擾
能力和可靠性為例,數位電路不僅可以透過整形去除疊加於傳輸訊號上的雜訊
與干擾,而且還可以進一步利用差錯控制(error correction)技術對傳輸訊號
進行檢錯和偵錯。
正是因為這些優點,才使得數位電路在眾多領域取代類比電路、數位通訊
取代類比通訊成為很長一段時期以來電子技術與電子通訊領域的發展潮流。可
以相信,這一發展趨勢將持續下去。

數位電路中的操作

算術操作

數位電路可以對各種數位量進行算術運算,完成加、減、乘、除等基本算

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
第 1 章 數位邏輯基礎  5

術操作。電子計算機之所以稱為計算機,就是因為其 CPU 中的運算器係採用


數位電路而可以對各種資料進行快速的算術運算,使得「計算」成為電子計算
機的一個重要特色。

邏輯操作

數位電路不僅可以對各種數位量進行算術運算,而且可以對各種邏輯量進
行邏輯運算。它具有根據邏輯變數取值進行邏輯推理和邏輯判斷的能力。為了
突出這一特點,有時也將數位電路稱為數位邏輯電路甚至就叫做邏輯電路。電
子計算機就因為這種邏輯思維能力而被稱為「電腦」。

當前,數位積體電路正朝向大規模、低功耗、高速度、可編程、可測試和
多值化方向發展。

大規模(High Volumn)

隨著數位電子技術的發展,一塊半導體矽晶圓片上已可整合上百萬個數位
邏輯閘,即使是一個相當複雜的數位系統,也有可能用單片數位積體電路予以
實現。可以預見,將來的數位積體電路的整合規模將越來越大。整合規模的提
高將大大地提高數位系統的可靠性,減小系統的體積,降低系統的功率與成本。

低功耗(Low power consumption)

數位系統的功率消耗(以下簡稱為功耗)大致上取決於所使用的晶片或為
功率模組,人們總是希望功耗越低越好。因此,低功率是數位積體電路的當然
選擇。現在,即使是包含上百萬個邏輯閘的超大規模數位積體電路晶片,其功
率也可低達 mW 級。

高速度(High Speed)

隨著社會的發展,需要處理的資訊越來越多,就更需使用速度越來越高的

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
6  數位電路與邏輯設計

積體電路。正是在這樣的需求背景下,個人計算機才從當初的 PC 機快速發展
到今天的奔騰(Pentium)計算機。據報導,2000 年 6 月底,計算機世界霸主
美國相繼傳出消息,處理速度為 1.5GHz 的奔騰 4 處理器已由計算機晶片巨頭
Intel 公司向全世界推出,用於核武器模擬試驗的每秒運算速度為 12.3 萬億次,
為目前世界上運算速度最快的超級計算機「白色 ASCI」也已由 IBM 公司研製
成功,並將於年底安裝在美國能源部設在加利福尼亞州的勞倫斯‧利弗莫爾國
家實驗室。一種旨在幫助探明人體蛋白質結構、運算速度高達每秒 1000 萬億
次的名叫「藍色基因」的超級計算機,也早已列入了 IBM 公司的研究計畫。
雖然計算機的這種高速度在很大致上依賴於平行處理技術,但積體電路晶片本
身的高速度也不容置疑。

可編程(Programmable)

早期出現的 MSI/LSI 數位積體電路,其功能是由生產廠家根據用戶的一


般需求而在生產時決定的。大多數情況下,用戶使用這種通用型積體電路來實
現各種邏輯功能還是非常方便的。但當數位系統比較複雜時,所需要的邏輯模
組數量往往比較多,這不僅增大了系統的體積和功耗,也降低了系統的可靠
性。此外,使用常規模組設計數位系統,也無法防止別人的分析和仿製,設計
者的智慧產權值及合法利益無法得到有效保護。
為了解決這些問題,現在的許多 LSI/VLSI 數位積體電路具有「可編程」
的特性。即廠家生產這些模組時,只生產「半訂製」的產品,模組的具體功能
由用戶根據實際需要進行現場「編程」來決定。這種可編程邏輯元件(Progra-
mmable Logic Device──PLD)大多數還具有「再編程」甚至可「在系統編程
(In-System Programmable──ISP)」和「硬體保密」的能力,這不僅為用戶
研製開發產品帶來了極大的方便和靈活性,而且也大大地提高了產品的可靠性
和保密性。

可測試(Testability)

數位積體電路的規模越來越大,功能也越來越複雜。為了便於數位系統的

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
第 1 章 數位邏輯基礎  7

使用和維護,要求所使用的邏輯模組具有「可測試性」,用戶可方便地對其進
行「故障診斷」。「可測試」已成為未來數位積體電路的一個重要的發展趨勢。

多值化(Multi-Value)

傳統的數位電路使用 0、1 二值訊號,雖然在訊號的產生、傳送、識別、


處理等方面具有無可爭議的優點,但同樣不可否認的是,它也是資訊量最少的
一種訊號形式。在要求處理的資訊越來越多的今天,提高處理速度雖然也不失
為一條解決之道,但如果使用三值、四值甚至更多值的多值訊號形式,同樣可
以大大提高傳輸線路的資訊密度和積體電路的資訊處理能力。
正是基於這一認識,從 20 世紀 70 年代起,多值訊號和多值邏輯電路的研
究便一直受到世界各國的廣泛關注。人們在對傳統電路族進行研究的同時,對
多值訊號和多值邏輯理論也進行了深入研究,不僅提出了一些創新的多值邏輯
電路設計理論,而且在多值邏輯元件實用化和多值計算機的研究方面也取得了
可喜進展。1976 年,Signetics 公司率先研製成功四值 I2L 元件並將其投放市
場;1981 年,Intel 公司在 Intel-8087 數位處理機中首次採用四值 ROM。美
國、日本、加拿大等國還先後研製成功三值和四值計算機樣機。所有這些都表
明,多值邏輯技術已開始進入實用化階段。
由此不難看出,多值化是數位積體電路的又一發展趨勢。雖然多值積體電
路要像二值積體電路那樣獲得廣泛應用還有很長的一段路要走,但它畢竟已向
人們展示出了蓬勃的生機和誘人的前景。由於本書主要介紹二值邏輯,因此,
這裡僅簡單介紹一下多值邏輯的基本概念及研究情況。對多值邏輯感興趣的讀
者,可以閱讀本章所列的有關參考書。

1.2 數制與代碼

本節首先介紹常用數制及其相互轉換方法,然後介紹帶符號數的表示法,
最後介紹幾種常用的代碼。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
8  數位電路與邏輯設計

數制

數制(Number System)是人類表示數值大小的各種方法的統稱。迄今為
止,人類都是按照進位方式來實現計數的,這種計數制度稱為進位計數制,簡
稱進位制。大家熟悉的十進制,就是一種典型的計數制度。
一種數制中允許使用的數符個數,稱為這種數制的基數(Radix)或基
(Base)。例如,十進制中允許使用 0、1、2、3、4、5、6、7、8、9 十個數
符,因此,十進制的基為 10。一般而言,r 進制的基就是 r,允許使用的最大
數符總是比 r 小 1。

數的表示方法

在任何一種數制中,任何一個數都可以用位置記數法(Positional Nota-
tion)和多項式記數法(Polynomial Notation)來表示。
設一個 r 進制數 N (下標 r 表示數 N 的進制)包含 n 位整數和 m 位小數,
則其位置記數法表示式為

N = (a a …a1a0.a a …a ) (1.1)

其中,a 為第 i 位的有效數符,它為「1」時所表示的數值大小稱為該位的「權
值(power)」,用 r 表示。「權值」的概念表示,處於不同位置上的相同數
符所代表的數值大小是不同的。例如十進制數(123.21) ,最高位和最低位
均為 1,但它們代表的數值卻分別為 10 ×1 和 10 2 ×1;同樣,次高位和次低
位都為 2,但它們代表的數值卻分別為 101 ×2 和 10 1 ×2。
位置記數法實際上是下面多項式記數法省略各位權值和運算符號並增加小
數點後的簡記形式

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
第 1 章 數位邏輯基礎  9

N =r ×a +r ×a +…+r1 ×a +r ×a0
+r 1 ×a + r 2 ×a 2 +…+r ×a +r ×a
= ×a (1.2)

例如,十進制數(123.21) 的多項式表示式為

(123.21) =102 ×1 + 101 ×2 + 100 ×3 + 10 1 ×2 + 10 2 ×1

常用數制

生活中人們最常用的是十進制數,但在計算機等數位設備中,用得最多的
是二進制數和十六進制數。使用二進制數的原因是數位設備中所採用的數位電
路通常只有兩個狀態(低電位狀態和高電位狀態),這兩個狀態正好用二進制
數的兩個符號(0 和 1)來表示。只是由於採用二進制來表示一個數時,往往
因為位數太多而感覺書寫不太方便,所以常用與二進制數有簡單對應關係的十
六進制數來表示。
十進制(Decimal)、二進制(Binary)和十六進制(Hexadecimal)的數
符、權值、運算規則及對應關係詳見表 1.1。表中用以指明數位的 i 取值為整
數。需要特別提醒大家注意的是,在十六進制數中,用英文字母 A、B、C、
D、E、F 分別表示十進制數的 10、11、12、13、14 和 15。

數制轉換

如前所述,人們熟悉的是十進制數,而計算機等數位設備中使用的卻是二
進制數或十六進制數。為了便於人機對話,因而有必要進行各種數制間的相互
轉換。

任意進制數轉換為十進制數

任意進制數轉換為十進制數,其方法是完全相同的,這就是,首先寫出待
轉換的 r 進制數的按權值展開式,然後按十進制數的運算規則進行計算,即可
得到轉換後的十進制數。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
10  數位電路與邏輯設計

表 1.1 常用數制及其對應關係
項目 十進制 二進制 十六進制
0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 5, 6, 7,
數符 0, 1
5, 6, 7, 8, 9 8, 9, A, B, C, D, E, F
第 i 位的權值 10 2 16
運算規則 逢 10 進 1,借 1 為 10 逢 2 進 1,借 1 為 2 逢 16 進 1,借 1 為 16
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
對應關係 8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
16 10000 10

例 1.1 將二進制數(101101.101)2 和十六進制數(AF3.C)16 轉換為十進


制數。
解:

(101101.101)2 = 25×1 + 24×0 + 23×1 + 22×1 + 21×0 + 20×1


+ 2 1×1 + 2 2×0 + 2 3×1

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
第1章 數位邏輯基礎  11

= 32 + 0 + 8 + 4 + 0 + 1 + 0.5 + 0 + 0.125
= (45.625)10
(AF3.C)16 = 162×A + 161×F + 160×3 + 16 1×C
= 256×10 + 16×15 + 1×3 + 16 1×12
= 2560 + 240 + 3 + 0.75
= (2803.75)10

二進制數與十六進制數的相互轉換

從表 1.1 可見,二進制數與十六進制數之間的對應關係非常簡單,即 1 位
十六進制數對應於 4 位二進制數,反之亦然。因此,以小數點為基準,向左或
向右將二進制數按 4 位 1 組進行分組(整數部分高位不足 4 位時,高位添 0;
小數部分低位不足 4 位時,低位添 0),然後用相應的十六進制數代替各組二
進制數,即可得到等值的十六進制數;反之,將十六進制數的每個數符用相應
的 4 位二進制數代替(去除整數部分高位無效的 0 和小數部分末尾無效的 0),
即可得到等值的二進制數。
例 1.2 將二進制數(101101.101)2 轉換為十六進制數,將十六進制數(5DA.
2C)16 轉換為二進制數。
解:

(101101.101)2 = (0010 1101.1010)2 = (2D.A)16


(5DA.2C)16 = (0101 1101 1010. 0010 1100)2 = (10111011010.001011)2

十進制數轉換為二進制數

十進制數轉換為二進制數時,其整數部分和小數部分的轉換方法是不同
的,需要分別進行。
整數轉換:十進制整數轉換為二進制數時,其結果必然也是整數。利用
轉換前後數值相等的原理,有
1 1 0
N10 = N2 = 2 ×b 1 + …… + 2 ×b1 + 2 ×b0

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
12  數位電路與邏輯設計

將上式兩端同時除以 2,所得的整數商應該相等,餘數也應該相等。而右
端的二進制按權值展開式除以 2 後的餘數是 b0 ,因此,十進制數第 1 次除以
2 所得的餘數就是等值二進制數的最低位 b0(最低位常用符號 LSB 表示);
同理,將左端每次所得的整數商依次除以 2,所得的餘數正好就是等值二進制
數的 b1、b2、……、b 。b 是商為 0 時的餘數,它是等值二進制數的最高
位(最高位常用符號 MSB 表示)。這種轉換方法稱為除 2 取餘法,它先得到
的餘數是等值二進制數的低位,後得到的餘數是等值二進制數的高位。
例 1.3 將十進制數(234) 轉換為二進制數。
解:採用直式除法
因此,(234) = (11101010)

小數轉換:十進制小數轉換為二進制數時,其結果也必然是小數。利用
轉換前後數值相等的原理,有
1 2
N10 = N2 = 2 ×b 1+2 ×b 2 + …… + 2 × b

將上式兩端同時乘以 2,顯然左端乘積的整數部分就是右側的 b (即等


值二進制小數的最高位)。然後把左端乘積的小數部分再乘以 2,所得整數部
分便是 b ,如此繼續,直到乘積的小數部分是 0 或滿足精度要求為止,得到
等值二進制小數的最低位 b 。這種轉換方法稱為乘 2 取整法,先得到的整數
是二進制小數的高位,後得到的整數是二進制小數的低位。
例 1.4 將十進制數 0.6875 轉換為二進制數。
解:採用乘 2 取整法

整數
0.6875×2 = 1.3750 1(MSB)
0.3750×2 = 0.7500 0
0.7500×2 = 1.5000 1
0.5000×2 = 1.0000 1(LSB)

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
第1章 數位邏輯基礎  13

因此,(0.6875) =(0.1011)
如果一個十進制數既有整數部分又有小數部分,只要把它們分別進行轉換
即可,這裡就不再舉例了。
利用二進制數作橋梁,還可方便地將十進制數轉換為十六進制數。

前面討論各種進制數時,沒有考慮數的正負問題。下面介紹帶符號數的一
些常用表示方法。

符號-大小與補數表示法

符號-大小表示法

帶符號數的符號-大小(Sign Magnitude)表示法是,數值部分用二進制數
表示,符號部分用 0 表示「+」,用 1 表示「 」,即採用符號位加絕對值的
表示方法。這樣形成的一組二進制數叫做原帶符號數(也稱真值)的符號-大
1
小。n 位二進制符號-大小所能表示的十進制數範圍為 (2 )~+(2 1)。
例 1.5 求出X =(+71)10 和Y =( 71)10 的八位二進制符號-大小表示法。
解:由於(71) 10 =(1000111) 2 ,因此,X、Y的八位二進制符號-大小分別為

X大 = (01000111)2 Y大 = (11000111)2

補數表示法

符號-大小表示法雖然直觀,數值的大小與符號可以一目了然,但由於符
號-大小的計算規則比較複雜,其電路實現時不太方便。因此,在計算機中很
少採用符號-大小表示法。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
14  數位電路與邏輯設計

計算機中通常採用的帶符號數表示法是補數(Complement)表示法,其
規則是,對於正數,補數與符號-大小相同;對於負數,符號位仍為 1,但二
進制數值部分要按位取反(0 變 1,1 變 0),末位加 1。這樣得到的一組二進
制數叫做原帶符號數的補數。之所以將其稱為補數,是因為真值為負數時所得
到的補數與真值的數值部分滿足互補關係,即它們的和為 2 ,此處 n 為二進
制補數的位數。利用這一特點,可以快速計算一個帶符號二進制數或十六進制
數的補數。
n 位二進制補數所能表示的十進制數範圍為 2 ~+(2 1)。
例 1.6 求上例中 X 和 Y 的八位二進制補數。
解:
X 為正數,補數與符號-大小相同,因此,X補 = X大 = (01000111)2;
Y 為負數,數值部分要在符號-大小的基礎上按位取反,末位加 1,因此,
Y補 = (10111001)2
利用互補特性,也可以求得 Y 的補數

Y 補 = 28 (1000111)2 = (100000000)2 (1000111)2 = (10111001)2

進一步利用十六進制數,可以更快地求得 Y 的補數

Y補 = 28 (1000111)2 = (100)16 (47)16 = (B9)16 = (10111001)2

順便指出,從補數求符號-大小表示法時的過程與從符號-大小表示法求補
數時的過程相同。也就是說,對於正數,符號-大小表示法與補數相同;對於
負數,符號-大小的符號位仍為 1,但數值部分要將補數數值部分按位取反,
末位加 1。
此外,當帶符號數為純小數時,符號-大小表示法或補數的符號位位於小
數點的前面,原來小數點前面的 0 不再表示出來。例如,X = ( 0.101101)2 的
8 位二進制符號-大小表示法和補數分別表示為

X大 = (1.1011010)2 X補 = (1.0100110)2

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
第1章 數位邏輯基礎  15

補數的運算

利用補數,可以方便地進行帶符號數的加、減法運算(減法運算要變換為
加法運算來進行)。但要注意的是,同號相加或異號相減時,有可能發生溢位
(overflow)。所謂溢位,就是指運算結果超出了原指定位數所能表示的帶符
號數範圍。因此,當發生溢位時,需要增加二進制補數的位數,否則,運算結
果將出錯(是否溢位可透過結果的符號位直觀地判斷:正數加正數或正數減負
數結果均應為正數,負數加負數或負數減正數結果均應為負數,否則即為溢
位)。
例 1.7 利用 8 位二進制補數計算(89)10 (71)10,結果仍然用十進制數表
示。
解:

(89)10 (71)10 = (+89)10 + ( 71)10 01011001


= (01011001)補 + (10111001)補 +10111001
= [1](00010010)補 [1]00010010
= (00010010)大 →自動丟失
= (+18)10

注意,方括號[ ]內的 1 作為進位在計算時會自動丟失,因為這裡是以 8


位二進制補數來表示帶符號數的,所以只會保留 8 位運算結果。
例 1.8 利用 8 位二進制補數計算( 89)10 (71)10 ,結果仍然用十進制數
表示。
解:

( 89)10 (71)10 = ( 89)10 + ( 71)10 10100111


= (10100111)補 +(10111001)補 + 10111001
= [1](01100000)補 [1]01100000
= (01100000)大 →溢位錯誤
= (+96)10

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
16  數位電路與邏輯設計

顯然,該題的結果是錯誤的,因為一個負數減去一個正數結果不可能是正
數。錯誤的原因何在呢﹖原因就在於本題的正確結果( 160)10 超過了 8 位
二進制補數所能表示的十進制數範圍,因而運算時發生了溢位錯誤。解決
的辦法是計算時採用 9 位二進制補數。此時,9 位補數表示( 160)10 就不
會有溢位了。
從上述兩個例子不難看出,溢位和進位是兩個完全不同的概念。

定點數與浮點數表示法

如果考慮小數點的位置,帶符號數還可採用定點數和浮點數表示法。所謂
定點數(fixed-point number)就是指在所採用的資料描述格式中小數點的位置
是固定不變的資料,所謂浮點數(floating-point number)就是指在所採用的資
料描述格式中小數點的位置是浮動的資料。

定點數表示法

定點數表示法非常類似符號-大小和補數表示法,不同之處僅在於定點數
表示法中小數點隱含於約定規則中而不再出現在定點數中。當定點數用於表示
帶符號整數時,小數點約定在最低位後;當定點數用於表示帶符號小數時,小
數點約定在最高位(也就是符號位)後。至於使用符號-大小還是補數,則由
使用者自己決定。例如,8 位二進制補數形式的定點數(11101010)2 ,既可能表
示( 0010110)2 ,也可能表示( 0.0010110)2 ,這取決於使用者約定的小數點在
何處。

浮點數表示法

浮點數表示法非常類似於科學記號法,它把帶符號數 N 表示成基數 r 帶
冪 p(p 稱為 N 的階碼,帶符號)和帶符號的純小數 f(f 稱為 N 的尾數,帶
符號)的乘積。如果

…… ……

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
第1章 數位邏輯基礎  17

則 N 的浮點數科學記數法表示形式為

N=r ×f (1.3)

其中, ( …… ),p = ±(p ……p0) ,k 為 p 數值部分的位


數。若用 S 表示 p 的符號(稱為階符),用 S 表示 的符號(稱為尾符),
則 N 的浮點數簡記形式為

N = (S p ……p0,S f f ……f ) (1.4)

其中的冪和尾數部分既可以用符號-大小形式給出,也可以用補數形式給出。
浮點數的運算有專門的算法,一般在計算機課程中會進行介紹。
例 1.9 設 n + m = 10,k = 5,試用符號-大小形式寫出 N = ( 101101.101)2
的浮點數。
解:由於 f = (.1011011010) 2,S = 1;p = + (6)10 = +(00110) 2,S = 0
因此,N 的浮點數為

N = (000110,11011011010)2

雖然計算機等數位設備採用二進制資料進行處理,但人們輸入給它們處理
的卻不僅僅是二進制資料,而是包括字母、數位甚至符號。如同帶符號數表示
法中用二進制的 0 表示「+」、用 1 表示「 」以便計算機進行處理一樣,這
些字母、數位、符號也必須用二進制數來表示。這種用一組符號按一定規則表
示給定字母、數位、符號或其它資訊的方法稱為編碼(Encode),而編碼的結
果稱為代碼(Code)。其實,編碼的例子在日常生活中經常遇到,只是人們
平時沒有注意到編碼的概念罷了。例如,交叉路口的紅燈、綠燈、黃燈分別表
示停止、通行、注意,天氣預報時電視螢幕上出現的各種符號分別表示陰天、
晴天、雨天,電話號盤上各鍵表示的數位或操作、Internet 上計算機主機的 IP
地址等,都與編碼的概念有關。相信讀者能找出更多這樣的實例。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
18  數位電路與邏輯設計

通常,一種編碼的長度 n 不僅與要編碼的資訊的個數 m 有關,而且與編


碼本身所採用的符號的個數 k 也有關係。n、m 和 k 之間一般滿足下面關係

k m k (1.5)

例如,用十進制符號 0~9 來對 800 個不同的資訊編碼時,k = 10,m = 800,


可從上式求得 n = 3。即至少需要 3 位十進制數才能實現對 800 個不同資訊的
有效編碼。
當用二進制符號來編碼時,上式變為

(1.6)

下面介紹最常用的幾種二進制編碼。

自然二進制碼與二進制循環碼

如前所述,一個數的大小可以用不同的進制來表示。從編碼的角度看,用
一種進制來表示一個數的大小也可以看作是一種編碼。當用二進制表示一個數
的大小時,按前述方式表示的結果常常稱為自然二進制碼,表 1.2 第二列給出
的就是十進制數 0~15 的 4 位自然二進制碼。

表 1.2 十進制數 0~15 的二進制編碼


十進 二進制編碼 十進 二進制編碼
制數 自然二進制碼 循環碼 制數 自然二進制碼 循環碼
0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101
2 0010 0011 10 1010 1111
3 0011 0010 11 1011 1110
4 0100 0110 12 1100 1010
5 0101 0111 13 1101 1011
6 0110 0101 14 1110 1001
7 0111 0100 15 1111 1000

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
第1章 數位邏輯基礎  19

但是,自然二進制碼並非是用二進制表示一個數大小的唯一一種編碼。除
了這種編碼方法之外,還可以有許許多多別的編碼方法。表 1.2 第三列就給出
了另外一種二進制編碼,稱為二進制循環碼。循環碼(Cyclic Code)有兩個特
點,一個是相鄰性,一個是循環性。相鄰性是指任意兩個相鄰的代碼中僅有一
位取值不同,循環性是指首尾的兩個代碼也具有相鄰性。凡是滿足這兩個特性
的編碼都稱為循環碼。顯然,表 1.2 第三列的二進制編碼符合循環碼的兩個特
性,因此它是一種循環碼。例如,7 和 8 的兩個代碼分別為 0100 和 1100,只
有 1 位取值不同;首尾的 0 和 15 的兩個代碼分別為 0000 和 1000,也只有 1
位取值不同。當時序電路中採用這種編碼時,可以有效地防止波形出現毛刺。
二進制循環碼的編碼方法很多,表 1.2 第三列給出的是一種典型的循環
碼。由於它是由格雷(Gray)提出的,因此也稱為格雷碼(Gray Code)。格
雷碼除了具有一般循環碼的特性之外,還具有反射特性。所謂反射特性,是指
以編碼最高位 0 和 1 的交界處為對稱軸,處於對稱位置的各對代碼除了最高位
不同外,其餘各位均相同。例如,處於對稱位置的 7 和 8 的代碼 0100 和 1100
只有最高位不同,處於對稱位置的 3 和 12 的代碼 0010 和 1010 也只有最高位
取值不同。利用這種反射特性,並透過由少到多的位數擴展,讀者不難構造出
不同位數的格雷碼。

BCD 碼

BCD 碼是二-十進制碼的簡稱,也就是二進制編碼的十進制數(Binary
Coded Decimal)。它是用二進制代碼來表示十進制的 10 個數符,因此至少需
要 4 位二進制數編碼。當採用 4 位二進制編碼時,共有 16 種代碼,原則上可
以從中任選 10 種來代表十進制的 10 個數符,多餘的 6 種代碼稱為禁用碼,平
時不允許使用。表 1.3 中列出了最常用的幾種 BCD 碼。

8421BCD 碼

8421BCD 碼是最常用也最簡單的一種 BCD 代碼,它與十進制數符的 4 位


等值二進制數完全相同,各位的權值依次為 8、4、2、1。由於這個原因,有
時也稱它為自然 BCD 碼。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
20  數位電路與邏輯設計

表 1.3 常用 BCD 碼

N10 8421BCD 碼 5421BCD 碼 4221BCD 碼 加3碼 加 3 循環碼


0 0000 0000 0000 0011 0010
1 0001 0001 0001 0100 0110
2 0010 0010 0010 0101 0111
3 0011 0011 0011 0110 0101
4 0100 0100 1000 0111 0100
5 0101 1000 0111 1000 1100
6 0110 1001 1100 1001 1101
7 0111 1010 1101 1010 1111
8 1000 1011 1110 1011 1110
9 1001 1100 1111 1100 1010

5421BCD 碼

5421BCD 碼也是有權值碼,它各位的權值依次為 5、4、2、1。其顯著特


點是最高位連續 5 個 0 後連續 5 個 1,當計數器採用這種編碼時,最高位可產
生對稱方波輸出。

4221BCD 碼

4221BCD 碼也是一種有權值碼,它各位的權值依次為 4、2、2、1。其顯


著特點是,將任意一個十進制數符 D 的代碼的各位取反,正好是與 9 互補的
那個十進制數符(9-D)的代碼。例如,將 3 的代碼 0011 取反,得到的 1100
正好是 9 3 = 6 的代碼。這種特性稱為自補特性,具有自補特性的代碼稱為自
補數(Self-Complement Code)。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
國家圖書館出版品預行編目資料

數位電路與邏輯設計 = Digital circuit and


logic design / 關宇等編著. -- 初版. --
臺北市 : 五南, 2002[民 91]
面 ; 公分

ISBN 978-957-11-3037-8(平裝)

1. 積體電路

448.62 91017116

5B73

數位電路與邏輯設計
作 者 鄧元慶
校 訂 周俊杰
編 者 關 宇
編 輯 田惠敏

出版者
發行人 楊榮川
地 址:台北市大安區 106
和平東路二段 339 號 4 樓
電 話:(02)27055066(代表號)
傳 真:(02)27066100
劃 撥:0106895-3
網 址:http://www.wunan.com.tw
電子郵件:wunan@wunan.com.tw
顧 問 財團法人資訊工業策進會科技法律中心
版 刷 2002 年 10 月 初版一刷

定 價 650 元 版權所有.請予尊重

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066

You might also like