国产AV88|国产乱妇无码在线观看|国产影院精品在线观看十分钟福利|免费看橹橹网站

25303:數(shù)字邏輯(第三版)

發(fā)布時間:2022-8-31 | 雜志分類:其他
免費制作
更多內(nèi)容

25303:數(shù)字邏輯(第三版)

內(nèi) 容 簡 介本書根據(jù)普通高等學(xué)校計算機專業(yè)教學(xué)大綱精神,以及數(shù)字電路與邏輯設(shè)計課程的特點編寫而成,全面系統(tǒng)地闡述了數(shù)字電路與邏輯設(shè)計的基本理論、基本概念、基本方法以及現(xiàn)代邏輯設(shè)計技術(shù)。全書共分 8 章:數(shù)制與編碼、邏輯代數(shù)基礎(chǔ)、組合邏輯、同步時序邏輯、脈沖產(chǎn)生電路、數(shù)/模與模/數(shù)轉(zhuǎn)換電路、編程邏輯及數(shù)字系統(tǒng)綜合設(shè)計。本版增加了小視頻和圖片,升級為立體教材。本書的編者是長期從事高校數(shù)字邏輯課程教學(xué)的骨干教師,并有豐富的數(shù)字系統(tǒng)設(shè)計經(jīng)驗與相關(guān)項目工程背景。書中不僅對經(jīng)典邏輯理論作了詳細(xì)地論述,同時也考慮到當(dāng)今數(shù)字電路與邏輯設(shè)計的發(fā)展趨勢,介紹了當(dāng)今先進(jìn)的邏輯設(shè)計方法與技術(shù),如 PLD(可編程邏輯器件)、HDL(硬件描述語言)、SoC(片上系統(tǒng))、EDA(電子設(shè)計自動化)技術(shù)等。本書理論聯(lián)系實際,適合作為高等學(xué)校計算機及其相關(guān)專業(yè)本科教材,也可作為相關(guān)專業(yè)高職高專教材和工程科研人員的參考用書。圖書在版編目(CIP)數(shù)據(jù) 數(shù)字邏輯/朱勇主編. —3 版. —北京:中國鐵 道出版社,2019.1 普通高等院校計算機類專業(yè)規(guī)劃教材. 精品系列 普 通高等教育“十一五”國家級規(guī)劃教材 ISBN 9... [收起]
[展開]
25303:數(shù)字邏輯(第三版)
粉絲: {{bookData.followerCount}}
文本內(nèi)容
第2頁

普通高等教育“十一五”國家級規(guī)劃教材

普通高等院校計算機類專業(yè)規(guī)劃教材·精品系列

數(shù)字邏輯

(第三版)

朱 勇 主 編

王 君 姜志鵬 副主編

第3頁

內(nèi) 容 簡 介

本書根據(jù)普通高等學(xué)校計算機專業(yè)教學(xué)大綱精神,以及數(shù)字電路與邏輯設(shè)計課程的特點編

寫而成,全面系統(tǒng)地闡述了數(shù)字電路與邏輯設(shè)計的基本理論、基本概念、基本方法以及現(xiàn)代邏

輯設(shè)計技術(shù)。全書共分 8 章:數(shù)制與編碼、邏輯代數(shù)基礎(chǔ)、組合邏輯、同步時序邏輯、脈沖產(chǎn)

生電路、數(shù)/模與模/數(shù)轉(zhuǎn)換電路、編程邏輯及數(shù)字系統(tǒng)綜合設(shè)計。本版增加了小視頻和圖片,

升級為立體教材。

本書的編者是長期從事高校數(shù)字邏輯課程教學(xué)的骨干教師,并有豐富的數(shù)字系統(tǒng)設(shè)計經(jīng)驗

與相關(guān)項目工程背景。書中不僅對經(jīng)典邏輯理論作了詳細(xì)地論述,同時也考慮到當(dāng)今數(shù)字電路

與邏輯設(shè)計的發(fā)展趨勢,介紹了當(dāng)今先進(jìn)的邏輯設(shè)計方法與技術(shù),如 PLD(可編程邏輯器件)、

HDL(硬件描述語言)、SoC(片上系統(tǒng))、EDA(電子設(shè)計自動化)技術(shù)等。

本書理論聯(lián)系實際,適合作為高等學(xué)校計算機及其相關(guān)專業(yè)本科教材,也可作為相關(guān)專業(yè)

高職高專教材和工程科研人員的參考用書。

圖書在版編目(CIP)數(shù)據(jù)

數(shù)字邏輯/朱勇主編. —3 版. —北京:中國鐵

道出版社,2019.1

普通高等院校計算機類專業(yè)規(guī)劃教材. 精品系列 普

通高等教育“十一五”國家級規(guī)劃教材

ISBN 978-7-113-25303-5

Ⅰ. ①數(shù)… Ⅱ. ①朱… Ⅲ. ①數(shù)字邏輯-高等學(xué)校-

教材 Ⅳ. ①TP302.2

中國版本圖書館 CIP 數(shù)據(jù)核字(2018)第 295164 號

書 名:數(shù)字邏輯(第三版)

作 者:朱 勇 主編

策 劃:周海燕 讀者熱線:(010)63550836

責(zé)任編輯:周海燕

封面設(shè)計:劉 穎

責(zé)任校對:張玉華

責(zé)任印制:郭向偉

出版發(fā)行:中國鐵道出版社(100054,北京市西城區(qū)右安門西街 8 號)

網(wǎng) 址:http://www.tdpress.com/51eds/

印 刷:三河市航遠(yuǎn)印刷有限公司

版 次:2007 年 12 月第 1 版 2019 年 1 月第 3 版 2019 年 1 月第 1 次印刷

開 本:787mm×1092 mm 1/16 印張:18.25 字?jǐn)?shù):440 千

書 號:ISBN 978-7-113-25303-5

定 價:49.00 元

版權(quán)所有 侵權(quán)必究

凡購買鐵道版圖書,如有印制質(zhì)量問題,請與本社教材圖書營銷部聯(lián)系調(diào)換。電話:(010)63550836

打擊盜版舉報電話:(010)51873659

第4頁

《數(shù)字邏輯》伴隨著讀者厚愛,走過了風(fēng)風(fēng)雨雨十年歷程。本次改版(第三版)使該書升級

為多媒體立體化教材:全書多處增加了小視頻和圖片。讀者只要掃描書中二維碼就可以得到相關(guān)

概念、芯片、實驗以及實例講解,如同編者親臨。此外,將原 Altera 實踐環(huán)節(jié)改編為 Modelsim 仿

真軟件,使得讀者可以通過仿真軟件學(xué)習(xí)邏輯設(shè)計,以適應(yīng)更多專業(yè)的學(xué)生;原 Altera 部分作為

附錄,保持了版本的兼容性。

數(shù)字邏輯課程的主旨在于訓(xùn)練學(xué)生的邏輯思維能力,掌握運用形式化方法來描述客觀世界,

為學(xué)習(xí)計算機硬件課程打下扎實基礎(chǔ)。本書著眼于培養(yǎng)讀者分析問題和解決問題的能力。對每一

個邏輯問題的講述做到條理清晰、深入淺出,盡量避免就事論事,從而達(dá)到舉一反三的效果。每

章均列舉了相當(dāng)數(shù)量的例題,以加深讀者對基本概念的理解,掌握基本方法的運用。最終以 MIPS

CPU 綜合邏輯描述與設(shè)計作為總結(jié),期望能對學(xué)生能力有質(zhì)的提高,同時為計算機系統(tǒng)設(shè)計打下

基礎(chǔ)。

本教材除了全面詳盡地論述經(jīng)典數(shù)字邏輯外,還具有以下四個特色:

(1)可編程邏輯技術(shù):介紹業(yè)界 PLD 領(lǐng)軍企業(yè) Xilinx 和 Altera(Intel 收購)的 CPLD、FPGA

硬件芯片,以及 HDL 邏輯設(shè)計語言。

(2)EDA 仿真:介紹業(yè)界最流行的仿真軟件 Modelsim 及其仿真應(yīng)用。

(3)CPU 設(shè)計實例:闡述學(xué)界經(jīng)典 CPU MIPS 基本設(shè)計原理及其邏輯仿真。

(4)小視頻:生動地講解了相關(guān)概念、芯片、實驗以及實例,增加讀者的感性認(rèn)識。

全書共分 8 章,主要包括數(shù)制與編碼、邏輯代數(shù)基礎(chǔ)、組合邏輯、同步時序邏輯、脈沖產(chǎn)生

電路、數(shù)/模與模/數(shù)轉(zhuǎn)換電路、編程邏輯和數(shù)字系統(tǒng)綜合設(shè)計。

全書由朱勇任主編,王君、姜志鵬任副主編。具體分工如下:朱勇編寫數(shù)制與編碼、編程邏

輯及數(shù)字系統(tǒng)綜合設(shè)計部分,高曉清編寫同步時序邏輯、脈沖產(chǎn)生電路和數(shù)/模與模/數(shù)轉(zhuǎn)換電路

部分,曾西洋編寫邏輯代數(shù)基礎(chǔ)與組合邏輯部分,王君負(fù)責(zé)實驗視頻錄制以及文檔管理工作,

姜志鵬編寫 Modelsim 仿真軟件使用及其實例仿真。還要感謝吳官東、黃瀟、孫愛珂、楊慧鑫提

供 CPU 邏輯仿真以及視頻解說和圖片處理工作。

對于教材中的不妥之處,敬請同仁和讀者批評指正。

編 者

2018 年 10 月于金陵

PREFACE

第三版前言

第6頁

隨著 IC(集成電路)工藝和計算機硬件技術(shù)的飛速發(fā)展以及兩者的相互滲透,數(shù)字邏輯設(shè)計

方法發(fā)生了很大的變化:元件規(guī)模從簡單邏輯功能的分離器件到實現(xiàn)復(fù)合邏輯以及通用功能的中

大規(guī)模 IC,器件類型從通用邏輯器件到 ASIC(專用集成電路)以及 PLD 半用戶定制電路,設(shè)計

模式也從傳統(tǒng)的以基本具體的邏輯單元搭建數(shù)字電路的方式到采用硬件語言抽象描述數(shù)字系統(tǒng)

的 EDA 設(shè)計環(huán)境。因此《數(shù)字邏輯》教程必須順應(yīng)當(dāng)前主流技術(shù)的發(fā)展,達(dá)到與時俱進(jìn)。

數(shù)字邏輯教程的主旨在于訓(xùn)練學(xué)生的邏輯思維能力,掌握運用形式化方法描述客觀世界的能

力,為學(xué)習(xí)計算機硬件課程打下扎實基礎(chǔ)。本書著眼于培養(yǎng)讀者分析問題和解決問題的能力。對

每一個邏輯問題的講述做到條理清晰、深入淺出,盡量避免就事論事,從而達(dá)到舉一反三的效果。

每章均列舉了相當(dāng)數(shù)量的例題,以加深基本概念的理解,掌握基本方法的運用。

本教材除了全面詳盡地論述經(jīng)典數(shù)字邏輯外,還增添了非常具有實用價值的三個特色部分:

(1)可編程邏輯。可編程邏輯器件及其設(shè)計方法是對邏輯設(shè)計的一個重要補充,而且發(fā)展

相當(dāng)迅猛??v觀最新出版的數(shù)字邏輯教材,這部分的分量越來越重。筆者非常認(rèn)同當(dāng)前現(xiàn)狀,結(jié)

合多年的可編程邏輯研究與設(shè)計經(jīng)驗,詳細(xì)闡述了可編程原理、可編程器件和可編程設(shè)計方法。

避免了某些教科書只蜻蜓點水地介紹一些抽象的可編程原理,或羅列幾個可編程器件的表面文章

做法。

(2)EDA 設(shè)計。在校學(xué)生學(xué)完課程后往往動不了手,極大地影響了學(xué)習(xí)興趣,這也是為什

么同學(xué)們學(xué)習(xí)軟件的興趣高于硬件的原因之一。本書以國內(nèi)最為流行的 Protel 設(shè)計環(huán)境為例,講

述電路的整個設(shè)計流程,使得在學(xué)完數(shù)字邏輯基礎(chǔ)知識后,就可以設(shè)計、制作數(shù)字電路 PCB 了。

(3)綜合實例。最能體現(xiàn)實用性的內(nèi)容就是本書最后給出的兩個設(shè)計實例。它們貫穿了整

個數(shù)字邏輯設(shè)計的完整過程,不僅僅是理論上的,而且包括實踐過程??梢哉f,如果讀者完全掌

握這個過程,他就已經(jīng)能夠擔(dān)任產(chǎn)品研發(fā)工程師了。同時,這兩個實例也可以作為數(shù)字邏輯課程

的設(shè)計題目。

全書共分 9 章:數(shù)制與編碼、邏輯代數(shù)基礎(chǔ)、組合邏輯、同步時序邏輯、異步時序邏輯、脈

沖產(chǎn)生電路、數(shù)/模與模/數(shù)轉(zhuǎn)換電路、編程邏輯和 EDA 設(shè)計。全書由朱勇教授主編,并編寫數(shù)制

與編碼、編程邏輯及 EDA 部分,高曉清編寫同步時序邏輯、異步時序邏輯、脈沖產(chǎn)生電路和數(shù)/

模與模/數(shù)轉(zhuǎn)換電路部分,曾西洋編寫邏輯代數(shù)基礎(chǔ)與組合邏輯部分。還要感謝王文斌、周 、湜

楊琳、陳笑春、計臣、周游、李涇、施靜、夏玲為本教材的出版提供了幫助。

對于教材中的不妥之處,敬請同仁和讀者批評指正。

編 者

2007 年 11 月

PREFACE

第一版前言

第7頁

本書第一版被教育部評為普通高等教育“十一五”國家級規(guī)劃教材。

隨著 IC(集成電路)工藝和計算機硬件技術(shù)的飛速發(fā)展以及兩者的相互滲透,數(shù)字邏輯設(shè)計

方法發(fā)生了很大的變化:元件規(guī)模從簡單邏輯功能的分離器件到實現(xiàn)復(fù)合邏輯的中大規(guī)模 IC 以

及 SoC,器件類型從通用邏輯芯片到 ASIC 以及 PLD 半用戶定制電路,設(shè)計模式也從傳統(tǒng)的以基

本具體的邏輯單元搭建數(shù)字電路的方式到采用硬件語言抽象描述和軟硬件協(xié)同設(shè)計的 EDA 設(shè)計

環(huán)境。因此,《數(shù)字邏輯》教程必須順應(yīng)當(dāng)前主流技術(shù)的發(fā)展,與時俱進(jìn)。

數(shù)字邏輯課程與教材在不同的學(xué)校有不同的名稱,不同的專業(yè)有不同的側(cè)重點。編者經(jīng)歷了

二十余年的一線教學(xué),參與教材編寫也已逾十年,深刻體會到這門課程的發(fā)展。與 IT 相關(guān)的專

業(yè),如計算機、電子、通信、自動化等中,硬件系統(tǒng)都是一個重要內(nèi)容。如何在有限的篇幅里,

讓學(xué)生掌握數(shù)字系統(tǒng)邏輯設(shè)計的基礎(chǔ)知識與主流技術(shù),具有綜合應(yīng)用能力,是編者的責(zé)任所在。

本教材全面詳盡地論述經(jīng)典數(shù)字邏輯(組合邏輯和時序邏輯)和現(xiàn)代邏輯設(shè)計(編程邏輯),

具有以下三個特色:

(1)可編程邏輯??删幊踢壿嬈骷捌湓O(shè)計方法是對經(jīng)典邏輯設(shè)計的一個重要補充,而且

發(fā)展相當(dāng)迅猛。筆者非常認(rèn)同當(dāng)前現(xiàn)狀,結(jié)合多年的 SoC 研究與設(shè)計經(jīng)驗,以較大的篇幅詳細(xì)闡

述了可編程原理、可編程器件和可編程設(shè)計方法。避免了某些教科書只蜻蜓點水地介紹一些抽象

的可編程原理,或羅列幾個可編程器件的表面文章做法。

(2)HDL 設(shè)計語言與 EDA 環(huán)境。HDL 是當(dāng)今 SoC 設(shè)計的主流技術(shù)。教材全面介紹了 VHDL

語言基礎(chǔ)以及典型用法,并給出了在 Quartus 環(huán)境下的設(shè)計流程。VHDL 語法介紹條理清楚,應(yīng)

用實例由淺入深,設(shè)計環(huán)境圖文并茂。

(3)CPU 綜合數(shù)字系統(tǒng)?!皢沃芷?CPU 描述與設(shè)計”實例將數(shù)字邏輯和計算機微結(jié)構(gòu)很好

地融合在一起。數(shù)字邏輯是微處理器的設(shè)計基礎(chǔ),后者又為前者提供了廣闊的應(yīng)用和設(shè)計空間。

可以說,如果讀者完全掌握這個過程,就具有擔(dān)任產(chǎn)品研發(fā)工程師的實力了。同時,這些實例也

可以作為數(shù)字邏輯課程的設(shè)計題目。

本教材共分 9 章:數(shù)制與編碼、邏輯代數(shù)基礎(chǔ)、組合邏輯、同步時序邏輯、異步時序邏輯、

脈沖產(chǎn)生電路、數(shù)/模與模/數(shù)轉(zhuǎn)換電路、編程邏輯和數(shù)字系統(tǒng)綜合設(shè)計。全書由朱勇教授主編,

由高曉清、曾西洋副教授任副主編。其中,朱勇教授編寫數(shù)制與編碼、編程邏輯及數(shù)字系統(tǒng)綜合

設(shè)計部分,高曉清副教授編寫同步時序邏輯、異步時序邏輯、脈沖產(chǎn)生電路和數(shù)/模與模/數(shù)轉(zhuǎn)換

電路部分,曾西洋副教授編寫邏輯代數(shù)基礎(chǔ)與組合邏輯部分。汪玉蓉、王文斌、周 、周游、 湜

楊琳、陳笑春、李涇為本教材的出版提供了幫助,在此一并表示感謝。

本教材適合作為高校計算機、電子信息、自動化等相關(guān)專業(yè)教材,以及從事相關(guān)領(lǐng)域工程技

術(shù)人員的參考書。

對于教材中的不妥之處,敬請同仁和讀者批評指正。

編 者

2013 年 7 月

第二版前言

PREFACE

第8頁

第 1 章 數(shù)制與編碼 ...................................1

1-1 數(shù)字邏輯概述.................................... 1

1-1-1 數(shù)字系統(tǒng).............................. 1

1-1-2 片上系統(tǒng) .............................. 3

1-2 數(shù)制及其轉(zhuǎn)換 .................................... 5

1-2-1 十進(jìn)制 .................................. 5

1-2-2 二進(jìn)制 .................................. 6

1-2-3 八進(jìn)制 .................................. 6

1-2-4 十六進(jìn)制 .............................. 6

1-2-5 數(shù)制轉(zhuǎn)換 .............................. 7

1-3 帶符號二進(jìn)制數(shù)的代碼表示 ........... 12

1-3-1 機器碼與真值..................... 12

1-3-2 原碼.................................... 12

1-3-3 反碼.................................... 13

1-3-4 補碼.................................... 14

1-3-5 數(shù)碼運算 ............................ 15

1-4 編碼 ................................................. 17

1-4-1 BCD 碼................................ 17

1-4-2 格雷碼 ................................ 18

1-4-3 奇偶檢驗碼 ........................ 20

1-4-4 CRC 碼................................ 20

1-4-5 ASCII 碼 ............................. 21

小結(jié) ........................................................... 22

習(xí)題 ........................................................... 22

第 2 章 邏輯代數(shù)基礎(chǔ)..............................23

2-1 邏輯代數(shù)的基本定理和規(guī)則 ........... 23

2-1-1 邏輯代數(shù)公理..................... 23

2-1-2 邏輯代數(shù)定理..................... 23

2-1-3 邏輯代數(shù)規(guī)則..................... 25

2-2 邏輯函數(shù)的表示方法....................... 27

2-2-1 邏輯表達(dá)式 ........................ 27

2-2-2 真值表 ................................ 27

2-2-3 邏輯圖 ................................ 28

2-3 邏輯函數(shù)表達(dá)形式與變換............... 28

2-3-1 積之和 ................................29

2-3-2 和之積 ................................29

2-3-3 最小項標(biāo)準(zhǔn)形式.................29

2-3-4 最大項標(biāo)準(zhǔn)形式.................31

2-4 邏輯函數(shù)的化簡 ..............................34

2-4-1 與或式的化簡.....................34

2-4-2 或與式的化簡.....................36

2-5 卡諾圖..............................................37

2-5-1 卡諾圖構(gòu)成 ........................37

2-5-2 典型卡諾圈 ........................39

2-5-3 卡諾圖化簡 ........................42

2-5-4 無關(guān)項的卡諾圖表示 .........45

小結(jié) ...........................................................46

習(xí)題 ...........................................................47

第 3 章 組合邏輯 ....................................49

3-1 門電路..............................................49

3-1-1 二極管、三極管門電路 .....49

3-1-2 TTL 門電路......................... 53

3-1-3 CMOS 門電路...................... 57

3-2 組合邏輯分析 ..................................59

3-2-1 分析步驟 ............................59

3-2-2 分析實例 ............................60

3-3 組合邏輯設(shè)計 ..................................62

3-3-1 設(shè)計步驟 ............................62

3-3-2 問題的描述 ........................62

3-3-3 設(shè)計實例 ............................65

3-3-4 不完全項設(shè)計.....................68

3-4 組合邏輯電路的險象.......................70

3-4-1 險象的產(chǎn)生 ........................70

3-4-2 險象的判斷 ........................71

3-4-3 險象的解決 ........................72

3-5 常用的中規(guī)模組合邏輯構(gòu)件的

使用 .................................................73

3-5-1 譯碼器 ................................74

目 錄

CONTENTS hhh

第9頁

2 數(shù)字邏輯(第三版)

3-5-2 編碼器 ................................ 81

3-5-3 多路選擇器 ........................ 83

3-5-4 比較器 ................................ 88

3-5-5 加法器 ................................ 90

3-5-6 ALU .................................... 93

小結(jié) ........................................................... 98

習(xí)題 ........................................................... 99

第 4 章 同步時序邏輯............................102

4-1 時序邏輯結(jié)構(gòu)模型 ........................ 102

4-1-1 結(jié)構(gòu)模型 .......................... 102

4-1-2 時序電路的分類............... 104

4-2 觸發(fā)器............................................ 104

4-2-1 RS 觸發(fā)器......................... 104

4-2-2 D 觸發(fā)器........................... 107

4-2-3 JK 觸發(fā)器 ......................... 109

4-2-4 T 觸發(fā)器 ........................... 113

4-2-5 不同類型時鐘觸發(fā)器間的

轉(zhuǎn)換 ................................. 113

4-2-6 集成觸發(fā)器的參數(shù)........... 118

4-3 同步時序邏輯分析 ........................ 119

4-3-1 特性函數(shù) .......................... 119

4-3-2 激勵表 .............................. 119

4-3-3 狀態(tài)圖、狀態(tài)表............... 119

4-3-4 波形圖 .............................. 121

4-3-5 分析實例 .......................... 121

4-4 同步時序邏輯設(shè)計 ........................ 126

4-4-1 原始狀態(tài)圖和狀態(tài)表 ....... 127

4-4-2 狀態(tài)表化簡 ...................... 131

4-4-3 狀態(tài)分配 .......................... 137

4-4-4 設(shè)計實例 .......................... 141

4-5 常用的中規(guī)模同步時序邏輯

構(gòu)件的使用.................................... 145

4-5-1 寄存器 .............................. 145

4-5-2 計數(shù)器 .............................. 148

小結(jié) ......................................................... 157

習(xí)題 ......................................................... 158

第 5 章 脈沖產(chǎn)生電路............................161

5-1 多諧振蕩器 .................................... 161

5-1-1 TTL 環(huán)形振蕩器 ............... 161

5-1-2 MOS 多諧振蕩器 .............. 163

5-2 單穩(wěn)態(tài)觸發(fā)器 ................................ 164

5-3 施密特觸發(fā)器 ................................ 166

5-4 555 定時器及其應(yīng)用...................... 168

5-4-1 555 定時器 ....................... 168

5-4-2 單穩(wěn)態(tài)觸發(fā)器................... 169

5-4-3 多諧振蕩器 ...................... 170

5-4-4 施密特振蕩器................... 171

小結(jié) ......................................................... 172

習(xí)題 ......................................................... 172

第 6 章 數(shù)/模與模/數(shù)轉(zhuǎn)換電路 ...............174

6-1 數(shù)/模轉(zhuǎn)換電路 ............................... 174

6-1-1 權(quán)電阻網(wǎng)絡(luò) DAC .............. 174

6-1-2 倒 T 形電阻網(wǎng)絡(luò) DAC ...... 175

6-1-3 DAC 的主要技術(shù)指標(biāo) ...... 176

6-1-4 集成 DAC 舉例 ................. 177

6-1-5 DAC 轉(zhuǎn)換器應(yīng)用舉例 ...... 179

6-2 模/數(shù)轉(zhuǎn)換電路 ............................... 181

6-2-1 逐次比較型 ADC .............. 184

6-2-2 雙積分型 ADC .................. 187

6-2-3 ADC 的主要技術(shù)指標(biāo) ...... 189

6-2-4 集成 ADC 舉例 ................. 189

6-2-5 ADC 應(yīng)用舉例 .................. 191

小結(jié) ......................................................... 193

習(xí)題 ......................................................... 193

第 7 章 編程邏輯 ..................................195

7-1 陣列示意圖 .................................... 195

7-1-1 ROM.................................. 195

7-1-2 陣列示意圖概述............... 196

7-2 CPLD .............................................. 198

7-2-1 PLA................................... 198

7-2-2 PAL................................... 199

7-2-3 GAL................................... 200

7-2-4 CPLD 簡介 ........................ 201

7-2-5 CPLD 編程原理 ................ 203

7-3 FPGA .............................................. 204

7-3-1 FPGA 編程原理 ................ 204

第10頁

目 錄 3

7-3-2 Altera FPGA 典型結(jié)構(gòu)...... 205

7-3-3 Xilinx FPGA 典型結(jié)構(gòu)...... 209

7-4 VHDL ............................................. 212

7-4-1 VHDL 概述 ....................... 212

7-4-2 VHDL 基本結(jié)構(gòu) ............... 213

7-4-3 VHDL 數(shù)據(jù)類型與

表達(dá)式.............................. 214

7-4-4 VHDL 基本語句 ............... 219

7-4-5 ModelSim 仿真.................. 225

7-4-6 組合邏輯設(shè)計實例........... 231

7-4-7 時序邏輯設(shè)計實例........... 238

小結(jié) ......................................................... 245

習(xí)題 ......................................................... 246

第 8 章 數(shù)字系統(tǒng)綜合設(shè)計.....................247

8-1 設(shè)計流程........................................ 247

8-2 七段 LED 顯示 ............................... 248

8-2-1 LED 顯示原理 .................. 248

8-2-2 電路設(shè)計 .......................... 249

8-2-3 VHDL 設(shè)計 ....................... 250

8-3 交通燈控制 .................................... 252

8-3-1 系統(tǒng)需求 .......................... 252

8-3-2 狀態(tài)分析 .......................... 253

8-3-3 系統(tǒng)設(shè)計 .......................... 253

8-3-4 模塊 VHDL 描述 .............. 253

8-3-5 仿真與運行結(jié)果............... 258

8-4 ADC 0804 數(shù)據(jù)采集 ....................... 258

8-4-1 ADC 0804 時序 ................. 258

8-4-2 原理圖 .............................. 259

8-4-3 VHDL 設(shè)計 ....................... 259

8-5 單周期 CPU 描述 ........................... 261

8-5-1 MIPS 處理器概述 ............. 261

8-5-2 指令描述 .......................... 262

8-5-3 微結(jié)構(gòu) .............................. 263

8-6 單周期 CPU 設(shè)計 ........................... 265

8-6-1 指令執(zhí)行步驟................... 265

8-6-2 取指令(IF)邏輯設(shè)計.... 265

8-6-3 指令譯碼(ID)

邏輯設(shè)計.......................... 266

8-6-4 指令執(zhí)行(EXE)

邏輯設(shè)計.......................... 270

8-6-5 存儲器訪問(MEM)

邏輯設(shè)計.......................... 270

8-6-6 結(jié)果寫回(WB)

邏輯設(shè)計.......................... 270

8-6-7 系統(tǒng)邏輯設(shè)計及仿真 ....... 271

小結(jié) ......................................................... 273

習(xí)題 ......................................................... 274

附錄 A 邏輯符號對照表.........................275

附錄 B Quartus II 開發(fā)環(huán)境...................278

參考文獻(xiàn).................................................282

第12頁

數(shù)字系統(tǒng)包含兩種類型的運算,即邏輯運算和算術(shù)運算。不論哪種運算都與數(shù)的關(guān)系十

分密切,因此了解數(shù)的表示形式和基本特征是大有必要的。計算機是數(shù)字系統(tǒng)中最常見、最

有代表性的設(shè)備,因此必須了解數(shù)在計算機系統(tǒng)中的表示方法和特征。

數(shù)字系統(tǒng)所處理的信息都是離散元素,這些離散元素可以有不同的表示形式,如十進(jìn)制

數(shù)字、字母、標(biāo)點符號等?,F(xiàn)實生活中人類通常采用十進(jìn)位計數(shù)制來表示數(shù),但計算機不能

直接接受十進(jìn)制。因此需要選擇一種進(jìn)位計數(shù)制來確定小數(shù)點及數(shù)的正、負(fù)符號在計算機中

的表示,同時人-機通信也需要進(jìn)行數(shù)制轉(zhuǎn)換。

本章重點介紹數(shù)字系統(tǒng)中數(shù)據(jù)的表示形式——數(shù)制與編碼。

1-1 數(shù)字邏輯概述

1-1-1 數(shù)字系統(tǒng)

客觀世界存在著各種物理信號,按其變化規(guī)律可以分為兩種類型:一種是連續(xù)信號,另一種

是離散信號。

所謂連續(xù)信號是指在時間上和數(shù)值上均作連續(xù)變化的物理信號,例如溫度、壓力等。在工程

應(yīng)用中為了便于處理和傳輸,通常用某一種連續(xù)信號去模擬另一種連續(xù)信號,例如用電壓的變化

代替溫度的變化等。因此,連續(xù)信號又稱模擬信號,簡稱模擬量。直接對模擬量進(jìn)行處理的電子

線路稱為模擬電路。

所謂離散信號是指信號的變化在時間上和數(shù)值上都是離散的,或者說是不連續(xù)的。例如,學(xué)

生成績記錄、產(chǎn)品統(tǒng)計、電路開關(guān)的狀態(tài)等。離散信號的變化可以用不同的數(shù)字表示,所以又稱

數(shù)字信號,簡稱數(shù)字量。直接對數(shù)字量進(jìn)行處理的電子線路稱為數(shù)字電路,由于數(shù)字電路的各種

功能是通過邏輯運算和邏輯判斷來實現(xiàn)的,所以又稱數(shù)字邏輯電路或者邏輯電路。

通常以正弦波為例來說明模擬信號和數(shù)字信號。正弦波既能用連續(xù)方式表示也能用離散方式

表示,圖 1-1 是其兩種表示方式。

(a)模擬表示 (b)離散表示

圖 1-1 正弦波的模擬表示和離散表示

圖 1-1(b)中的離散信號可以表示為如表 1-1 所示的數(shù)字值。

數(shù)字系統(tǒng)已經(jīng)成為日常生活中重要的組成部分。在人們周圍可以發(fā)現(xiàn)無數(shù)個數(shù)字硬件的例子,

如自動播音器、CD 播放機、電話系統(tǒng)、PC 以及視頻游戲機等,這樣的例子舉不勝舉。

簡單地說,數(shù)字系統(tǒng)是一個能對數(shù)字信號進(jìn)行加工、傳輸和存儲的實體,它由實現(xiàn)各種功能

第 章 1 數(shù)制與編碼

u

O π 2π

u

O π 2π

第13頁

2 數(shù)字邏輯(第三版)

的數(shù)字邏輯電路相互連接而成。數(shù)字系統(tǒng)是僅僅用數(shù)字來“處理”信息以實現(xiàn)計算和操作的電子

網(wǎng)絡(luò)。但是,數(shù)字系統(tǒng)中所用的數(shù)字是來自于特別的數(shù)制系統(tǒng),該數(shù)制系統(tǒng)只有兩個值:0 和 1。

此特征定義了二進(jìn)制系統(tǒng)中數(shù)字的本身(0 和 1),稱為比特(bit),簡稱“二進(jìn)制數(shù)字”。雖然這

似乎十分簡單,但是由于只使用 0 和 1 來完成所有的計算和操作,所有數(shù)字系統(tǒng)的設(shè)計實際上

是相當(dāng)復(fù)雜的。

表 1-1 正弦波的離散數(shù)字值(X 坐標(biāo)單位為度)

X Y X Y X Y X Y

0 0 90 1 180 0 270 ?1

18 0.31 108 0.95 198 ?0.31 288 ?0.95

36 0.59 126 0.81 216 ?0.59 306 ?0.81

54 0.81 144 0.59 234 ?0.81 324 ?0.59

72 0.95 162 0.31 252 ?0.95 342 ?0.31

數(shù)字系統(tǒng)必須完成如下任務(wù):

① 將現(xiàn)實世界的信息轉(zhuǎn)換成數(shù)字系統(tǒng)可以理解的二進(jìn)制“語言”。

② 僅用數(shù)字 0 和 1 完成所要求的計算和操作。

③ 將處理的結(jié)果以用戶可以理解的方式返回給現(xiàn)實世界。

數(shù)字系統(tǒng)模型如圖 1-2 所示。

圖 1-2 數(shù)字系統(tǒng)模型

整個系統(tǒng)劃分為控制電路和受控電路兩大部分。

① 控制電路是數(shù)字系統(tǒng)模型的核心部分,由記錄當(dāng)前邏輯狀態(tài)的時序電路和進(jìn)行邏輯運算

的組合電路組成。它可根據(jù)控制器的外部輸入信號,由受控電路送回的反饋信號以及控制電路內(nèi)

部的當(dāng)前狀態(tài)來控制邏輯運算的進(jìn)程,向受控電路和系統(tǒng)外部發(fā)出各種控制信號。

② 受控電路(數(shù)據(jù)處理器)由一些組合電路和時序電路組成。它可根據(jù)控制電路發(fā)出的控

制信號對輸入的數(shù)據(jù)信號進(jìn)行處理并輸出,同時,還將反映受控器自身狀態(tài)并將控制要求的信號

反饋給控制器??刂破魇菙?shù)字系統(tǒng)的核心,根據(jù)其內(nèi)部功能可以建立圖 1-3 所示的控制器模型。

控制器的模型可清楚地表明控制器內(nèi)部電路的類型及連接關(guān)系,它是邏輯電路設(shè)計的基本依

據(jù)??刂破鬟壿嬰娐吩O(shè)計的主要任務(wù)包括:狀態(tài)寄存器的選擇、狀態(tài)值分配、次態(tài)譯碼電路設(shè)計

和輸出譯碼電路設(shè)計。

輸入信號 輸

入 控制電路

控制信號

反饋信號 受控電路 輸

輸出信號

公共電路

第14頁

第 1 章 數(shù)制與編碼 3

圖 1-3 控制器模型

1-1-2 片上系統(tǒng)

20 世紀(jì) 90 年代末期,芯片制造工藝更加先進(jìn),集成度越來越高,不同用途的數(shù)字功能單元

和處理器核心可以集成在一塊芯片中實現(xiàn),使得整個系統(tǒng)進(jìn)入片上系統(tǒng)(System on Chip,SoC)

發(fā)展時代。目前,SoC 也是嵌入式系統(tǒng)設(shè)計與實現(xiàn)的一個重要技術(shù)手段。

SoC 是以 IP 核復(fù)用為基礎(chǔ),以軟硬件協(xié)同設(shè)計為主要設(shè)計方法的芯片設(shè)計

技術(shù)。其關(guān)鍵是利用經(jīng)過驗證的 IP,并成功地把 IP 集成到 SoC 系統(tǒng)中。

1.IP 核設(shè)計與復(fù)用

IP 核有軟核和硬核兩種類型。前者以可綜合的硬件描述語言(HDL)代碼

的形式交付;后者則用制定的工藝進(jìn)行了功耗、面積或者性能的優(yōu)化,以 GDSII

格式交付。成功地開發(fā) SoC IP 核結(jié)構(gòu),需要做到:

(1)硬化:優(yōu)化配置并使軟 IP 硬化

IP 硬化過程就是在標(biāo)準(zhǔn)規(guī)定的速度、功率和范圍內(nèi)以目標(biāo)工藝實現(xiàn) IP。該實現(xiàn)必須能夠提供

準(zhǔn)確的建模、自動化方法、工藝易于移植,以及具有基于業(yè)界標(biāo)準(zhǔn)的電子設(shè)計自動化(EDA)工

具。硬化過程首先需要 IP 供應(yīng)商提供高質(zhì)量 RTL(寄存器傳輸級)描述,并且提供一套完整的

GDSII 設(shè)計實現(xiàn)方案。

(2)建模:高度精確地為硬化的軟 IP 自動建模

典型的 SoC 設(shè)計流程包括:

① 功能模型必須代表系統(tǒng)仿真中的 IP 核周期特征,并且能夠在門級仿真中支持精確到比特

的 RTL 仿真和時序注釋。此外,還應(yīng)消除仿真器特殊結(jié)構(gòu)和接口,在仿真環(huán)境中便于移植。

② 時序模型具備所有的時序特點。IEEE 的 IP 核測試語言(CTL),定義了嵌入式 IP 核和 SoC

的測試接口,為 SoC 互聯(lián)和邏輯提供了可測試性。

③ 物理模型是 IP 核具體物理實現(xiàn)的抽象,必須準(zhǔn)確表述:元件占用面積、接口引腳/端口數(shù)

量、線路障礙、電源和接地。

④ 功率模型描述了 IP 核功耗,必須忠實反映靜態(tài)和動態(tài)功耗、I/O 端口和內(nèi)部節(jié)點的開關(guān)狀

態(tài)、I/O 端口和內(nèi)部節(jié)點的狀態(tài)、運行方式、電壓和溫度等條件以及電容負(fù)載和輸入瞬變時間。

(3)集成:將模型綜合到 SoC 設(shè)計流程中

選擇 IP 核時首要考慮的因素是 IP 與目標(biāo)系統(tǒng)的配合程度。為了使開發(fā)的 IP 核能夠高效地集

成到新的設(shè)計中去,設(shè)計復(fù)用和標(biāo)準(zhǔn)化是必由之路。IP 集成必須解決的重要問題有:在系統(tǒng)結(jié)構(gòu)

設(shè)計和模塊劃分時,選擇合適的片上總線結(jié)構(gòu)和 IP 庫;模塊間的接口協(xié)議要盡可能簡單,接口定

義盡可能與國際上通用的接口協(xié)議一致;慎重考慮時鐘分布以及電源、地線的走線,針對關(guān)鍵路

現(xiàn)態(tài)信號

反饋信號

輸入信號

次態(tài)

譯碼

電路

狀態(tài)

寄存器

控制

信號

譯碼

電路

送至

控制器的

控制信號

送至

系統(tǒng)外的

控制信號

SoC

第15頁

4 數(shù)字邏輯(第三版)

徑的優(yōu)化要投入較大精力;注重積累集成的經(jīng)驗。對于成功地集成的 IP,應(yīng)該進(jìn)一步完善,同時

記錄下來形成技術(shù)文檔。

(4)驗證:IP 核是否符合設(shè)計者的想法

IP 核驗證技術(shù)包括:

① 目的性驗證:目的是驗證設(shè)計者所預(yù)想的功能是否在設(shè)計中得到正確實現(xiàn)。通常,它在

最高抽象層次上完成。其最終結(jié)果是建立一個所謂的“黃金模型”,該模型可以作為整個設(shè)計過程

中各種更加詳細(xì)的設(shè)計視圖的參考基準(zhǔn)。

② 等效性驗證:目的是驗證在設(shè)計過程中生成的不同層次的設(shè)計功能是否與“黃金模型”

功能相一致。

③ IP 驗證:指對單個 IP 的功能進(jìn)行驗證的過程,即單元測試。

④ 集成驗證:指對包含一個或多個 IP 的 SoC 進(jìn)行功能驗證的過程,即 SoC 的系統(tǒng)級驗證。

其重點放在 IP 的連接和相互作用上,驗證所用模型應(yīng)能精確地仿效 IP 接口。

可供復(fù)用的 IP 核既要有其功能描述文件用以說明核的功能時序要求等,還要有設(shè)計實現(xiàn)和驗

證兩個方面的文件,即還應(yīng)包含實現(xiàn) IP 核的 RTL 源代碼或網(wǎng)表文件,以及用于 IP 核實現(xiàn)后邏輯

驗證的仿真模型和測試向量。其設(shè)計流程主要包括設(shè)計規(guī)約與劃分、子模塊的規(guī)范與設(shè)計、測試臺

開發(fā)、時序檢測和集成等步驟。在選擇 IP 核時要考慮多方面的因素,如與目標(biāo)系統(tǒng)的配合程度、

成本以及上市的緊迫性、與其他模塊的兼容性、系統(tǒng)功能、IP 核的質(zhì)量及其支持性(標(biāo)準(zhǔn)的遵從

程度、未來發(fā)展的藍(lán)圖、易用性獲取 IP 授權(quán)效率、合作廠商的可依賴程度)集成的難度等。

2.軟硬件協(xié)同設(shè)計

軟/硬件協(xié)同設(shè)計不僅是一種設(shè)計技術(shù),同時也是一種新的設(shè)計方法學(xué),其核心問題是在設(shè)計

過程中協(xié)調(diào)軟件子系統(tǒng)和硬件子系統(tǒng)。與傳統(tǒng)的嵌入式系統(tǒng)設(shè)計方法不同,軟/硬件協(xié)同設(shè)計強調(diào)

軟件和硬件設(shè)計開發(fā)的并行性和相互反饋,克服了傳統(tǒng)方法中把軟件和硬件分開設(shè)計所帶來的種

種弊端,協(xié)調(diào)軟件和硬件之間的制約關(guān)系,達(dá)到系統(tǒng)高效工作的目的。它提高了設(shè)計抽象的層次,

拓展了設(shè)計覆蓋的范圍;與此同時還強調(diào)利用現(xiàn)有資源,即重用構(gòu)件和 IP 核,縮短系統(tǒng)開發(fā)周

期,降低系統(tǒng)成本,提高系統(tǒng)性能,保證系統(tǒng)開發(fā)質(zhì)量。嵌入式系統(tǒng)軟/硬件協(xié)同設(shè)計方法學(xué)主要

包括:系統(tǒng)建模、軟/硬件協(xié)同綜合、協(xié)同仿真、協(xié)同驗證、設(shè)計功能和性能指標(biāo)評價技術(shù)、SoC 測

試調(diào)度技術(shù)等方面,并且還分為不同的設(shè)計層次。

(1)協(xié)同綜合技術(shù)

嵌入式系統(tǒng)是軟件/硬件一體化的系統(tǒng),其中功能既可以由硬件來完成,也可以由軟件來實現(xiàn)。

硬件速度快,而軟件成本低,這就需要權(quán)衡系統(tǒng)的時間、成本等性能指標(biāo)之間的關(guān)系。決定系統(tǒng)

各個模塊由硬件完成或是軟件實現(xiàn)是一項非常重要的工作,這個劃分系統(tǒng)軟/硬件的過程被稱為協(xié)

同綜合或者協(xié)同劃分。

(2)協(xié)同驗證技術(shù)

在系統(tǒng)設(shè)計的各個階段根據(jù)系統(tǒng)性能指標(biāo)要求對設(shè)計方案綜合評價,以驗證系統(tǒng)的合理性和

可行性。協(xié)同驗證的研究主要有兩個方向,即仿真驗證和形式化驗證。仿真驗證方法是用硬件描

述語言 HDL 完成硬件子系統(tǒng)的描述,完成系統(tǒng)軟硬件的聯(lián)合調(diào)試,糾正其中的設(shè)計錯誤;形式化

驗證方法是建立被驗證系統(tǒng)的數(shù)學(xué)模型,然后用數(shù)學(xué)方法證明被驗證系統(tǒng)的正確性以及各種性能

指標(biāo)是否滿足要求。

(3)性能指標(biāo)評價技術(shù)

嵌入式系統(tǒng)是以應(yīng)用為中心、對系統(tǒng)功能和性能指標(biāo)(成本、面積、功耗、實時性)都有嚴(yán)

第16頁

第 1 章 數(shù)制與編碼 5

格要求的專用計算機系統(tǒng)。標(biāo)準(zhǔn)評價各性能指標(biāo)是保證嵌入式系統(tǒng)需求的必要條件。

(4)測試調(diào)度問題

隨著設(shè)計復(fù)雜度的增加,SoC 上重用的 IP 數(shù)量越來越多,為了縮短芯片測試的時間,需要

盡可能并行地測試芯片上的 IP 核。將 IP 核輸入/輸出端動態(tài)分配到同一測試總線上,允許它們同

時進(jìn)行測試,即在設(shè)計中進(jìn)行測試調(diào)度。

SoC 是將若干處理器單元和外設(shè)集成在一起的一個系統(tǒng)組成,可以為應(yīng)用提供高集成度的芯

片解決方案。因此,將系統(tǒng)調(diào)度與控制、數(shù)字信號處理等功能集成在一塊芯片中實現(xiàn)是信息技術(shù)

發(fā)展的必然趨勢。

1-2 數(shù)制及其轉(zhuǎn)換

人們常用一組符號并根據(jù)一定的規(guī)則來表示數(shù)值的大小,這些符號和規(guī)則構(gòu)成了不同的進(jìn)位

計數(shù)制,簡稱數(shù)制。

數(shù)制在日常生活中到處可見,例如普遍使用的十進(jìn)制以及用于計時的六十進(jìn)制和十二進(jìn)制等。

根據(jù)馮·諾依曼的“存儲程序”思想,人們在電子計算機中引入了二進(jìn)制,為了便于二進(jìn)制的書

寫和記憶,人們又引入了八進(jìn)制和十六進(jìn)制。

廣義地說,一種進(jìn)位計數(shù)制包含基數(shù)和位權(quán)兩個基本因素。

基數(shù)是指計數(shù)制中所用到的數(shù)字符號的個數(shù)。在基數(shù)為 r 的計數(shù)制中,包含 0,1,…,r?1,

共 r 個數(shù)字符號,進(jìn)位規(guī)律是“逢 r 進(jìn)一”,稱為 r 進(jìn)位計數(shù)制,簡稱 r 進(jìn)制。

位權(quán)是指在一種進(jìn)位計數(shù)制表示的數(shù)中,用來表明不同數(shù)位上數(shù)值大小的一個固定常數(shù)。不

同數(shù)位有不同的位權(quán),某一個數(shù)位的數(shù)值等于這一位的數(shù)字符號乘以與該位對應(yīng)的位權(quán)。r 進(jìn)制

的位權(quán)是 r 的整數(shù)次冪。例如,十進(jìn)制數(shù)的位權(quán)是 10 的整數(shù)次冪,其個位的位權(quán)是 100

,十位的

位權(quán)是 101

,……

一般來說,對任意的 r 進(jìn)制而言,數(shù) N 的表示方法有以下兩種:

(1)位置計數(shù)法

() . r nn m ( 1 2 10 1 2 )r N a a aa a a a = ??? ? ? ?? ? " (1-1)

(2)多項式表示法,又稱按權(quán)展開式

1 10 1 2

1 10 1 2

1

( ) n m r n m

n i i

i m

N a r ar ar a r a r a r

a r

? ?? ? ? ?? ?

?

=?

= ? ++?+ ? + ? + ? ++ ?

= ? ∑

" "

(1-2)

式(1-1)、式(1-2)中,n 為整數(shù)部分的位數(shù),m 為小數(shù)部分的位數(shù),ai 為數(shù)字符號(0≤ai≤r?1),

r 為進(jìn)位計數(shù)制基數(shù),r

i

為 ai 位上的權(quán)值。

1-2-1 十進(jìn)制

基數(shù) r =10 的進(jìn)位計數(shù)制稱為十進(jìn)制。十進(jìn)制數(shù)使用的數(shù)字符號有 10 個,即 0,1,2,3,4,

5,6,7,8,9,進(jìn)位規(guī)律是“逢十進(jìn)一”。十進(jìn)制數(shù)的位權(quán)是 10 的整數(shù)次冪。

任意十進(jìn)制數(shù) D 可以表示為

10 1 1 0 1 2 ( )10

1 10 1 2

1 10 1 2

1

() .

10 10 10 10 10 10

10

n m

n m n m

n i

i

i m

D D DD D D D

D DD D D D

D

? ?? ?

? ?? ? ? ?? ?

?

=?

=

= ? ++ ? + ? + ? + ? ++ ?

= ? ∑

" "

" "

(1-3)

第17頁

6 數(shù)字邏輯(第三版)

式(1-3)中,n 為整數(shù)部分的位數(shù),m 為小數(shù)部分的位數(shù),Di 為數(shù)字符號(0≤Di≤9),10 為進(jìn)

位計數(shù)制基數(shù),10i

為 Di 位上的權(quán)值。

【例 1-1】十進(jìn)制數(shù) 2004.98 可以表示為

3210 1 2 (2004.98) 2 10 0 10 0 10 4 10 9 10 8 10 10 ? ? =× +× +× +× +× +×

1-2-2 二進(jìn)制

基數(shù) r =2 的進(jìn)位計數(shù)制稱為二進(jìn)制。二進(jìn)制數(shù)只有 0 和 1 兩個數(shù)字符號,進(jìn)位規(guī)律是“逢二

進(jìn)一”。二進(jìn)制數(shù)的位權(quán)是 2 的整數(shù)次冪。任意二進(jìn)制數(shù) B 可以表示為

2 1 10 1 2 ( )2

1 10 1 2

1 10 1 2

1

() .

2 22 2 2 2

2

n m

n m n m

n i

i

i m

B B BB B B B

B BB B B B

B

? ?? ?

? ?? ? ? ?? ?

?

=?

=

= ? ++?+ ? + ? + ? ++ ?

= ? ∑

" "

" "

(1-4)

式(1-4)中,n 為整數(shù)部分的位數(shù),m 為小數(shù)部分的位數(shù),Bi 為數(shù)字符號(Bi=0,1),2 為進(jìn)位

計數(shù)制基數(shù),2i

為 Bi 位上的權(quán)值。

【例 1-2】二進(jìn)制數(shù) 11010.11 可以表示為

43 21 0 1 2 (11010.11) 1 2 1 2 0 2 1 2 0 2 1 2 1 2 2 ? ? =× +× + × +× + × +× +×

二進(jìn)制數(shù)的運算十分簡單,其運算規(guī)則如下所示。

加法規(guī)則:0+0=0 0+1=1 1+0=1 1+1=0(進(jìn)位為 1)

減法規(guī)則:0?0=0 0?1=1(借位為 1) 1?0=1 1?1=0

乘法規(guī)則:0×0=0 0×1=0 1×0=0 1×1=1

除法規(guī)則:0÷1=0 1÷1=1

1-2-3 八進(jìn)制

基數(shù) r =8 的進(jìn)位計數(shù)制稱為八進(jìn)制。八進(jìn)制數(shù)使用的數(shù)字符號有 8 個,即 0,1,2,3,4,5,

6,7,進(jìn)位規(guī)律是“逢八進(jìn)一”。八進(jìn)制數(shù)的位權(quán)是 8 的整數(shù)次冪。任意八進(jìn)制數(shù) C 可以表示為

8 1 10 1 2 ( )8

1 10 1 2

1 10 1 2

1

() .

8 88 8 8 8

8

n m

n m n m

n i

i

i m

C C CC C C C

C CC C C C

C

? ?? ?

? ?? ? ? ?? ?

?

=?

=

= ? ++ ?+ ?+ ? + ? ++ ?

= ? ∑

" "

" "

(1-5)

式(1-5)中,n 為整數(shù)部分的位數(shù),m 為小數(shù)部分的位數(shù),Ci 為數(shù)字符號(0≤Ci≤7),8 為進(jìn)位

計數(shù)制基數(shù),8i

為 Ci 位上的權(quán)值。

【例 1-3】八進(jìn)制數(shù) 204.53 可以表示為

210 1 2 (204.53) 2 8 0 8 4 8 5 8 3 8 8 ? ? =× +× +× +× +×

1-2-4 十六進(jìn)制

基數(shù) r =16 的進(jìn)位計數(shù)制稱為十六進(jìn)制。十六進(jìn)制數(shù)使用的數(shù)字符號有 16 個,即 0,1,2,3,

4,5,6,7,8,9,A,B,C,D,E,F(xiàn),進(jìn)位規(guī)律是“逢十六進(jìn)一”。十六進(jìn)制數(shù)的位權(quán)是 16

第18頁

第 1 章 數(shù)制與編碼 7

的整數(shù)次冪。任意十六進(jìn)制數(shù) H 可以表示為

16 1 1 0 1 2 ( )16

1 10 1 2

1 10 1 2

1

() .

16 16 16 16 16 16

16

n m

n m n m

n i

i

i m

H H HH H H H

H HH H H H

H

? ?? ?

? ?? ? ? ?? ?

?

=?

=

= ? ++ ? + ? + ? + ? ++ ?

= ? ∑

" "

" "

(1-6)

式(1-6)中,n 為整數(shù)部分的位數(shù),m 為小數(shù)部分的位數(shù),Hi 為數(shù)字符號(Hi=0~9,A~F),16

為進(jìn)位計數(shù)制基數(shù),16i

為 Hi 位上的權(quán)值。

【例 1-4】十六進(jìn)制數(shù) 2EB5.C9 可以表示為

3 2 10 1 2 (2EB5.C9) 2 16 14 16 11 16 5 16 12 16 9 16 16 ? ? =× + × + × +× + × +×

表 1-2 列出了與十進(jìn)制數(shù) 0~15 對應(yīng)的二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)。

表 1-2 十進(jìn)制數(shù)與二、八、十六進(jìn)制數(shù)對照表

十 進(jìn) 制 數(shù) 二 進(jìn) 制 數(shù) 八 進(jìn) 制 數(shù) 十六進(jìn)制數(shù)

0 0000 00 0

1 0001 01 1

2 0010 02 2

3 0011 03 3

4 0100 04 4

5 0101 05 5

6 0110 06 6

7 0111 07 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

1-2-5 數(shù)制轉(zhuǎn)換

1.二、八、十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)

二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)非常簡單,只須采用多項式替

代法,即將 2n

(n =1,3,4)進(jìn)制數(shù)寫成按權(quán)展開式,再按十進(jìn)制運算規(guī)則求和,

即可得到與 2n 進(jìn)制數(shù)等同的十進(jìn)制數(shù)。

【例 1-5】將二進(jìn)制數(shù) 11010.11 轉(zhuǎn)換成十進(jìn)制數(shù)。

解: ( ) 43 21 0 1 2

2 10 (11010.11) 1 2 1 2 0 2 1 2 0 2 1 2 1 2 26.75 ? ? =× +× + × +× + × +× +× =

【例 1-6】將八進(jìn)制數(shù) 204.5 轉(zhuǎn)換成十進(jìn)制數(shù)。

進(jìn)制轉(zhuǎn)換

第19頁

8 數(shù)字邏輯(第三版)

解: ( ) 210 1

8 10 (204.5) 2 8 0 8 4 8 5 8 132.625 ? =× +× +× +× =

【例 1-7】將十六進(jìn)制數(shù) EB5.C 轉(zhuǎn)換成十進(jìn)制數(shù)。

解: ( ) 2 10 1

16 10 (EB5.C) 14 16 11 16 5 16 12 16 3765.75 ? = × + × +× + × =

注意:十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)時,應(yīng)將其字母 A~F 轉(zhuǎn)換成相應(yīng)的十進(jìn)制數(shù)。

2.十進(jìn)制數(shù)轉(zhuǎn)換為二、八、十六進(jìn)制數(shù)

十進(jìn)制數(shù)轉(zhuǎn)換成 2n

(n =1,3,4)進(jìn)制數(shù)時,需將待轉(zhuǎn)換的數(shù)分成整數(shù)部分和小數(shù)部分,分

別按基數(shù)除法和基數(shù)乘法進(jìn)行轉(zhuǎn)換。

(1)整數(shù)轉(zhuǎn)換

十進(jìn)制整數(shù)部分采用基數(shù)除法,即“除 2n 取余”進(jìn)行轉(zhuǎn)換。把十進(jìn)制整數(shù) N 除以 2n

,取余數(shù)

計為 K0,作為相應(yīng) 2n 進(jìn)制數(shù)的最低位,把得到的商再除以 2n

,再取余數(shù)計為 K1,作為 2n 進(jìn)制數(shù)

的次低位,……,依此類推,直至商為 0,取余數(shù)計為 Km-1,作為 2n 進(jìn)制數(shù)的最高位。這樣可得

到與十進(jìn)制整數(shù) N 對應(yīng)的 m 位 2n 進(jìn)制整數(shù) Km-1…K1K0。

【例 1-8】將十進(jìn)制數(shù) 45 轉(zhuǎn)換為二進(jìn)制數(shù)。

余數(shù)

2 45 … 1 (K0) 低位

2 22 … 0 (K1)

2 11 … 1 (K2)

2 5 … 1 (K3)

2 2 … 0 (K4)

2 1 … 1 (K5) 高位

0

即(45)10 = (101101)2

【例 1-9】將十進(jìn)制數(shù) 380 轉(zhuǎn)換成八進(jìn)制數(shù)和十六進(jìn)制數(shù)。

余數(shù)

8 380 … 4 (K0) 低位

8 47 … 7 (K1)

8 5 … 5 (K2) 高位

0

余數(shù)

16 380 … 12(C) (K0) 低位

16 23 … 7 (K1)

16 1 … 1 (K2) 高位

0

解:

解:

即(380)10 = (574)8

第20頁

第 1 章 數(shù)制與編碼 9

即(380)10 = (17C)16

注意:十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)時,應(yīng)將整數(shù)部分 10~15 轉(zhuǎn)換成相應(yīng)的字母 A~F。

(2)小數(shù)轉(zhuǎn)換

十進(jìn)制小數(shù)部分采用基數(shù)乘法,即“乘 2n 取整”進(jìn)行轉(zhuǎn)換。把十進(jìn)制小數(shù)乘 2n

,取其整數(shù)部

分記為 K?1,作為 2n 進(jìn)制小數(shù)的最高位,然后將所得的乘積的小數(shù)部分乘 2n

,并再取整數(shù)部分記

為 K-2,作為 2n 進(jìn)制小數(shù)的次高位,……,依此類推,直至小數(shù)部分為 0 或達(dá)到所要求的精度為

止,取整數(shù)部分記為 K?m。這樣可得到與 N 對應(yīng)的 m 位 2n 進(jìn)制小數(shù) 0.K-1 K-2…K-m。

【例 1-10】將十進(jìn)制數(shù) 0.3125 分別轉(zhuǎn)換成二進(jìn)制、八進(jìn)制和十六進(jìn)制小數(shù)。

整數(shù)部分 ×

0.3125

2

高位 (K-1) 0 …

×

(0).6250

2

(K-2) 1 …

×

(1).2500

2

(K-3) 0 …

×

(0).5000

2

低位 (K-4) 1 … (1).0000

整數(shù)部分 ×

0.3125

8

高位 (K-1) 2 …

×

(2).5000

8

低位 (K-2) 4 … (4).0000

整數(shù)部分 ×

0.3125

16

(K-1) 5 … (5).0000

即(0.3125)10 = (0.5)16

注意:所得乘積中的整數(shù)不再參加連乘。

值得注意的是,不是每個十進(jìn)制小數(shù)都能用有限位 2n 進(jìn)制小數(shù)精確表示。這時,只能根據(jù)

精度要求,求出相應(yīng)的 2n 進(jìn)制位數(shù)近似地表示即可。一般地,當(dāng)要求 2n 進(jìn)制取 m 位小數(shù)時,

可求出 m+1 位,然后對最低位作舍入處理(二進(jìn)制 0 舍 1 入,八進(jìn)制 3 舍 4 入,十六進(jìn)制 7 舍

8 入)。

【例 1-11】將十進(jìn)制數(shù) 0.6 分別轉(zhuǎn)換成二、八、十六進(jìn)制數(shù)(保留 4 位小數(shù))。

解:

即(0.3125)10 = (0.0101)2

即(0.3125)10 = (0.24)8

第21頁

10 數(shù)字邏輯(第三版)

整數(shù)部分 ×

0.6

2

(K-1) 1 …

×

(1).2

2

(K-2) 0 …

×

(0).4

2

(K-3) 0 …

×

(0).8

2

(K-4) 1 …

×

(1).6

2

(K-5) 1 … (1).2

轉(zhuǎn)換成二進(jìn)制數(shù)時,第 5 位為 1 則入,若為 0 則舍,所以精確到小數(shù)點后 4 位的結(jié)果為(0.6)10

= (0.1010)2。

整數(shù)部分 ×

0.6

8

(K-1) 4 …

×

(4).8

8

(K-2) 6 …

×

(6).4

8

(K-3) 3 …

×

(3).2

8

(K-4) 1 …

×

(1).6

8

(K-5) 4 … (4).8

轉(zhuǎn)換成八進(jìn)制數(shù)時,第 5 位大于等于 4 則入,若小于等于 3 則舍,所以精確到小數(shù)點后 4 位

的結(jié)果為(0.6)10 = (0.4632)8。

整數(shù)部分 ×

0.6

16

(K-1) 9 …

×

(9).6

16

(K-2) 9 …

×

(9).6

16

(K-3) 9 …

×

(9).6

16

(K-4) 9 …

×

(9).6

16

(K-5) 9 … (9).6

解:

第22頁

第 1 章 數(shù)制與編碼 11

轉(zhuǎn)換成十六進(jìn)制數(shù)時,第 5 位大于等于 8 則入,若小于等于 7 則舍,所以精確到小數(shù)點后 4

位的結(jié)果為(0.6)10 = (0.999A)16。

此外,當(dāng)一個十進(jìn)制數(shù)既有整數(shù)部分,又有小數(shù)部分時,則轉(zhuǎn)換時分別進(jìn)行轉(zhuǎn)換,再將轉(zhuǎn)換

的結(jié)果合并。

【例 1-12】將十進(jìn)制數(shù) 45.3125 轉(zhuǎn)換成二進(jìn)制數(shù)。

解:(45.3125)10 = (45)10+(0.3125)10

= (101101)2+(0.0101)2

= (101101. 0101)2

3.二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)間的轉(zhuǎn)換

二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)的基數(shù)都是 2n

(n =1,3,4),1 位 2n 進(jìn)制數(shù)所能表示的數(shù)

值恰好等于 n 位二進(jìn)制數(shù)所能表示的數(shù)值,即八(23

)進(jìn)制中的基本數(shù)字符號 0~7 正好和 3 位二進(jìn)

制數(shù)的 8 種取值 000~111 對應(yīng),十六(24

)進(jìn)制中的基本數(shù)字符號 0~9,A~F 正好和 4 位二進(jìn)制

數(shù)的 16 種取值 0000~1111 對應(yīng)。所以二進(jìn)制數(shù)與 2n

(n =3,4)進(jìn)制數(shù)之間的轉(zhuǎn)換可以按位進(jìn)行。

(1)二進(jìn)制數(shù)轉(zhuǎn)換成八、十六進(jìn)制數(shù)

將二進(jìn)制數(shù)轉(zhuǎn)換成 2n

(n =3,4)進(jìn)制數(shù)的具體方法是以小數(shù)點為界,分別向左、右按 n 位進(jìn)

行分組,最后不滿 n 位的則補 0,將每組以對應(yīng)的 2n 進(jìn)制數(shù)代替,即為等值的 2n 進(jìn)制數(shù),這也稱

為 n 分法。

【例 1-13】將二進(jìn)制數(shù) 10110001101011.1111001 分別轉(zhuǎn)換成八進(jìn)制和十六進(jìn)制數(shù)。

解:

二進(jìn)制 (0)10 110 001 101 011 . 111 100 1(00)

八進(jìn)制 2 6 1 5 3 . 7 4 4

即 (10110001101011.1111001)2 = (26153.744)8

二進(jìn)制 (00)10 1100 0110 1011 . 1111 001(0)

十六進(jìn)制 2 C 6 B . F 2

即 (10110001101011.1111001)2 = (2C6B.F2)16

知道上述方法后,將十進(jìn)制數(shù)轉(zhuǎn)換為十六、八進(jìn)制數(shù)時也可分步進(jìn)行。先將十進(jìn)制數(shù)轉(zhuǎn)換成

二進(jìn)制數(shù),再將二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)或十六進(jìn)制數(shù)。

(2)八進(jìn)制、十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)

將八進(jìn)制、十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)為上述方法的逆過程。

【例 1-14】將八進(jìn)制數(shù) 673.124 轉(zhuǎn)換成二進(jìn)制數(shù)。

解:

八進(jìn)制 6 7 3 . 1 2 4

二進(jìn)制 110 111 011 . 001 010 1(00)

即 (673.124)8 = (110111011.0010101)2

【例 1-15】將十六進(jìn)制數(shù) 306.D 轉(zhuǎn)換成二進(jìn)制數(shù)。

第23頁

12 數(shù)字邏輯(第三版)

解:

十六進(jìn)制 3 0 6 . D

二進(jìn)制 (00)11 0000 0110 . 1101

即 (306.D)16 = (1100000110.1101)2

通過以上討論,知道十、二、八、十六進(jìn)制數(shù)任何兩者之間都可進(jìn)行相互轉(zhuǎn)換。而其中涉及

的方法不外 3 種:多項式替代法、基數(shù)乘除法和 n 分法。熟練掌握這 3 種方法即可將任何一種數(shù)

制的數(shù)轉(zhuǎn)化成其他數(shù)制的數(shù)。

1-3 帶符號二進(jìn)制數(shù)的代碼表示

以上討論的數(shù)都未涉及符號,可認(rèn)為都是正數(shù)。在進(jìn)行算術(shù)運算時,必然涉及數(shù)的符號問題。

1-3-1 機器碼與真值

人們通常在數(shù)值的前面加“+”表示正數(shù)(“+”通常也可以省略),加“?”表示負(fù)數(shù),如:

(+5)10 = (+101)2

(?7) 10 = (?111)2

上述這種表示稱為符號數(shù)的真值。

在數(shù)字系統(tǒng)中,符號和數(shù)值一樣是用 0 和 1 來表示的,一般將數(shù)的最高位作為符號位,通常

用 0 表示正,用 1 表示負(fù)。這種將符號和數(shù)值統(tǒng)一編碼表示的二進(jìn)制數(shù)稱為機器數(shù)或機器碼。常

用的機器碼主要有原碼、反碼和補碼 3 種。

1-3-2 原碼

原碼又稱為符號-數(shù)值表示。用原碼表示真值時,第一位為符號位,正負(fù)數(shù)的符號位分別用“0”

“1”表示,其余各位不變。正數(shù)的原碼是其本身,負(fù)數(shù)的原碼與負(fù)數(shù)的區(qū)別是增加一位用 1 表示的符

號位。而 0 在原碼表示中有兩種形式“+0”和“?0”。下面給出原碼的數(shù)學(xué)公式定義。

1.定點小數(shù)原碼的定義

設(shè)二進(jìn)制小數(shù) X = ±0.x-1x-2…x-m,則其原碼定義為

(0 1) [ ] 1 ( 1 0)

X X

X

X X

? = ?

? ? ?原

-

-

<

<

(1-7)

注意:這里 X 在計算機中需要(m +1)位來存儲。

【例 1-16】求 X1 = +0.1011001,X2 = ?0.1011001 的原碼。

解:[X1]原= 0.1011001

[X2]原= 1? (?0.1011001)

= 1+0.1011001

= 1.1011001

一般情況下,對于正小數(shù)有[X]原 = 0.x-1x-2…x-m,對于負(fù)小數(shù)有[X]原 = 1.x-1x-2…x-m,對于小

數(shù) 0 有“+0”和“?0”之分,故小數(shù)“0”的原碼可以表示成 0.0…0 或 1.0…0。

第24頁

第 1 章 數(shù)制與編碼 13

2.整數(shù)原碼的定義

設(shè)二進(jìn)制整數(shù) X = ±xn-1xn-2…x0,則其原碼定義為

(0 2 ) [ ]

2 ( 2 0)

n

n n

X X

X

X X

?? = ?

?? ? ?原

-

-

<

<

(1-8)

注意:這里的 2n 表示二進(jìn)制數(shù),X 在計算機中需要 n +1 位來存儲。

【例 1-17】求 X1 = +1001011,X2 = ?1001011 的原碼。

解:[X1]原 = 01001011

[X2]原 = 27

? (?1001011)

= 10000000 + 1001011

= 11001011

一般情況下,對于正整數(shù)有[X]原 = 0x n?1x n?2…x0,對于負(fù)整數(shù)有[X]原 = 1x n?1x n?2…x0。同樣,

整數(shù)“0”的原碼也有兩種形式,即 0 0…0 或 1 0…0。

由上面可知,真值表示與原碼表示形式很相似,故由真值求原碼簡單易懂。但計算機用原碼

實現(xiàn)加減運算則較為復(fù)雜。假如要建立一個原碼加法的數(shù)字邏輯電路,此電路必須首先判斷加數(shù)

的符號,才能確定進(jìn)行何種操作。如果加數(shù)的符號相同,它就將兩數(shù)的真值相加,然后在結(jié)果前

加上相同的符號;如果加數(shù)的符號不同,它必須先比較兩數(shù)的真值的大小,然后用大數(shù)減去小數(shù),

再把大數(shù)的符號賦給結(jié)果??梢娺@些“加”“減”“比較”會使邏輯電路變得相當(dāng)復(fù)雜。而這些工

作對于反碼和補碼運算的電路來說要簡單很多。

1-3-3 反碼

反碼又稱對 1 的補碼,簡稱“1 補”。用反碼表示時,左邊第一位也是符號位,符號位為 0 表

示正數(shù),符號位為 1 表示負(fù)數(shù)。對于負(fù)數(shù),反碼的數(shù)值是將原碼數(shù)值按位求反,即 1 變 0,0 變 1;

對于正數(shù),反碼的數(shù)值與原碼相同,即與真值也相同。0 的反碼表示也有兩種形式。

1.定點小數(shù)反碼的定義

設(shè)二進(jìn)制小數(shù) X = ±0.x-1x-2…x-m,則其反碼定義為

(0 1) [ ] 2 2 ( 1 0) m

X X

X

X X ?

?? = ?

?? +? ?

-

-

<

<

(1-9)

注意:這里的 2?m 表示二進(jìn)制數(shù),X 在計算機中需要 m +1 位來存儲。

【例 1-18】求 X1 = +0.1011001,X2 = ?0.1011001 的反碼。

解:[X1]反 = 0.1011001

[X2]反 = 2+(?0.1011001)?2?7

= 10?0.1011001?0.0000001

= 1.0100110

一般情況下,對于正小數(shù)有[X]反 = 0.x-1x-2…x-m,對于負(fù)小數(shù)有[ ] 1. X xx x 反 = ?? ? 1 2" m ,對

于 0 也有“+0”和“?0”之分,故小數(shù)“0”的反碼可以表示成 0.0…0 或 1.1…1。

第25頁

14 數(shù)字邏輯(第三版)

2.整數(shù)反碼的定義

設(shè)二進(jìn)制整數(shù) X = ±xn-1xn-2…x0,則其反碼定義為

[X]反 1

(0 2 )

2 1 ( 2 0)

n

n n

X X

X X +

?? = ?

?? +? ?

-

-

<

<

(1-10)

注意:這里的 2n+1 表示二進(jìn)制數(shù),X 在計算機中需要 n +1 位來存儲。

【例 1-19】求 X1 = +1001011,X2 = ?1001011 的反碼。

解:[X1]反 = 01001011

[X2]反 = 28

+(?1001011) ?1

= 100000000?1001011?1

= 10110100

一般情況下,對于正整數(shù)有[X]反 = 0xn?1x n?2…x 0,對于負(fù)整數(shù)有[] 1 X xx x 反 = n n ? ? 12 0 " ,整數(shù)

“0”的反碼也有兩種形式,即 00…0 或 11…1。

1-3-4 補碼

補碼又稱對 2 的補碼或基數(shù)的補碼,簡稱“2 補”。在補碼表示法中,正數(shù)的表示同原碼和反

碼的表示相同,而負(fù)數(shù)的補碼的符號位為 1,數(shù)值部分是將原數(shù)值按位求反,并在最低位加 1。0

的補碼是唯一的。

1.定點小數(shù)補碼的定義

設(shè)二進(jìn)制小數(shù) X = ±0.x-1x-2…x-m,則其補碼定義為

[X]補

(0 1)

2 ( 1 0)

X X

X X

? = ?

? + ?

-

- -

< (1-11)

【例 1-20】求 X1 = +0.1011001,X2 = ?0.1011001 的補碼。

解:[X1]補 = 0.1011001

[X2]補 = 2+(?0.1011001)

= 10?0.1011001

= 1.0100111

一般情況下,對于正小數(shù)有[X]補 = 0.x-1x-2…x-m,對于負(fù)小數(shù)有[X]補 = 10.00…0?0.x-1 x-2…x - m

=1. 2 1 2 m xx x m ? ?? ? " + ,對于小數(shù)“0”而言,其補碼是唯一的,即[+0]補=[?0]補 = 0.0…0。

2.整數(shù)補碼的定義

設(shè)二進(jìn)制整數(shù) X = ±xn-1xn-2…x0,則其補碼定義為

[X]補 1

(0 2 )

2 ( 2 0)

n

n n

X X

X X +

?? = ?

?? + ?

-

- -

< (1-12)

注意:這里的 2n+1 表示二進(jìn)制數(shù),X 在計算機中需要(n +1)位來存儲。

【例 1-21】求 X1 = +1001011,X2 = ?1001011 的補碼。

第26頁

第 1 章 數(shù)制與編碼 15

解:[X1]補 = 01001011

[X2]補 = 28

+(?1001011)

= 100000000?1001011

= 10110101

一般情況下,對于正整數(shù)有[X]補 = 0xn?1x n?2…x0,對于負(fù)整數(shù)有[X]補 =1 1 xx x n n ? ? 12 0 " + ,同樣,

整數(shù)“0”的補碼也是唯一的,即[+0]補=[?0]補 = 0 0…0。

從定義還可看出補碼的數(shù)域比原碼和反碼的數(shù)域大。

1-3-5 數(shù)碼運算

上面介紹了帶符號數(shù)的 3 種表示法,它們的形成規(guī)則不同,算術(shù)運算的方法也不相同。

用原碼來計算時,其加減法有不同的規(guī)則,所以使用起來很不方便,使用補碼和反碼的目的

就是使加減法可以統(tǒng)一起來。

在補碼和反碼運算規(guī)則中,把減去一個數(shù)看成加上一個負(fù)數(shù),并把該負(fù)數(shù)用補碼或反碼表示

出來,然后按照加法規(guī)則進(jìn)行運算,當(dāng)然結(jié)果也為補碼或反碼。在補碼、反碼運算中,符號位也

被看成一位數(shù)碼,并與數(shù)值位一樣參與加法運算,所得結(jié)果的符號位也就是正確結(jié)果的符號位,

但前提是結(jié)果不超出有效的數(shù)值范圍。

補碼和反碼運算的差異在于:在補碼運算時,符號位產(chǎn)生的進(jìn)位要丟掉;而在反碼運算時,

符號位產(chǎn)生的進(jìn)位要加到數(shù)值位的最低位上去。

【例 1-22】求 Z = X?Y。其中,X=+1011010,Y=+0011001。

解:(1)原碼運算

[X]原 = 01011010 [Y]原 = 00011001

因為|X|>|Y|,所以將 X 作被減數(shù),Y 作減數(shù),差值為正(與 X 符號相同)。

?

0

0

1

0

0

0

1

1

1

1

0

0

1

0

0

1

0 1 0 0 0 0 0 1

即[Z]原 = 01000001,其真值為 Z = +1000001。

(2)反碼運算

反碼運算的規(guī)則是兩數(shù)和的反碼等于兩數(shù)的反碼之和,兩數(shù)差的反碼可以用兩數(shù)反碼的加法

來實現(xiàn),即

[X+Y]反 = [X]反 +[Y]反 (1-13)

[X?Y]反 = [X]反 +[?Y]反 (1-14)

[X]反 = 0101 1010 [?Y]反 = 1110 0110

+

0

1

1

1

0

1

1

0

1

0

0

1

1

1

0

0

+

(1) 0 1 000000

1

0 1 0 0 0 0 0 1

即[Z]反 = 0100 0001,其真值為 Z = +100 0001。

第27頁

16 數(shù)字邏輯(第三版)

運算時,符號位和數(shù)值一起參加運算,若符號位產(chǎn)生了進(jìn)位,則此進(jìn)位應(yīng)加至和的最低位,

稱為循環(huán)進(jìn)位。

反碼比原碼運算更方便,因為它可用加法代替減法,而且符號位不用單獨處理,但它有兩個

缺點:一是數(shù) 0 在反碼系統(tǒng)中有+0 和?0 之分,給運算器設(shè)計帶來麻煩;二是反碼加法運算后,

需判斷是否需要循環(huán)進(jìn)位,而完成循環(huán)進(jìn)位又相當(dāng)于再進(jìn)行一次加法操作,影響運算速度。

(3)補碼運算

補碼的運算規(guī)則為

[X+Y]補 = [X]補 +[Y]補 (1-15)

[X?Y]補 = [X]補+[?Y]補 (1-16)

[X]補= 01011010 [?Y]補= 11100111

+

0

1

1

1

0

1

1

0

1

0

0

1

1

1

0

1

舍棄

(1) 0 1000001

即[Z] 補 = 01000001,其真值為 Z = +1000001。

補碼和反碼一樣符號位也參加運算,不用單獨處理;補碼運算完全克服了反碼運算的缺點:

一是運算時若符號位產(chǎn)生進(jìn)位,要將進(jìn)位丟掉,不用循環(huán)進(jìn)位;二是 0 的補碼有唯一性,不會給

運算器的識別和運算帶來不便,從而簡化了電路的設(shè)計與實現(xiàn)。

【例 1-23】求 Z = X?Y。其中,X=+0010110,Y=+1011001。

解:(1)原碼運算

[X]原 = 00010110 [Y]原 = 01011001

因為|X|<|Y|,所以將 Y 作被減數(shù),X 作減數(shù),差值為負(fù)(與 Y 符號相同)。

?

0

0

1

0

0

0

1

1

1

0

0

1

0

1

1

0

0 1 0 0 0 0 1 1

即[Z]原 = 11000011,其真值為 Z = ?1000011。

(2)反碼運算

[X]反 = 00010110 [?Y]反 = 10100110

+

0

1

0

0

0

1

1

0

0

0

1

1

1

1

0

0

1 0 1 1 1 1 0 0

即[Z]反 = 10111100,其真值為 Z = ?1000011。

(3)補碼運算

[X]補= 00010110 [?Y]補= 10100111

+

0

1

0

0

0

1

1

0

0

0

1

1

1

1

0

1

1 0 1 1 1 1 0 1

即[Z]補 = 10111101,其真值為 Z = ?1000011。

第28頁

第 1 章 數(shù)制與編碼 17

1-4 編 碼

所謂編碼是指用一組二進(jìn)制數(shù)去表示某一指定的信息。人們?nèi)粘I钪惺褂酶鞣N各樣的信息,

如數(shù)值、文字、字母、視頻、音頻、圖形、圖像等,這些信息要在計算機中進(jìn)行處理,就必須進(jìn)

行編碼。本節(jié)主要介紹二-十進(jìn)制編碼、可靠性編碼和字符編碼。

1-4-1 BCD 碼

在計算機中,為了既滿足系統(tǒng)中使用二進(jìn)制數(shù)的要求,又適應(yīng)人們使用十進(jìn)制數(shù)的習(xí)慣,所

以在數(shù)字系統(tǒng)的輸入/輸出中仍采用十進(jìn)制數(shù),這樣就產(chǎn)生了用 4 位二進(jìn)制代碼對 1 位十進(jìn)制數(shù)字

進(jìn)行編碼的方法,這種編碼稱為十進(jìn)制數(shù)的二進(jìn)制編碼,簡稱二-十進(jìn)制編碼,又稱 BCD 碼(Binary

Coded Decimal)。

二-十進(jìn)制編碼有多種不同的編碼方法,不同的方法形成不同的 BCD 碼,如 8421BCD 碼、

2421BCD 碼、余 3 碼等,其中 8421BCD 碼是最常見的一種,簡稱 8421 碼。通常情況下,若不加

以特別說明,BCD 碼就是指 8421 碼。

1.8421 碼

8421BCD 碼的編碼方法是:將每個十進(jìn)制數(shù)用 4 位二進(jìn)制數(shù)表示,且指定按序排列的二進(jìn)制

數(shù)的前 10 種代碼依次表示十進(jìn)制數(shù)的 0~9。8421BCD 碼具有 3 個特點:

① 有權(quán)性。每位都有固定權(quán)值,從左到右各位的權(quán)分別為 8(23

)、4(22

)、2(21

)、1(20

),

這也是其名稱的來由。設(shè) 1 位十進(jìn)制數(shù) N 的 8421 碼為 x3x2x1x0,將其按權(quán)展開,則

N = 8x3+4x2+2x1+x0 (1-17)

【例 1-24】求 8421BCD 碼 0101 對應(yīng)的十進(jìn)制數(shù)。

解:8421BCD 碼 0101 的按權(quán)展開式為

N = 8×0+4×1+2×0+1×1 = 4+1 = 5

即 8421BCD 碼 0101 表示十進(jìn)制數(shù) 5。

② 奇偶性。當(dāng)十進(jìn)制數(shù)為奇數(shù)時,對應(yīng)的 8421BCD 碼的最低位為 1;反之為 0。故采用 8421BCD

碼容易判別奇偶。

③ 非一一對應(yīng)性。因為十進(jìn)制數(shù)有 0~9 共 10 個數(shù)碼,所以表示 1 位十進(jìn)制數(shù),至少需要 4

位二進(jìn)制數(shù)(23

<10<24

)。但這樣就有 6 種組合多余,因為 4 位二進(jìn)制數(shù)可產(chǎn)生 24

=16 種組合。故

在 8421 BCD 碼中的 1010~1111 這 6 個代碼沒有相應(yīng)的十進(jìn)制數(shù)碼與之對應(yīng),也就是說不允許出

現(xiàn)這 6 個代碼。

8421 碼和十進(jìn)制數(shù)之間的轉(zhuǎn)換是一種直接按位(按組)轉(zhuǎn)換,例如:

(13)10 = (00010011)BCD

(0001011101010000)BCD = (1750)10

2.余 3 碼

余 3 碼是另一種 BCD 碼,它是由 8421 碼加 3 后形成的。因為 8421 碼中無 1010~1111 這 6

個代碼,所以余 3 碼中無 0000~0010、1101~1111 這 6 個代碼。余 3 碼不具有有權(quán)性,但具有自

補性,是一種“對 9 的自補碼”。

【例 1-25】用余 3 碼對(28)10 進(jìn)行編碼,并求(28)10 對 9 的補數(shù)。

第29頁

18 數(shù)字邏輯(第三版)

解:2、8 對應(yīng)的余 3 碼分別是 0010+0011=0101,1000+0011=1011。

即(28)10 = (0101 1011)余 3。

因為余 3 碼具有自補性,故對其按位求反即可得對 9 的補數(shù)。

(0101 1011)9 補 = (1010 0100) 余3 = (71) 10

即(28)9 補 = (71)10。

為方便查找,在表 1-3 中給出 3 種常用的二-十進(jìn)制編碼(BCD 碼)。

表 1-3 常用的二-十進(jìn)制編碼(BCD 碼)

十 進(jìn) 制 數(shù) 8421 碼 余 3 碼 2421 碼

0 0000 0011 0000

1 0001 0100 0001

2 0010 0101 0010

3 0011 0110 0011

4 0100 0111 0100

5 0101 1000 1011

6 0110 1001 1100

7 0111 1010 1101

8 1000 1011 1110

9 1001 1100 1111

1-4-2 格雷碼

由于人為或非人為的原因,代碼在計算機或其他數(shù)字系統(tǒng)中形成、傳送和運算過程中都有可

能出現(xiàn)錯誤。于是人們在提高計算機本身的可靠性的同時,也創(chuàng)造了一些可靠性編碼。它們令代

碼本身具有一種特征或能力,使得代碼在形成中不容易出錯,或代碼在出錯時容易被發(fā)現(xiàn),甚至

能查出出錯的位置并予以糾正。格雷碼就是一種可靠性編碼。

在一組數(shù)的編碼中,若任意兩個相鄰的代碼只有 1 位二進(jìn)制數(shù)不同,則稱這種編碼為格雷碼

(Gray Code),另外由于最大數(shù)與最小數(shù)之間也僅 1 位數(shù)不同,即“首尾相連”,因此又稱循環(huán)碼。

在數(shù)字系統(tǒng)中,常要求代碼按一定順序變化。例如,按自然數(shù)遞增計數(shù),若采用 8421 碼,則數(shù)

0111 變到 1000 時 4 位均要變化,而在實際電路中,4 位的變化不可能絕對同時發(fā)生,則計數(shù)中可

能出現(xiàn)短暫的其他代碼(1100、1111 等)。在特定情況下可能導(dǎo)致電路狀態(tài)錯誤或輸入錯誤,使

用格雷碼可以避免這種錯誤。格雷碼也有多種編碼形式,如表 1-4 所示。

表 1-4 幾種格雷碼與二進(jìn)制碼對照表

十進(jìn)制數(shù) 二進(jìn)制碼 典型格雷碼 十進(jìn)制格雷碼(1) 十進(jìn)制格雷碼(2) 步進(jìn)碼

0 0000 0000 0000 0000 00000

1 0001 0001 0001 0001 00001

2 0010 0011 0011 0011 00011

3 0011 0010 0010 0010 00111

4 0100 0110 0110 0110 01111

第30頁

第 1 章 數(shù)制與編碼 19

續(xù)表

十進(jìn)制數(shù) 二進(jìn)制碼 典型格雷碼 十進(jìn)制格雷碼(1) 十進(jìn)制格雷碼(2) 步進(jìn)碼

5 0101 0111 1110 0111 11111

6 0110 0101 1010 0101 11110

7 0111 0100 1011 0100 11100

8 1000 1100 1001 1100 11000

9 1001 1101 1000 1000 10000

10 1010 1111 — — —

11 1011 1110 — — —

12 1100 1010 — — —

13 1101 1011 — — —

14 1110 1001 — — —

15 1111 1000 — — —

表 1-4 中典型格雷碼具有代表性。若不作特別說明,格雷碼就是指典型格雷碼,它可從二進(jìn)

制碼轉(zhuǎn)換而來。

在說明這種轉(zhuǎn)換之前,先介紹一種邏輯運算“模 2 加”,又稱“異或運算”或“半加”,即不

考慮進(jìn)位的加法,運算符號是“⊕”。其運算規(guī)則如下:

0⊕0=0 1⊕1=0 0⊕1=1 1⊕0=1

從二進(jìn)制碼轉(zhuǎn)換成格雷碼的規(guī)則如下:設(shè)二進(jìn)制碼為 B=Bn?1…Bi+1Bi…B0,對應(yīng)的格雷碼為

G=Gn?1…Gi+1Gi…G0,則

Gn?1=Bn?1,Gi=Bi+1⊕Bi (1-18)

【例 1-26】已知二進(jìn)制碼為 1110,求其對應(yīng)的格雷碼。

1 1 1 0 二進(jìn)制碼 B

↓ ì ↓ ì ↓ ì ↓

↓ ⊕ ⊕ ⊕

↓ ↓ ↓ ↓

1 0 0 1 格雷碼 G

即二進(jìn)制碼 1110 對應(yīng)的格雷碼為 1001。

反之,若已知一組格雷碼,也可以方便地求出對應(yīng)的二進(jìn)制碼,方法如下:

Bn?1=Gn?1,Bi=Bi+1⊕Gi (1-19)

【例 1-27】已知格雷碼為 1110101,求其對應(yīng)的二進(jìn)制碼。

1 1 1 0 1 0 1 格雷碼 G

↓ ↓ ↓ ↓ ↓ ↓ ↓

↓ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕

↓ ê ↓ ê ↓ ê ↓ ê ↓ ê ↓ ê ↓

1 0 1 1 0 0 1 二進(jìn)制碼 B

即格雷碼 1110101 對應(yīng)的二進(jìn)制碼為 1011001。

解:

解:

第31頁

20 數(shù)字邏輯(第三版)

1-4-3 奇偶檢驗碼

奇偶檢驗碼是在計算機存儲器和其他通信設(shè)備中廣泛采用的可靠性編碼,它由若干個信息位

加一個檢驗位構(gòu)成,其中檢驗位的取值(0 或 1)將使整個代碼中的“1”的個數(shù)為奇數(shù)或為偶數(shù)。

若“1”的個數(shù)為奇數(shù)則稱為奇檢驗;若“1”的個數(shù)為偶數(shù)則稱為偶檢驗。表 1-5 給出帶奇偶檢

驗的 8421 碼。

表 1-5 奇偶檢驗的 8421 碼

8421 奇檢驗碼 8421 偶檢驗碼 十 進(jìn) 制 數(shù)

信 息 位 檢 驗 位 信 息 位 檢 驗 位

0 0000 1 0000 0

1 0001 0 0001 1

2 0010 0 0010 1

3 0011 1 0011 0

4 0100 0 0100 1

5 0101 1 0101 0

6 0110 1 0110 0

7 0111 0 0111 1

8 1000 0 1000 1

9 1001 1 1001 0

奇偶檢驗碼的一個主要特點是具有發(fā)現(xiàn)一位出錯的能力。但是奇偶檢驗碼不能確定哪一位出

錯,因而不具有自動糾正能力。由于兩位出錯的概率遠(yuǎn)小于一位出錯的概率,因而奇偶檢驗碼仍

不失為一種增加設(shè)備不多而收益不少的實用可靠性編碼。

1-4-4 CRC 碼

循環(huán)冗余檢驗碼(Cyclic Redundancy Check,CRC)。它不僅具有檢錯能力,還具有糾錯能力,

被廣泛地應(yīng)用于磁盤驅(qū)動器和數(shù)據(jù)網(wǎng)絡(luò)。

CRC 碼中采用“模 2 運算”,即加減無進(jìn)位或借位。CRC 碼中引入了代碼多項式的概念,即

將一個二進(jìn)制序列與代碼多項式一一對應(yīng)。如二進(jìn)制序列 101100111 對應(yīng)代碼多項式為

86521 Mx x x x x x () 1 =+++ ++

CRC 碼是由 k 位信息位與 r 位檢驗位組成。k 位信息位對應(yīng) k?1 階代碼多項式 M(x),給定 r

階的檢驗多項式 G(x),則發(fā)送方編碼方法是將 M(x)乘 xr

(即將對應(yīng)的二進(jìn)制碼序列左移 r 位),再

除以 G(x),所得商式為 q(x),余式為 R(x),即

() () ( ) () ()

r M x x Rx

q x Gx Gx

? = + (1-20)

最后發(fā)送的碼為 n+r 階代碼多項式 T(x),即

() () () () () r Tx M x x Rx qx Gx = ?± = ? (1-21)

接收方解碼方法是將接收到的多項式 T(x)除以 G(x),如果余數(shù)為 0,則說明傳輸中無錯誤發(fā)

生,否則說明傳輸有誤。

第32頁

第 1 章 數(shù)制與編碼 21

【例 1-28】已知生成多項式為 1011,設(shè)信息碼為 1100,求其 CRC 碼。

解:根據(jù)題意可知

G(x) = x

3

+x+1 r=3

M(x) = x

3

+x

2

根據(jù)式(1-20)有

( ) ( )

3 23 6 5

3 2

33 3

( )

( ) 11 1

Mx x x x x r x xx

xxx

G x x x xx xx

+ ? +

= = = + ++

++ ++ ++

所以 R(x) = x,即 10,則:CRC 碼為T(x) = M (x)? x ± R(x) = 1100010 r 。

1-4-5 ASCII 碼

前面涉及的編碼都僅局限于數(shù)碼,沒涉及字符,但在計算機中字符、文字以及特殊符號都必

須用二進(jìn)制代碼來表示。用于各種字符(包括字母、數(shù)字、標(biāo)點符號、運算符號及其他特殊符號)

的二進(jìn)制代碼稱為字符編碼。

美國信息交換標(biāo)準(zhǔn)代碼(American Standard Code for Information Interchange,ASCII)是國際上

通用的字符代碼。它采用 7 位二進(jìn)制編碼,使用時加第 8 位作為奇偶檢驗位,共表示 128 種字符,

其中包括 10 個十進(jìn)制數(shù)碼,26 個英文字母和一定數(shù)量的專用符號以及 33 個控制字符。ASCII 碼

的編碼規(guī)則如表 1-6 所示。

表 1-6 ASCII 碼表

低 4 位 高3位 b6b5b4

b3b2b1b0 000 001 010 011 100 101 110 111

0 0 0 0 NUL DLE SP 0 @ P ` p

0 0 0 1 SOH DC1 ! 1 A Q a q

0 0 1 0 STX DC2 " 2 B R b r

0 0 1 1 ETX DC3 # 3 C S c s

0 1 0 0 EOT DC4 $ 4 D T d t

0 1 0 1 ENQ NAK % 5 E U e u

0 1 1 0 ACK SYN & 6 F V f v

0 1 1 1 BEL ETB ' 7 G W g w

1 0 0 0 BS CAN ( 8 H X h x

1 0 0 1 HT EM ) 9 I Y i y

1 0 1 0 LF SUB * : J Z j z

1 0 1 1 VT ESC + ; K [ k {

1 1 0 0 FF FS , < L \\ l |

1 1 0 1 CR GS - = M ] m }

1 1 1 0 SO RS . > N ^ n ~

1 1 1 1 SI US / ? O _ o DEL

第33頁

22 數(shù)字邏輯(第三版)

小 結(jié)

本章主要介紹了數(shù)制及其轉(zhuǎn)換、帶符號的二進(jìn)制數(shù)的代碼表示及編碼。

進(jìn)位計數(shù)制是用一組統(tǒng)一的符號和規(guī)則來表示數(shù)的方法。一種進(jìn)位計數(shù)制包含兩個基本因素:

基數(shù)和位權(quán)。對于任意進(jìn)制數(shù)都有兩種表示方法,即位置計數(shù)表示法和多項式表示法。二進(jìn)制數(shù)、

八進(jìn)制數(shù)、十六進(jìn)制數(shù)與十進(jìn)制數(shù)可兩兩進(jìn)行轉(zhuǎn)換。

其次介紹了機器數(shù)的 3 種形式:原碼、補碼、反碼。原碼表示法簡單直觀,易變換,但進(jìn)行

加、減運算較復(fù)雜,其減法不能用加法替代,故實現(xiàn)原碼所需邏輯電路較復(fù)雜、效率較低。反碼

和補碼表示法可將減法變成加法,且不用單獨考慮符號位,實現(xiàn)方便。但反碼采用“循環(huán)進(jìn)位”

比補碼復(fù)雜。

最后介紹了數(shù)碼和字符的代碼表示即編碼。給出了二-十進(jìn)制編碼、可靠性編碼以及字符編碼。

習(xí) 題

1. 什么是數(shù)字信號?什么是模擬信號?試各舉一例。

2. 把下列數(shù)寫成按權(quán)展開式形式。

(1)(541.72)10 (2)(11011.101)2 (3)(52.36)8 (4)(D89.A3)16

3. 將下列二進(jìn)制數(shù)分別轉(zhuǎn)換成十進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)。

(1)1010101 (2)0.1101 (3)1010.01

4. 將下列數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)。

(1)(10110.0101)2 (2)(16.5)16 (3)(26.24)8

5. 將下列十進(jìn)制數(shù)轉(zhuǎn)換成二、八、十六進(jìn)制數(shù)(精確到小數(shù)點后 4 位)。

(1)84.75 (2)43 (3)0.6

6. 如何判斷一個二進(jìn)制正整數(shù) B = b7b6b5b4b3b2b1b0 能否被(4)10 整除?

7. 試比較原碼、反碼和補碼各自的優(yōu)缺點。

8. 寫出下列各數(shù)的原碼、反碼和補碼(用 8 位表示)。

(1)+0.110 1000 (2)?000 1011

9. 已知[N]補=1.011 0100,求[N]原、[N]反和 N。

10. 分別用原碼、反碼和補碼完成如下運算(用 8 位表示)。

(1)0000 1011?0001 0110

(2)0.101 1000?0.010 1100

(3)0.101 0000 + 0.101 1000

11. 求下列十進(jìn)制數(shù)的 8421BCD 碼和余 3 碼。

(1)875 (2)7025

12. 試用余 3 碼和格雷碼分別表示下列各數(shù)。

(1)(247)10 (2)(110110)2

第34頁

英國數(shù)學(xué)家 George Boole 于 1854 年提出了將人的邏輯思維規(guī)律和推理過程歸結(jié)為一種

數(shù)學(xué)運算的代數(shù)系統(tǒng),即布爾代數(shù)(Boolean Algebra)。1938 年,貝爾實驗室研究員 Claude E.

Shannon 將布爾代數(shù)的一些基本前提和定理應(yīng)用于繼電器電路的分析與描述上,稱為二值布

爾代數(shù),即開關(guān)代數(shù),又稱邏輯代數(shù)。

邏輯代數(shù)是研究二值邏輯運算的基本數(shù)學(xué)工具,它廣泛地應(yīng)用于數(shù)字系統(tǒng)的分析和設(shè)計

中。本章著重介紹邏輯代數(shù)的基本概念、基本定律和規(guī)則,邏輯函數(shù)的表示及邏輯函數(shù)的化簡。

2-1 邏輯代數(shù)的基本定理和規(guī)則

邏輯代數(shù)中通常用拉丁字母 A,B,C,…表示變量,取值只能是 0 和 1,且 0 和 1 不表示具

體數(shù)量的大小,只表示兩種不同的邏輯狀態(tài),因而這種變量叫邏輯變量。邏輯代數(shù)中基本運算只

有“與”“或”“非”3 種。

邏輯代數(shù) L 是一個封閉的代數(shù)系統(tǒng),它由一個變量集 K,常量 0 和 1,以及“與”“或”“非”

3 種基本運算構(gòu)成,記為

L K{ , 0, 1, , , }? = + i

2-1-1 邏輯代數(shù)公理

公理是基本的假定,它是客觀存在的抽象,無須證明。但是邏輯代數(shù)的公理可以用真值表進(jìn)

行檢驗。下面給出的是一組比較簡單的公理:

公理 1 交換律: A + B B A AB BA =+ =

公理 2 結(jié)合律: ( ) ( ) ( ) ( ) A + B C A B C AB C A BC +=+ + =

公理 3 分配律: A + ( ) ( )( ) ( ) BC A B A C A B C AB AC =+ + += +

公理 4 0-1 律: 0 1

1 1 0 0

A AA A

A A

+ = ?=

+ = ?=

公理 5 互補律: A A AA + = ?= 1 0

2-1-2 邏輯代數(shù)定理

根據(jù)上述的公理,可以推導(dǎo)出下列常用的定理:

定理 1 重疊定理: A + A A AA A = =

證明: A + = ?+ ? AA A 1 1 (0?1 律)

=?+ A (1 1) (分配律)

= ? A 1 (“或”運算法則)

= A (0?1 律)

該定律說明一個變量多次自加或自乘的結(jié)果仍為自身,即邏輯代數(shù)中不存在倍乘和方冪

運算。

第 章 2 邏輯代數(shù)基礎(chǔ)

第35頁

24 數(shù)字邏輯(第三版)

定理 2 吸收定理 I: A AB A A A B A + = += ( )

證明: A + = ?+ ? AB A A B 1 (分配律)

=?+ A (1 ) B (分配律)

= ? A 1 (0?1 律)

= A (0?1 律)

該定理說明如果邏輯表達(dá)式中的某一項包含了式中另一項,則該項多余。

定理 3 吸收定理 II: A + =+ + = AB A B A A B AB ( )

證明: A + =+ + AB A A A B ( )( ) (分配律)

=1( ) ? + A B (互補律)

= A + B (0?1 律)

定理 4 吸收定理 III: AB AB A A B A B A + = + += ( )( )

證明: AB AB A B B += + ( ) (分配律)

= ? A 1 (互補律)

= A (0?1 律)

定理 5 復(fù)原定理(非非律): A = A

證明:令 A = X ,因而存在唯一的 X ,使得

XA X A = += 0, 1 (互補律)

但 AA A A = += 0, 1 (互補律)

由互補律可知 X = A

即 A = A

該定理表征了“否定之否定等于肯定”這一規(guī)律。

定理 6 多余項定理:

( )( )( ) ( )( )

AB AC BC AB AC

A BACB C A BA C

++=+

+ + +=+ +

證明:

( )

CB

(1 ) (1 )

AB AC BC AB AC BC A A

AB AC BCA BC A

AB AC ABC A

AB C AC B

AB AC

++=++ +

=++ +

=++ +

= ++ +

= +

該定理說明當(dāng)邏輯表達(dá)式中的某變量(如 A)分別以原變量和反變量的形式出現(xiàn)在兩項中時,

該兩項的其余部分組成的第三項(如 BC)必定為多余項,可從式中去掉。

推論: 1 2

( )( )( ) ( )( ) 1 2

n

n

AB AC BCX X X AB AC

A BACB C X X X A BAC

++ =+

+ + ++ + + + = + +

"

"

推論說明若第三項中除了前兩項的剩余部分外,還含有其他部分,它仍是多余項。

定理 7 反演定律(摩根定律): A+= =+ B AB AB A B

(0?1 律)

(分配律)

(交換律)

(分配律)

(互補律)

第36頁

第 2 章 邏輯代數(shù)基礎(chǔ) 25

證明:令 X AB = + , Y AB = ,則

X Y A B AB +=++

= ++ ++ [( ) ][( ) ] A B AAB B (分配律)

= ++ ++ [( ) ][( ) ] A A BBB A (交換律、結(jié)合律)

=+ + (1 )(1 ) B A (互補律)

=1 (0?1 律)

XY A B AB = + ( )

= AAB BAB + (分配律)

= 0 0 ? +? B A (互補律)

= 0 (0?1 律)

因為 X Y + =1,且 XY = 0 ,則 X Y = (互補律)

即 A + B AB =

摩根定理是一個十分重要的定理,它證明了變量進(jìn)行“與”和“或”運算時的互補效應(yīng),在

進(jìn)行邏輯函數(shù)化簡以及邏輯變換時非常有用。

推論(n 變量摩根定理):

X X X X X X XX X X X X 0 1 1 0 1 1 01 1 0 1 1 + ++ = = + ++ " "" " nn n n ?? ? ?

以上定理的證明還可以通過真值表進(jìn)行,讀者可自行嘗試。

2-1-3 邏輯代數(shù)規(guī)則

邏輯代數(shù)還有 3 條重要規(guī)則:代入規(guī)則、反演規(guī)則和對偶規(guī)則。它們與基本公理、基本定理

構(gòu)成完整的邏輯代數(shù)系統(tǒng)。下面分別予以介紹。

1.代入規(guī)則

任何一個含有變量 Xi 的等式,若將所有出現(xiàn) Xi 的位置都代之以統(tǒng)一邏輯函數(shù) h,等式仍然成

立。已知

f X X X X gX X X X ( , ,, ,, ) ( , ,, ,, ) 01 1 01 1 "" "" in in ? = ?

函數(shù) h 是一任意邏輯函數(shù),如果用 h 替換等式兩邊的 Xi,則等式仍然成立,即

f X X h X gX X h X ( , , ,, , ) ( , , ,, , ) 01 1 01 1 "" "" n n ? = ?

證明:由于函數(shù) h 與邏輯變量一樣只有 0 或 1 兩種取值,而且當(dāng) h 取 0 或 1 時等式成立,所

以,代入規(guī)則必然成立。

代入規(guī)則在推導(dǎo)公式中有重要意義。利用這條規(guī)則可以將邏輯代數(shù)基本定律中的變量用任意

邏輯函數(shù)代替,從而推導(dǎo)出更多公式。

利用代入規(guī)則可以證明 n 變量的摩根定理,即

X X X X X X XX X X X X 0 1 1 0 1 1 01 1 0 1 1 + ++ = = + ++ """ " nn n n ? ?? ?

證明:由于 X0 0 + = A XA

將 A=X1+B 代入,則可得

X X B X XB 0 1 01 + +=

第37頁

26 數(shù)字邏輯(第三版)

將 B=X2+C 代入,則可得

X X X C XXXC 0 1 2 012 + + +=

依此類推,則得

X X X XX X 0 1 1 01 1 + ++ = " " n n ? ?

2.反演規(guī)則

原函數(shù)求反函數(shù)的過程稱為反演。求任何函數(shù)的反函數(shù)時,可將該函數(shù)的所有變量和常量(0

和 1)取反,并將運算符“+”變?yōu)椤啊?”、“· ”變?yōu)椤?”,即可得反函數(shù),即若

f fX X X = + ( , , , , 0, 1, , ) 01 1 " n? ?

則 fX X X fX X X ( , , , , 0, 1, , ) ( , , , , 1, 0, , ) 01 1 01 1 " " n n ? ? + ? ? = +

反演規(guī)則又稱香農(nóng)定理(Shannon Theorem)。這一規(guī)則實際上是反演律以及代入規(guī)則的推廣

結(jié)果。

【例 2-1】已知函數(shù) Y A BC D =+ + ( )( ) ,求其反函數(shù)。

解:根據(jù)反演規(guī)則可求得其反函數(shù)為

Y AB CD = +

【例 2-2】已知函數(shù) Y A B CD E G =+ + [ ( )],求其反函數(shù)。

解一:根據(jù)反演規(guī)則可求得其反函數(shù)為

Y A B C DE G =+ + + [( ) ]

解二:如果應(yīng)用反演定理和代入規(guī)則求解該題,可得

[ ( )]

( )

( )

Y A B CD E G

A B CD E G

A B CD E G

=+ +

=++ +

=+ +

[( ) ]

[ ]

[( ) ]

A B CD E G

A B CDE G

A B C DE G

=+ + +

=+ +

=+ + +

可見,兩種方法求解的結(jié)果相同,但反演規(guī)則求解要簡單得多。在使用反演規(guī)則時,要特別

注意必須保持原有的運算次序,必要時加上各種括號。

3.對偶規(guī)則

對偶函數(shù)的定義是:將邏輯函數(shù)表達(dá)式 f 中所有的“+”變?yōu)椤啊?”、“· ”變?yōu)椤?”,“0”

變?yōu)椤?”、“1”變?yōu)椤?”,而邏輯變量保持不變,則所得的新函數(shù)稱為原函數(shù)的對偶函數(shù),記為

f '。即若

f fX X X = + ( , , , , 0, 1, , ) 01 1 " n? ?

則 f' X X X f X X X ( , , , , 0, 1, , ) ( , , , , 1, 0, , ) 01 1 01 1 " " n n ? ? + ? ? = +

【例 2-3】已知函數(shù) Y A BC D =+ + ( )( ) ,求其對偶函數(shù)。

第38頁

第 2 章 邏輯代數(shù)基礎(chǔ) 27

解:根據(jù)對偶規(guī)則,其對偶數(shù)為

Y' AB CD = +

【例 2-4】已知函數(shù) Y=A[ ( )] B CD E G + + ,求其對偶函數(shù)。

解:根據(jù)對偶規(guī)則,其對偶數(shù)為

Y' A B C D E G =+ + + [( ) ]

求一個函數(shù)的對偶函數(shù) Y' 和求其反函數(shù) Y 的區(qū)別在于:求 Y' 時邏輯變量不變,所以一般

Y' Y ≠ 。

在特殊情況下, Y ' 和 Y 也可能相等。例如 Y AB AB = + , Y Y A BA B ' ( )( ) = =+ + 。此時,

稱函數(shù) Y 為自對偶函數(shù)。

對偶規(guī)則是指如果兩個邏輯函數(shù)表達(dá)式相等時,那么它們的對偶式也相等。若

f X X X gX X X ( , ,, ) ( , ,, ) 01 1 01 1 " " n n ? = ?

則 f X X X gX X X '( , , , ) '( , , , ) 01 1 01 1 " " n n ? = ?

讀者已經(jīng)注意到,在前面的公理和定理中公式是成對出現(xiàn)的,它們互為對偶式。在證明定理

時,只需證明其中一個公式,另一個公式可根據(jù)對偶規(guī)則自行得到。

例如摩根定理,已經(jīng)證明了 A + B AB = ,則根據(jù)對偶規(guī)則,就可得

AB AB = +

2-2 邏輯函數(shù)的表示方法

邏輯函數(shù)的常見表示方法有邏輯表達(dá)式、真值表、卡諾圖和邏輯圖 4 種,各種表示方法之間

可以相互轉(zhuǎn)換。其中真值表是邏輯函數(shù)的最基本形式,從真值表可以導(dǎo)出邏輯表達(dá)式及卡諾圖。

本節(jié)重點介紹邏輯表達(dá)式和真值表,而卡諾圖將在 2-5 節(jié)詳細(xì)介紹。

2-2-1 邏輯表達(dá)式

邏輯表達(dá)式是由邏輯變量及“與”“或”“非”3 種運算符構(gòu)成的式子。例如:

( )( )

Y AB

Y AB AC

Y A BC D

= +

= +

=+ +

2-2-2 真值表

真值表是一種表格表示法。真值表實際上是利用窮舉法描述邏輯函數(shù)。由于任意邏輯變量只

有兩種取值可能,故 n 個邏輯變量共有 2n 種有限的可能取值組合,因而可對一個函數(shù)求出所有輸

入變量取值下的函數(shù)值,并用表格記錄,這樣的表格即為真值表。

簡言之,真值表的結(jié)果由邏輯變量的所有可能的取值組合按二進(jìn)制數(shù)碼順序給出。

【例 2-5】求兩變量函數(shù) Y AB = + 的真值表。

解:函數(shù) Y AB = + 的真值表如表 2-1 所示。

第39頁

28 數(shù)字邏輯(第三版)

【例 2-6】求三變量函數(shù)Y = AB + AC 的真值表。

解:函數(shù) Y AB AC = + 的真值表如表 2-2 所示。

表 2-1 函數(shù)Y AB = + 的真值表 表 2-2 函數(shù)Y AB AC = + 的真值表

A B Y A B C Y

0 0 1 0 0 0 0

0 1 0 0 0 1 1

1 0 1 0 1 0 0

1 1 1 0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

【例 2-7】求四變量函數(shù) Y A BC D =+ + ( )( ) 的真值表。

解:函數(shù) Y A BC D =+ + ( )( ) 的真值表如表 2-3 所示。

表 2-3 函數(shù)Y A BC D =+ + ( )( ) 的真值表

A B C D Y A B C D Y

0 0 0 0 1 1 0 0 0 0

0 0 0 1 0 1 0 0 1 0

0 0 1 0 1 1 0 1 0 0

0 0 1 1 1 1 0 1 1 0

0 1 0 0 1 1 1 0 0 1

0 1 0 1 0 1 1 0 1 0

0 1 1 0 1 1 1 1 0 1

0 1 1 1 1 1 1 1 1 1

2-2-3 邏輯圖

邏輯函數(shù)表示的邏輯關(guān)系可以用邏輯

電路來實現(xiàn)。用邏輯符號畫出的電路圖稱為

邏輯圖,如圖 2-1 所示。對邏輯符號和邏輯

圖的具體介紹將在第 3 章中給出。

2-3 邏輯函數(shù)表達(dá)形式與變換

一個邏輯命題可以用多種形式的邏輯函數(shù)來描述,這些邏輯函數(shù)的真值表都是相同的。如果

以函數(shù)式中所含的變量乘積項的特點以及乘積項之間的邏輯關(guān)系來分類,邏輯函數(shù)表達(dá)式可以分

成與或、或與、與非、或非、與或非、或與非等形式,各種形式之間可以相互變換。

例如,函數(shù)Y = AB + AB 可以表達(dá)為

圖 2-1 Y AB C = ⊕ 邏輯圖

A

B

C

&

=1

電子系統(tǒng)設(shè)計

第40頁

第 2 章 邏輯代數(shù)基礎(chǔ) 29

( )( )

Y AB AB

A BA B

AB AB

ABAB

AB A B

= +

=+ +

=

=+++

= +

="

與或式

或與式

與非式

或非式

與或非式

2-3-1 積之和

所謂“積之和”又稱“與或”表達(dá)式,是指一個函數(shù)表達(dá)式由若干個積項的和組成,即若干

個與項進(jìn)行或運算形成的表達(dá)式。例如:

Y A AB ABC =+ +

式中,A、 AB 、 ABC 都是積項(與項)。

2-3-2 和之積

所謂“和之積”又稱“或與”表達(dá)式,是指一個函數(shù)表達(dá)式由若干個和項的積組成,即若干

個或項進(jìn)行與運算形成的表達(dá)式。例如:

Y AA B A B C = + ++ ( )( )

式中, A、 、 ABABC + ++ 都是和項(或項)。

2-3-3 最小項標(biāo)準(zhǔn)形式

邏輯函數(shù)表達(dá)式有多種表達(dá)形式,從真值表導(dǎo)出的邏輯函數(shù)表達(dá)式將是一種標(biāo)準(zhǔn)形式,即邏

輯函數(shù)的最小項之和式或最大項之積式。

1.最小項

設(shè)有 n 個邏輯變量,它們組成的與項中每個變量或以原變量形式或以反變量形式出現(xiàn)一次,

且僅出現(xiàn)一次,此與項稱為 n 個變量的最小項。

由最小項定義可知,n 個變量可構(gòu)成 2n 個最小項。為了書寫方便,通常用 mi 表示最小項。例

如三變量的 8 個最小項可表示如表 2-4 所示。

表 2-4 三變量最小項

A B C 最 小 項 代 號

0 0 0 ABC m0

0 0 1 ABC m1

0 1 0 ABC m2

0 1 1 ABC m3

1 0 0 ABC m4

1 0 1 ABC m5

1 1 0 ABC m6

1 1 1 ABC m7

確定下標(biāo) i 的規(guī)則是:當(dāng)變量按一定順序(A, B, C, …)排好后,用 1 代替原變量,用 0 代替

第41頁

30 數(shù)字邏輯(第三版)

反變量,由此得到一個二進(jìn)制數(shù),其對應(yīng)的十進(jìn)制數(shù)即為下標(biāo)值 i。

從上表還可以看出最小項具有如下性質(zhì)。

性質(zhì) 1:任意一個最小項,相應(yīng)變量有且只有一組取值使這個最小項的值為 1。換言之,最

小項不同,其值為 1 的變量取值組合也不同。

性質(zhì) 2:任意兩個最小項之積必為 0,記為

mi·mj = 0 (i≠j)

性質(zhì) 3:n 個變量的全部最小項之和為 1,記為

2 1

0

1

n

i

i

m

?

=

∑ =

2.函數(shù)的最小項標(biāo)準(zhǔn)形式

前面提到函數(shù)的積之和(與或)表達(dá)式,如果構(gòu)成函數(shù)的積之和表達(dá)式中每一個乘積項(與

項)均為最小項,則稱之為最小項之和標(biāo)準(zhǔn)式。例如:

Y A B C ABC ABC ABC ABC (,, ) =+++

是一個最小項之和標(biāo)準(zhǔn)式,為了書寫方便,上式可記為

3 Y ABC m m m m m ( , , ) (2,3,5,7) =+++= 7532 ∑

式中,上標(biāo) 3 表示函數(shù)的變量數(shù),在變量數(shù)確定的情況下可以省略。

3.一般與或式轉(zhuǎn)換成最小項標(biāo)準(zhǔn)式

如果給定的函數(shù)為一般的與或表達(dá)式,可以反復(fù)利用公式 A = += + A B B AB AB ( ) 配項將之

轉(zhuǎn)換成最小項標(biāo)準(zhǔn)式。

【例 2-8】將函數(shù) Y A B C AB AC BC (,, ) =++ 轉(zhuǎn)換成最小項標(biāo)準(zhǔn)式。

解:利用與項中沒有出現(xiàn)的變量進(jìn)行配項,根據(jù)分配律得

(,, )

( )( )( )

(3,4,5,7)

Y A B C AB AC BC

AB C C A B B C A A BC

ABC ABC ABC ABC ABC ABC

ABC ABC ABC ABC

m

=++

= ++ + ++

=+++++

=+++

= ∑

4.由真值表導(dǎo)出最小項標(biāo)準(zhǔn)式

如果給定函數(shù)用真值表表示,顯然真值表每一行變量的組合對應(yīng)一個最小項。如果對應(yīng)該行

的函數(shù)值為 1,則函數(shù)的最小項標(biāo)準(zhǔn)式中應(yīng)包含對應(yīng)該行的最小項;如果對應(yīng)該行的函數(shù)值為 0,

則函數(shù)的最小項標(biāo)準(zhǔn)式中不包含對應(yīng)該行的最小項。表 2-5 給出了 Y(A,B,C)和 Y 的真值以及對應(yīng)

的最小項代號。

表 2-5 函數(shù) Y(A,B,C)和Y 的真值表

A B C Y Y 最 小 項

0 0 0 0 1 m0

0 0 1 1 0 m1

0 1 0 0 1 m2

0 1 1 1 0 m3

第42頁

第 2 章 邏輯代數(shù)基礎(chǔ) 31

續(xù)表

A B C Y Y 最 小 項

1 0 0 1 0 m4

1 0 1 1 0 m5

1 1 0 0 1 m6

1 1 1 1 0 m7

顯然,由表 2-5 可以方便地得

Y ABC m ( , , ) (1,3,4,5,7) = ∑

Y ABC m ( , , ) (0,2,6) = ∑

從上例中可以看出,由三變量組成的最小項不是包含在 Y(A,B,C)中,就是包含在 Y ABC (,, ) 中。

推廣到一般的情況,對于 n 個變量的函數(shù) Y,它共有 2n 個最小項,這些最小項不是包含在 Y

的最小項標(biāo)準(zhǔn)式中,就是包含在Y 的最小項標(biāo)準(zhǔn)式中。

用邏輯代數(shù)可以證明

2 1

02 1 02 1

0

( , ,, ) ( , ,, ) 1

n

n n ni

i

YX X X YX X X m

?

? ?

=

" " + == ∑

【例 2-9】已知函數(shù) 4 Y m = ∑ (0,2,4,7,13) ,求其反函數(shù)。

解:函數(shù) Y 包含最小項(0, 2, 4, 7, 13),那么最小項(1, 3, 5, 6, 8, 9, 10, 11, 12, 14, 15)一定

包含在Y 中,即

4 Y m = ∑ (1, 3, 5, 6, 8, 9, 10, 11, 12, 14, 15)

2-3-4 最大項標(biāo)準(zhǔn)形式

1.最大項

設(shè)有 n 個邏輯變量,它們組成的和項中每個變量或以原變量形式或以反變量形式出現(xiàn)一次,

且僅出現(xiàn)一次,此和項稱為 n 個變量的最大項。

由最大項定義可知,n 個變量可構(gòu)成 2n 個最大項。為了書寫方便,通常用 Mi 表示最大項。例

如三變量的 8 個最大項可表示如表 2-6 所示。

表 2-6 三變量最大項

A B C 最 大 項 代 號

0 0 0 A+ B C+ M0

0 0 1 ABC + + M1

0 1 0 A + B C+ M2

0 1 1 A + B C+ M3

1 0 0 A + B C+ M4

1 0 1 A + B C+ M5

1 1 0 A + B C+ M6

1 1 1 A + B C+ M7

第43頁

32 數(shù)字邏輯(第三版)

確定下標(biāo) i 的規(guī)則與最小項相反:當(dāng)變量按一定順序(A, B, C, …)排好后,用 0 代替原變量,

用 1 代替反變量,由此得到一個二進(jìn)制數(shù),其對應(yīng)的十進(jìn)制數(shù)即為下標(biāo)值 i。

從表 2-6 還可以看出最大項具有如下性質(zhì)。

性質(zhì) 1:任意一個最大項,相應(yīng)變量有且只有一組取值使這個最大項的值為 0。換言之,最

大項不同,其值為 0 的變量取值組合也不同。

性質(zhì) 2:任意兩個最大項之和必為 1,記為

Mi + Mj = 1 (i≠j)

性質(zhì) 3:n 個變量的全部最大項之積為 0,記為

0

2 1

0

∏ =

?

=

n

i

M i

性質(zhì) 4:同變量數(shù)下標(biāo)相同的最大項和最小項互為反函數(shù),即

,

,

i i ii

i i ii

mM Mm

mM Mm

= =

∑ ∑ = = ∏ ∏

2.函數(shù)的最大項標(biāo)準(zhǔn)形式

前面提到函數(shù)的和之積(或與)表達(dá)式,如果構(gòu)成函數(shù)的和之積表達(dá)式中每一個和項(或項)

均為最大項,則稱之為最大項之積標(biāo)準(zhǔn)式。例如:

Y ABC A B C A B C A B C A B C ( , , ) ( )( )( )( ) = ++ ++ ++ ++

是一個最大項之積標(biāo)準(zhǔn)式,為了書寫方便,上式可記為

3 Y ABC M M M M M ( , , ) (0,2,4,5) = = 0245 ∏

式中,上標(biāo) 3 表示函數(shù)的變量數(shù),在變量數(shù)確定的情況下可以省略。

3.一般或與式轉(zhuǎn)換成最大項標(biāo)準(zhǔn)式

如果給定的函數(shù)為一般的或與表達(dá)式,可以反復(fù)利用公式 A = A BB A B A B + =+ + ( )( ) 配項

將之轉(zhuǎn)換成最大項標(biāo)準(zhǔn)式。

【例 2-10】將函數(shù) Y ABC A B A C ( , , ) ( )( ) =+ + 轉(zhuǎn)換成最大項標(biāo)準(zhǔn)形式。

解:利用或項中沒有出現(xiàn)的變量進(jìn)行配項,根據(jù)分配律得

( , , ) ( )( )

( )( )

( )( )( )( )

( )( )( )

(0,2,3)

Y ABC A B A C

A B CC A BB C

A BCA BCA BCA BC

A BCA BCA BC

M

=+ +

= ++ + +

= ++ ++ ++ ++

= ++ ++ ++

= ∏

4.由真值表導(dǎo)出最大項標(biāo)準(zhǔn)式

如果給定函數(shù)用真值表表示,顯然真值表每一行變量的組合對應(yīng)一個最大項。如果對應(yīng)該行

的函數(shù)值為 0,則函數(shù)的最大項標(biāo)準(zhǔn)式中應(yīng)包含對應(yīng)該行的最大項;如果對應(yīng)該行的函數(shù)值為 1,

則函數(shù)的最大項標(biāo)準(zhǔn)式中不包含對應(yīng)該行的最大項。表 2-7 給出了 Y(A,B,C)和Y 的真值以及對應(yīng)

的最大項代號。

第44頁

第 2 章 邏輯代數(shù)基礎(chǔ) 33

表 2-7 函數(shù) Y(A,B,C)和Y 的真值表

A B C Y Y 最大項

0 0 0 0 1 M0

0 0 1 0 1 M1

0 1 0 1 0 M2

0 1 1 0 1 M3

1 0 0 1 0 M4

1 0 1 1 0 M5

1 1 0 0 1 M6

1 1 1 0 1 M7

顯然,由表 2-7 可以方便地得

( , , ) (0,1,3,6,7)

( , , ) (2,4,5)

Y ABC M

Y ABC M

=

=

從上例中可以看出,由三變量組成的最大項不是包含在 Y(A,B,C)中,就是包含在 Y ABC (,, ) 中。

推廣到一般的情況,對于 n 個變量的函數(shù) Y,它共有 2n 個最大項,這些最大項不是包含在 Y

的最大項標(biāo)準(zhǔn)式中,就是包含在Y 的最大項標(biāo)準(zhǔn)式中。

用邏輯代數(shù)可以證明

2 1

02 1 02 1

0

( , ,, ) ( , ,, ) 0

n

n n ni

i

YX X X YX X X M

?

? ?

=

" " ? == ∏

【例 2-11】已知函數(shù) 4 Y M = ∏ (1,3,4,6,10) ,求其反函數(shù)。

解:函數(shù) Y 包含最大項(1, 3, 4, 6, 10),那么最大項(0, 2, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15)一

定包含在Y 中,即

4 Y M = ∏ (0, 2, 5, 7, 8, 9, 11, 12, 13, 14, 15)

5.最小項標(biāo)準(zhǔn)式與最大項標(biāo)準(zhǔn)式的關(guān)系

同一邏輯函數(shù)可以用最小項標(biāo)準(zhǔn)式表示,也可以用最大項標(biāo)準(zhǔn)式表示,兩者之間也可以相互

轉(zhuǎn)換。

【例 2-12】已知函數(shù)的最小項標(biāo)準(zhǔn)式為 Y ABC m ( , , ) (1,3,4,5,7) = ∑ ,求其最大項標(biāo)準(zhǔn)式。

解:對原函數(shù)兩邊求反,得 Y ABC m ( , , ) (0,2,6) = ∑ ,再對 Y ABC (,, ) 求反,得

026

026

Y ABC m ( , , ) (0,2,6)

mmm

mmm

=

=++

=

根據(jù)真值表,可得出 Y 的最大項標(biāo)準(zhǔn)式為 Y ABC M M M M ( , , ) (0,2,6) = = 026 ∏ 。

由此,可得到同一函數(shù)的最小項標(biāo)準(zhǔn)式與其最大項標(biāo)準(zhǔn)式之間的關(guān)系

Y ABC m M ( , , ) (1,3,4,5,7) (0,2,6) = = ∑ ∏

推廣到一般情況,同一邏輯函數(shù)的一種標(biāo)準(zhǔn)式(原式)轉(zhuǎn)換成另一種標(biāo)準(zhǔn)式式,互換 n

∑m 和

第45頁

34 數(shù)字邏輯(第三版)

n

∏M 符號,并在符號后列出原式中缺少的那些數(shù)字。換言之,若將所示下標(biāo){0, 1, …, 2n

?1}看

成全集,則 n

∑m 和 n

∏ M 的下標(biāo)集合互為補集。例如:

4 4 Ym M = = ∑ (1,3,4,5,7) (0,2,6,8,9,10,11,12,13,14,15) ∏

邏輯函數(shù)的最小項標(biāo)準(zhǔn)式及最大項標(biāo)準(zhǔn)式與該函數(shù)的真值表有著密切的關(guān)系,一個邏輯函數(shù)

的最小項標(biāo)準(zhǔn)式及最大項標(biāo)準(zhǔn)式都是唯一的。

2-4 邏輯函數(shù)的化簡

同一邏輯函數(shù)有著不同的表達(dá)式,不同的表達(dá)式對應(yīng)著實現(xiàn)此函數(shù)的不同邏輯電路。邏輯電

路設(shè)計者總是希望在保證技術(shù)指標(biāo)滿足需求的條件下,選用最簡的邏輯電路,這就要求得到的邏

輯函數(shù)表達(dá)式最簡。把邏輯函數(shù)轉(zhuǎn)換成最簡表達(dá)式的過程稱為邏輯函數(shù)化簡,或最小化。

門級最簡需滿足下列條件之一:

① 最簡與或式:與項的數(shù)目最少、每個與項的變量數(shù)最少。

② 最簡或與式:或項的數(shù)目最少、每個或項的變量數(shù)最少。

滿足了上述條件之一,就可以使邏輯電路的門數(shù)最少、門的輸入端數(shù)最少、門的級數(shù)最少。

因此這種化簡又稱門級最簡,或門級最優(yōu)。

邏輯函數(shù)的化簡方法有 3 種:代數(shù)法、卡諾圖法和蘊涵法。代數(shù)法化簡是利用邏輯代數(shù)的基

本定律和規(guī)則簡化邏輯函數(shù)表達(dá)式。代數(shù)法技巧性強,要求能熟練掌握并靈活運用邏輯代數(shù)的基

本定律和規(guī)則。

2-4-1 與或式的化簡

與或式化簡常用的公式主要有 5 個:

A A 1

A AB A

AB AB A

A AB A B

AB AC BC AB AC

+ =

+ =

+ =

+ =+

++=+

根據(jù)代入規(guī)則,這些常用公式可以演化出多種形式。例如,由

A + =+ AB A B

可推得

A + =+ AB A B

所謂化簡過程就是應(yīng)用代入規(guī)則,把某子函數(shù)看成一個變量,進(jìn)而應(yīng)用公式簡化。在這一過

程中經(jīng)常需要變換子函數(shù)的形式,以便能夠應(yīng)用公式進(jìn)行簡化。常用的方法有以下 5 種。

1.吸收法

利用公式 A + = AB A和 A + =+ AB A B ,消去多余變量。

【例 2-13】化簡函數(shù) Y AB AB C D E = + + ( ) 。

解:根據(jù)公式 A + AB A = 得

第46頁

第 2 章 邏輯代數(shù)基礎(chǔ) 35

[ ]

( )

1( )

Y AB AB C D E

AB C DE

AB

=+ +

= ++

=

【例 2-14】化簡函數(shù) Y AB AC BC =++ 。

解:根據(jù)公式 A + AB A B = + 得

( )

Y AB AC BC

AB A BC

AB ABC

AB C

=++

= ++

= +

= +

2.并項法

利用公式 AB AB A + = ,兩項合并為一項且消去一個變量。

【例 2-15】化簡函數(shù) Y ABCD ABCD ABCD ABCD =+++ 。

解:根據(jù)公式 AB AB A + = 得

() ()

Y ABCD ABCD ABCD ABCD

ABD C C ABD C C

ABD ABD

BD

=+++

= ++ +

= +

=

3.消去法

利用多余項定理 AB AC BC AB AC ++=+ ,消去多余項。

【例 2-16】化簡函數(shù) Y AC ADE CD =+ + 。

解:根據(jù)多余項定理,得

Y AC ADE CD

AC CD AD ADE

AC CD

=+ +

=+++

= +

4.配項法

當(dāng)無法使用可用公式時,可先增加一些項,再利用增加項消去多余項,最終減少總的項數(shù)。

一是利用互補律1 = + A A ,增加項數(shù),二是利用公式多余項定理 AB AC AB AC BC +=++ ,增

加項數(shù)。

【例 2-17】化簡函數(shù) Y AB BC BC AB =+++ 。

解一:根據(jù)互補律,得

()( )

( )( )( )

Y AB BC BC AB

AB BC BC A A AB C C

AB ABC BC ABC ABC ABC

AB BC AC

=+++

= + + ++ +

=+ ++ + +

=++

解二:根據(jù)多余項定理,得

第47頁

36 數(shù)字邏輯(第三版)

( )

( )( )

Y AB BC BC AB

AB BC BC AB AC

AB AC BC BC AC AB

AB AC BC

=+++

=+ + ++

= ++ + ++

=++

5.綜合法

以上方法并不孤立,通常在化簡一個函數(shù)時要綜合利用多種方法。

【例 2-18】化簡函數(shù) Y AB AC BC BC BD BD ADE F G = +++++ + + ( )。

( )

( )

Y AB AC BC BC BD BD ADE F G

ABC BC BC BD BD ADE F G

= +++++ + +

= ++++ + +

A BC BC BD BD ADE F G ( )

A BC BC BD BD

A BC BC BD BD CD

A BC BD CD

=+ + + + + +

=+ + + +

=+ + + + +

=+ + +

或者

=+ + + A BC BD CD

2-4-2 或與式的化簡

或與式的化簡有 3 種方法。

1.常規(guī)法

常規(guī)法化簡類似于或與的化簡,化簡中常用的公式主要有

( )( )

( )

( )

( )( )( ) ( )( )

A BA B A

AA B A

A A B AB

A BACB C A BAC

+ +=

+ =

+ =

+ + +=+ +

2.二次對偶法

利用對偶規(guī)則,先求出對偶式,再將對偶式化簡為最簡與或式,最后再求一次對偶,則得到

最簡或與式。

【例 2-19】將函數(shù) Y AA B B C B C =+ + + ( )( )( ) 化簡成最簡或與式。

解:先求其對偶函數(shù) Y'為

( )

Y' A AB BC BC

A B BC C

A B

=+ + +

=++ +

= +

再次求對偶,得

Y Y' ' AB = = ( )

第48頁

第 2 章 邏輯代數(shù)基礎(chǔ) 37

3.二次求反法

利用反演規(guī)則,先求出反函數(shù),再將反函數(shù)化簡成最簡與或式,再求一次反,則得到最簡或

與式。

【例 2-20】將函數(shù) Y AB AB AC BD = ++ + 化簡成最簡或與式。

解:先求其反函數(shù)Y 為

( )( )( )( )

( )( )( )

( )( )

Y A BA BACB D

AB AB A C B D

AB ABC ABC B D

AB ABCD

=+ + + +

=+ + +

=+ + +

= +

再次求反函數(shù),得

Y Y A BA B C D == + +++ ( )( )

從上述的代數(shù)法化簡看出,它主要是應(yīng)用邏輯代數(shù)中的基本公式和規(guī)則,以及一定的技巧,

沒有嚴(yán)格的規(guī)則可循,得到的結(jié)果是否是最簡也難以判斷。

2-5 卡 諾 圖

卡諾圖(Karnaugh Map)是邏輯函數(shù)真值表的一種圖形表示。利用卡諾圖可以有規(guī)律地化簡

邏輯函數(shù)表達(dá)式,并能直觀地寫出邏輯函數(shù)的最簡式。卡諾圖化簡法又稱圖形化簡法。

2-5-1 卡諾圖構(gòu)成

卡諾圖是一種平面方格陣列圖,n 個變量的卡諾圖由 2n 個小方格構(gòu)成。卡諾圖是真值表圖形

化的結(jié)果,n 個變量函數(shù)的真值表是用 2n 行的縱列依次給出變量的 2n 種取值,每行的取值與一個

最小項對應(yīng);而 n 個變量函數(shù)的卡諾圖是用二維圖形中 2n個小方格的坐標(biāo)值給出變量的 2n種取值,

每個小方格與一個最小項對應(yīng)。

圖 2-2 為二變量卡諾圖,它由 4 個方格組成。圖 2-2(b)表明各個方格與這兩變量的關(guān)系。

每一列和每一行上的 0 和 1 分別代表變量 A 和 B 的值。類似,可以畫出三、四、五變量的卡諾圖,

它們由 2n

(n=3,4,5)個方格構(gòu)成,如圖 2-3 所示。

A A

A

B 0 1

A

B 0 1

0 m0 m2 0 AB AB

B{ 1 m1 m3 B{ 1 AB AB

(a) (b)

圖 2-2 二變量卡諾圖的構(gòu)成

為表示方便,圖中小方格也可省略最小項符號 m 而只標(biāo)明下標(biāo)。變量沿坐標(biāo)軸方向按循環(huán)碼

的規(guī)律進(jìn)行取值。如圖 2-3(a)中,變量 AB 的取值依次是 00、01、11、10,也可以依次取為 10、

11、01、00 等,但此時最小項與小方格的對應(yīng)關(guān)系發(fā)生了變化,應(yīng)該作出相應(yīng)的調(diào)整。五變量卡

諾圖可看做是由兩個四變量卡諾圖組成,而六變量卡諾圖可看做是由 4 個四變量卡諾圖所組成,

因為其比較復(fù)雜并且用得不多,所以不再給出。

第49頁

38 數(shù)字邏輯(第三版)

A A

AB

C 00 01 11 10

AB

CD 00 01 11 10

0 m0 m2 m6 m4 00 m0 m4 m12 m8

C 1 m1 m3 m7 m5 01 m1 m5 m13 m9

11 m3 m7 m15 m11

D

B C

10 m2 m6 m14 m10

B

(a)三變量卡諾圖 (b)四變量卡諾圖

A

ABC

DE 000 001 011 010 100 101 111 110

00 m0 m4 m12 m8 m16 m20 m28 m24

01 m1 m5 m13 m9 m17 m21 m29 m25

11 m3 m7 m15 m11 m19 m23 m31 m27

E

D

10 m2 m6 m14 m10 m18 m22 m30 m26

C C

(c)五變量卡諾圖

圖 2-3 三、四、五變量卡諾圖的構(gòu)成

從以上各卡諾圖可看出:卡諾圖上變量的排列有一定的規(guī)律性。假定把彼此只有一個變量不

同,且這個不同變量互為反變量的兩個最小項稱為相鄰最小項,那么卡諾圖上變量的排列規(guī)律將

使最小項的相鄰關(guān)系能在圖形上清晰地反映出來。根據(jù)此定義,可發(fā)現(xiàn)在卡諾圖中只存在 3 種最

小項間的相鄰關(guān)系。

(1)幾何相鄰

即幾何位置上相鄰的最小項,如四變量卡諾圖中與 m0的相鄰最小項 m1和 m4,這些最小項對

應(yīng)的小方格與 m0 對應(yīng)的小方格分別相連。

(2)相對相鄰

如四變量卡諾圖中 m0的相鄰最小項中的 m2和 m8。m0和 m2處在同一列的兩端,m0和 m8處在

同一行的兩端,它們之間的位置都是“相對的”。

(3)重疊相鄰

如五變量卡諾圖中的 m3 與 m1、m2、m7為幾何相鄰,與 m11相對相鄰,與 m19則是重疊相鄰。

對這種情形,可將卡諾圖左右兩邊的矩形重疊,凡上下重疊的最小項即為重疊相鄰,只有 5 個及

其以上變量的卡諾圖中可能存在重疊相鄰。

總之,卡諾圖的構(gòu)成有兩大特點。

① n 個變量的卡諾圖由 2n 個小方格組成,小方格與最小項一一對應(yīng)。

② 卡諾圖上處在相鄰、相對、重疊位置的小方格所代表的最小項為相鄰最小項。

B B

第50頁

第 2 章 邏輯代數(shù)基礎(chǔ) 39

2-5-2 典型卡諾圈

1.邏輯函數(shù)在卡諾圖上的表示

當(dāng)邏輯函數(shù)表達(dá)式是“最小項之和”的形式時,只要在卡諾圖上找出那些與給定邏輯函數(shù)包

含的最小項相對應(yīng)的小方格,并標(biāo)以 1,其余標(biāo) 0,即得到該函數(shù)的卡諾圖。

例如,Y AB m m (,) = +1 3 的卡諾圖如圖 2-4 所示;又如,Y ABC m ( , , ) (1,3,5) = ∑ 的卡諾圖如

圖 2-5 所示。

當(dāng)邏輯函數(shù)是與或表達(dá)式,則要找出與各項所對應(yīng)的方格(可能不止一個),并在這些方格中

標(biāo)以 1,其余的方格標(biāo) 0。

例如,Y A B C D ABC CD (,, , ) = + ,ABC 對應(yīng)的方格為 0111 和 0110,CD 對應(yīng)的方格為 0011、

0111、1111、1011,它的卡諾圖如圖 2-6 所示。

A

B 0 1

AB

C 00 01 11 10

0 0 0 0 0 0 0 0

1 1 1 1 1 1 0 1

圖 2-4 Y AB m m (,) = +1 3 圖 2-5 Y ABC m ( , , ) (1,3,5) =∑ 圖 2-6 Y A B C D ABC CD (,,, ) = +

的卡諾圖 的卡諾圖 的卡諾圖

當(dāng)邏輯函數(shù)表達(dá)式為其他形式時,可將其變換成上述形式后再作卡諾圖。

根據(jù)上述討論,若某小方格為 1,說明邏輯函數(shù)包含對應(yīng)的最小項,否則就不包含。通常將

卡諾圖上填 1 的小方格稱為 1 方格,填 0 的小方格稱為 0 方格。

2.卡諾圈

根據(jù)定律 AB AB A + = 和相鄰最小項的定義可知,兩相鄰最小項可以合并為一項并消去一個

變量,如三變量相鄰最小項 ABC 和 ABC 可合并為 AC 。

卡諾圖能直觀地反映最小項的相鄰關(guān)系。用卡諾圖化簡邏輯函數(shù)的基本原理是通過把卡諾圖上表

征相鄰最小項的小方格“圈”在一起進(jìn)行合并,從而達(dá)到用一個簡單的“與”項代替若干最小項的目

的。通常把用來覆蓋那些能由一個簡單“與”項代替的若干最小項的“圈”稱為卡諾圈。

(1)二變量卡諾圖的典型卡諾圈

圖 2-7 給出了二變量卡諾圖的典型卡諾圈。

A

B 0 1

A

B 0 1

A

B 0 1

A

B 0 1

A

B 0 1

0 1 0 0 0 0 0 1 0 0 1 0 0 1 1

1 0 0 1 1 1 1 1 0 1 1 1 1 1 1

(a) (b) (c) (d) (e)

圖 2-7 二變量典型卡諾圈

AB

CD 00 01 11 10

00 0 0 0 0

01 0 0 0 0

11 1 1 1 1

10 0 1 0 0

百萬用戶使用云展網(wǎng)進(jìn)行書冊翻頁效果制作,只要您有文檔,即可一鍵上傳,自動生成鏈接和二維碼(獨立電子書),支持分享到微信和網(wǎng)站!
收藏
轉(zhuǎn)發(fā)
下載
免費制作
其他案例
更多案例
免費制作
x
{{item.desc}}
下載
{{item.title}}
{{toast}}