本書以通用計算機為線索,由淺入深地講解了邏輯設(shè)計、數(shù)字系統(tǒng)設(shè)計和計算機設(shè)計。其中,第1~4章為邏輯設(shè)計,包括數(shù)字系統(tǒng)與信息、硬件描述語言和組合邏輯電路、組合邏輯設(shè)計以及時序電路;第5~7章為數(shù)字系統(tǒng)設(shè)計,包括數(shù)字硬件實現(xiàn)技術(shù)、測試與驗證對設(shè)計成本的影響、寄存器與寄存器傳輸以及存儲器基礎(chǔ);第8~12章為計算機設(shè)計,包括計算機設(shè)計基礎(chǔ)、指令集結(jié)構(gòu)、RISC與CISC中央處理器、輸入輸出與通道,以及存儲系統(tǒng)。書中附有60多個主要來自現(xiàn)代日常生活中產(chǎn)品設(shè)計的真實例子和問題,可以激發(fā)讀者的學(xué)習(xí)興趣。本書強調(diào)硬件描述語言在教學(xué)中的重要性,不僅可以作為計算機科學(xué)、計算機工程、電子技術(shù)、機電一體化等專業(yè)學(xué)生學(xué)習(xí)硬件的一本絕佳教材,也可以作為弱電類工程師和計算機科學(xué)工作者的理想?yún)⒖紩?/pre>
前言LogicandComputerDesignFundamentals本書的目的是為廣大讀者提供學(xué)習(xí)邏輯設(shè)計、數(shù)字系統(tǒng)設(shè)計和計算機設(shè)計的基礎(chǔ)知識。本書第5版突出了課程內(nèi)容方面的最新發(fā)展。從1997年的第1版開始,作者就不斷對其進行修改,提供一種獨一無二的將邏輯設(shè)計與計算機設(shè)計原理結(jié)合在一起的方法,并特別強調(diào)硬件。過去幾年,教材一直緊跟行業(yè)的發(fā)展趨勢,新增加了一些內(nèi)容(如硬件描述語言),刪除或者弱化了某些不太重要的內(nèi)容,修改了某些內(nèi)容以反映計算機技術(shù)和計算機輔助設(shè)計所發(fā)生的變化。
新版的變化第5版反映了相關(guān)技術(shù)與設(shè)計實踐方面的一些變化,與過去相比,要求計算機系統(tǒng)設(shè)計者在一個更高的層次上進行設(shè)計抽象并管理更大范圍的復(fù)雜性問題。在不同抽象層次進行邏輯、數(shù)字系統(tǒng)和計算機設(shè)計所涉及的內(nèi)容已經(jīng)不能同日而語,本書新版的目的就是要在計算機系統(tǒng)設(shè)計特別是在邏輯層次上更為有效地彌補現(xiàn)在的教學(xué)狀況與工業(yè)實現(xiàn)之間的鴻溝。同時,新版仍然保持著過去的章節(jié)組織,方便教師針對電氣與計算機工程和計算機科學(xué)專業(yè)的學(xué)生根據(jù)需要選講部分內(nèi)容。新版的變化包括:
第1章的更新包括對計算機系統(tǒng)抽象層次的討論,以及它們的作用,還簡要介紹了數(shù)字設(shè)計的過程。為加強國際化,第1章還有一些關(guān)于字符編碼的新內(nèi)容。
本書在第2章就開始介紹硬件描述語言(HDL),比以前的版本更早。對于涉及組合和時序邏輯設(shè)計的章節(jié),都會給出電路的HDL描述以及邏輯框圖與狀態(tài)圖,從而表明在當(dāng)代數(shù)字系統(tǒng)設(shè)計實踐中HDL變得日益重要。關(guān)于傳播延遲(數(shù)字系統(tǒng)基本的一階設(shè)計約束)的內(nèi)容已經(jīng)移到了第2章。
第3章結(jié)合原來第3章中有關(guān)功能模塊的內(nèi)容和原來第4章中有關(guān)算術(shù)電路模塊的內(nèi)容,展現(xiàn)一組常見的組合邏輯功能模塊,這些功能模塊的HDL模型在本章隨處可見。第3章介紹分層設(shè)計的概念。
時序電路出現(xiàn)在第4章。這一章包括原來第5章中對設(shè)計過程的描述和原來第6章中的時序電路定時、輸入同步和亞穩(wěn)態(tài)的相關(guān)知識。有關(guān)JK觸發(fā)器和T觸發(fā)器的描述放到了教材的配套網(wǎng)站上。
第5章討論一些與數(shù)字硬件實現(xiàn)相關(guān)的話題,包括互補金屬氧化物(CMOS)門和可編程邏輯的設(shè)計。除包含原來第6章中的大部分內(nèi)容外,現(xiàn)在的第5章還簡要地介紹了測試與驗證對設(shè)計成本的影響。由于使用本教材的很多課程都用現(xiàn)場可編程門陣列(FPGA)來進行實驗練習(xí),所以我們對FPGA的敘述進行了擴充,通過一個簡單的、基本的FPGA結(jié)構(gòu)來講解許多商用FPGA系列中都會出現(xiàn)的基本可編程元器件。
剩下的章節(jié)(包括計算機設(shè)計在內(nèi))已經(jīng)進行了更新,以便反映從上一個版本以來出現(xiàn)的最新變化。重要的更新包括將高阻緩沖器從原來的第2章移動到6.8節(jié)中,以及在第9章增加了如何在高級語言中用過程調(diào)用和返回來實現(xiàn)函數(shù)調(diào)用的相關(guān)討論。
除了提供完整的數(shù)字和計算機設(shè)計內(nèi)容之外,第5版還特別強調(diào)現(xiàn)代設(shè)計的基本原理。從簡單的組合邏輯應(yīng)用到在RISC核上構(gòu)建CISC結(jié)構(gòu),多個例子的清晰解釋和漸進式的設(shè)計過程可以詮釋書中內(nèi)容。完整的傳統(tǒng)內(nèi)容包括計算機輔助設(shè)計、問題形式化、解決方案驗證,以及綜合能力培養(yǎng),而靈活性則體現(xiàn)在可選的邏輯設(shè)計、數(shù)字系統(tǒng)設(shè)計和計算機設(shè)計,以及硬件描述語言的相關(guān)內(nèi)容中(不選、選用VHDL或選用Verilog)。
經(jīng)過這次修訂,本書第1~4章講解邏輯設(shè)計,第5~7章討論數(shù)字系統(tǒng)設(shè)計,第8~12章重點介紹計算機設(shè)計。這樣的安排可以逐漸地、自底向上地完成各種函數(shù)設(shè)計,并將其應(yīng)用到后續(xù)章節(jié)自頂向下的計算機設(shè)計中,為讀者提供牢固的數(shù)字系統(tǒng)設(shè)計基礎(chǔ)。下面是各章相關(guān)內(nèi)容的概括。
邏輯設(shè)計第1章介紹數(shù)字計算機、計算機系統(tǒng)抽象層次、嵌入式系統(tǒng),以及包括數(shù)制、算術(shù)運算和編碼在內(nèi)的信息表示。
第2章研究門電路和它們的類型,以及設(shè)計和成本優(yōu)化的基本方法。概念包括布爾代數(shù)、代數(shù)優(yōu)化和卡諾圖優(yōu)化、傳播延遲,以及在VHDL和Verilog中使用結(jié)構(gòu)和數(shù)據(jù)流模型表示的門級硬件描述語言模型。
第3章從一個現(xiàn)代邏輯設(shè)計過程的概述開始,設(shè)計過程的詳細步驟包括問題形式化、邏輯優(yōu)化、用與非門和或非門進行工藝映射,組合邏輯設(shè)計的實例中還包括驗證。另外,這一章還包括函數(shù)和構(gòu)建組合設(shè)計模塊,包括使能和輸入定值、譯碼、編碼、代碼轉(zhuǎn)換、選擇、分配、加法、減法、遞增、遞減、填充、擴展和移位以及它們的實現(xiàn)。本章還包括許多邏輯模塊的VHDL和Verilog模型。
第4章包括時序電路分析和設(shè)計。討論了鎖存器和邊沿觸發(fā)式觸發(fā)器,并著重講解了D觸發(fā)器。本章的重點是狀態(tài)機圖和狀態(tài)表的形式化表示。時序電路完整的設(shè)計過程包括規(guī)格說明、形式化、狀態(tài)分配、觸發(fā)器輸入和輸出方程確定、優(yōu)化、工藝映射以及驗證。時序電路通常都太復(fù)雜,不能用傳統(tǒng)的狀態(tài)圖來表示,但可以用狀態(tài)機圖模型來表示,這一章通過現(xiàn)實世界的兩個例子來闡述和說明這一觀點。這一章包括用VHDL和Verilog來描述觸發(fā)器和時序電路,介紹了VHDL和Verilog程序行為的語言結(jié)構(gòu)以及用于驗證的測試程序。本章最后介紹了時序電路的
譯者序LogicandComputerDesignFundamentals如今我們生活在信息時代。試想,如果沒有了網(wǎng)絡(luò)、計算機、手機和電視,世界會變得怎樣?答案一定是世界將變得暗淡無光,甚至是悲慘的!數(shù)字電路與計算機技術(shù)作為其他技術(shù)的重要基礎(chǔ)之一,成就了當(dāng)今人們高效有序、豐富多彩的工作與生活。從發(fā)明晶體管和集成電路到現(xiàn)在,數(shù)字電路和數(shù)字系統(tǒng)設(shè)計技術(shù)已經(jīng)紅紅火火地走過了半個世紀,計算機技術(shù)更是在最近三十多年跳躍式地發(fā)展。人們對未來充滿著更多美好的期望,數(shù)字電路與計算機必將承載著這一切向更廣范圍、更高水準延伸與發(fā)展。
從1997年至今,本書英文版已經(jīng)發(fā)行了5個版本,均受到了讀者的廣泛好評。除了為讀者提供學(xué)習(xí)邏輯設(shè)計、數(shù)字系統(tǒng)設(shè)計和計算機設(shè)計的基礎(chǔ)知識之外,第5版還包含相關(guān)研究領(lǐng)域和行業(yè)的最新發(fā)展情況。與過去相比,現(xiàn)代工業(yè)實踐要求計算機系統(tǒng)設(shè)計者在一個更高的層次上進行設(shè)計抽象并管理更大范圍的復(fù)雜性問題。在不同抽象層次進行邏輯、數(shù)字系統(tǒng)和計算機設(shè)計所涉及的內(nèi)容已經(jīng)不能同日而語,本書新版更為有效地彌補了計算機系統(tǒng)設(shè)計(特別是在邏輯層次上)的教學(xué)狀況與工業(yè)實現(xiàn)之間的鴻溝。
本書以通用計算機為線索,由淺入深地講解了邏輯設(shè)計、數(shù)字系統(tǒng)設(shè)計和計算機設(shè)計。其中,第1~4章為邏輯設(shè)計,包括數(shù)字系統(tǒng)與信息、硬件描述語言和組合邏輯電路、組合邏輯設(shè)計、時序電路;第5~7章為數(shù)字系統(tǒng)設(shè)計,包括數(shù)字硬件實現(xiàn)技術(shù)、寄存器與寄存器傳輸以及存儲器基礎(chǔ),在第5章還增加了測試與驗證對設(shè)計成本的影響;第8~12章為計算機設(shè)計,包括計算機設(shè)計基礎(chǔ)、指令集結(jié)構(gòu)、RISC與CISC中央處理器、輸入/輸出與通道以及存儲系統(tǒng),所有內(nèi)容都進行了更新,以反映最新的變化。書中附有60多個主要來自現(xiàn)代日常生活的產(chǎn)品設(shè)計的真實例子和問題,可以激發(fā)讀者的學(xué)習(xí)興趣。配套網(wǎng)站(www.pearsonhighered.com/mano)提供了大量的輔助信息,包括教師手冊、補充讀物、所有例子的VHDL和Verilog源文件、有關(guān)工具及網(wǎng)站的鏈接和習(xí)題解答等。從其編排可以清楚地看出,本書不僅可以作為計算機科學(xué)、計算機工程、電子技術(shù)、機電一體化等專業(yè)學(xué)生學(xué)習(xí)硬件的一本教材,也可以作為弱電類工程師和計算機科學(xué)工作者的理想?yún)⒖紩?
本書第1、2、4、5章由鄺繼順翻譯,第6、7、11、12章由尤志強翻譯,第8、9、10章由凌純清翻譯,蔡曉敏翻譯了第3章,張明和與潘波參與了翻譯工作,鄺繼順對全部譯文進行了審校與潤色。感謝袁曉坊、何海珍、王偉征、周穎波、張玲、袁文澹、劉鐵橋在第4版的翻譯中做的工作。由于譯者水平有限,譯文中疏漏和錯誤在所難免,歡迎廣大讀者批評指正。
譯者
目 錄
Logic and Computer Design Fundamentals
出版者的話
譯者序
前言
第1章 數(shù)字系統(tǒng)與信息1
1.1 信息表示2
1.1.1 數(shù)字計算機3
1.1.2 其他計算機4
1.1.3 通用計算機的進一步說明7
1.2 計算機系統(tǒng)設(shè)計的抽象層次8
1.3 數(shù)制10
1.3.1 二進制11
1.3.2 八進制與十六進制12
1.3.3 數(shù)字范圍13
1.4 算術(shù)運算14
1.5 十進制編碼17
1.6 字符編碼18
1.6.1 ASCII字符編碼18
1.6.2 校驗位21
1.7 格雷碼22
1.8 本章小結(jié)23
參考文獻24
習(xí)題24
第2章 組合邏輯電路27
2.1 二值邏輯和邏輯門27
2.1.1 二值邏輯28
2.1.2 邏輯門29
2.1.3 用硬件描述語言表示邏輯門32
2.2 布爾代數(shù)33
2.2.1 布爾代數(shù)的基本恒等式34
2.2.2 代數(shù)運算36
2.2.3 反函數(shù)38
2.3 標準形式39
2.3.1 最小項和最大項39
2.3.2 積之和42
2.3.3 和之積43
2.4 兩級電路的優(yōu)化43
2.4.1 成本標準44
2.4.2 卡諾圖結(jié)構(gòu)45
2.4.3 二變量卡諾圖47
2.4.4 三變量卡諾圖48
2.5 卡諾圖的化簡50
2.5.1 質(zhì)主蘊涵項50
2.5.2 非質(zhì)主蘊涵項51
2.5.3 和之積優(yōu)化52
2.5.4 無關(guān)最小項53
2.6 異或操作和異或門55
2.7 門的傳播延遲56
2.8 硬件描述語言簡介58
2.9 硬件描述語言—VHDL60
2.10 硬件描述語言—Verilog67
2.11 本章小結(jié)72
參考文獻72
習(xí)題72
第3章 組合邏輯電路的設(shè)計79
3.1 開始分層設(shè)計79
3.2 工藝映射82
3.3 組合功能模塊85
3.4 基本邏輯函數(shù)85
3.4.1 定值、傳遞和取反85
3.4.2 多位函數(shù)86
3.4.3 使能87
3.5 譯碼89
3.5.1 譯碼器和使能結(jié)合92
3.5.2 基于譯碼器的組合電路95
3.6 編碼96
3.6.1 優(yōu)先編碼器96
3.6.2 編碼器的擴展98
3.7 選擇98
3.7.1 多路復(fù)用器98
3.7.2 基于多路復(fù)用器的組合電路105
3.8 迭代組合電路109
3.9 二進制加法器110
3.9.1 半加器110
3.9.2 全加器110
3.9.3 二進制行波進位加法器111
3.10 二進制減法112
3.10.1 補碼114
3.10.2 采用補碼的二進制減法115
3.11 二進制加減法器115
3.11.1 有符號的二進制數(shù)116
3.11.2 有符號二進制數(shù)的加法與減法118
3.11.3 溢出119
3.11.4 加法器的HDL模型121
3.11.5 行為描述122
3.12 其他的算術(shù)功能模塊124
3.12.1 壓縮125
3.12.2 遞增126
3.12.3 遞減127
3.12.4 常數(shù)乘法127
3.12.5 常數(shù)除法127
3.12.6 零填充與符號擴展127
3.13 本章小結(jié)128
參考文獻129
習(xí)題129
第4章 時序電路138
4.1 時序電路的定義138
4.2 鎖存器140
4.2.1 SR和SR鎖存器140
4.2.2 D鎖存器143
4.3 觸發(fā)器143
4.3.1 邊沿觸發(fā)式觸發(fā)器144
4.3.2 標準圖形符號145
4.3.3 直接輸入147
4.4 時序電路分析148
4.4.1 輸入方程148
4.4.2 狀態(tài)表148
4.4.3 狀態(tài)圖150
4.4.4 時序電路模擬152
4.5 時序電路設(shè)計153
4.5.1 設(shè)計步驟154
4.5.2 構(gòu)建狀態(tài)圖和狀態(tài)表154
4.5.3 狀態(tài)賦值160
4.5.4 使用D觸發(fā)器的設(shè)計161
4.5.5 無效狀態(tài)的設(shè)計162
4.5.6 驗證164
4.6 狀態(tài)機圖及其應(yīng)用166
4.6.1 狀態(tài)機圖模型167
4.6.2 對輸入條件的約束168
4.6.3 使用狀態(tài)機圖的設(shè)計應(yīng)用170
4.7 時序電路的HDL描述—VHDL177
4.8 時序電路的HDL描述—Verilog184
4.9 觸發(fā)器定時191
4.10 時序電路定時192
4.11 異步交互194
4.12 同步和亞穩(wěn)態(tài)195
4.13 同步電路陷阱198
本章小結(jié)199
參考文獻200
習(xí)題200
第5章 數(shù)字硬件實現(xiàn)210
5.1 設(shè)計空間210
5.1.1 集成電路210
5.1.2 CMOS電路工藝211
5.1.3 工藝參數(shù)213
5.2 可編程實現(xiàn)技術(shù)215
5.2.1 只讀存儲器216
5.2.2 可編程邏輯陣列217
5.2.3 可編程陣列邏輯器件219
5.2.4 現(xiàn)場可編程門陣列221
5.3 本章小結(jié)224
參考文獻224
習(xí)題225
第6章 寄存器與寄存器傳輸227
6.1 寄存器與加載使能227
6.2 寄存器傳輸230
6.3 寄存器傳輸操作231
6.4 VHDL和Verilog中的寄存器傳輸233
6.5 微操作233
6.5.1 算術(shù)微操作234
6.5.2 邏輯微操作235
6.5.3 移位微操作236
6.6 對單個寄存器的微操作237
6.6.1 基于多路復(fù)用器的傳輸237
6.6.2 移位寄存器239
6.6.3 行波計數(shù)器242
6.6.4 同步二進制計數(shù)器244
6.6.5 其他類型計數(shù)器247
6.7 寄存器單元設(shè)計249
6.8 基于多路復(fù)用器和總線的多寄存器傳輸253
6.8.1 高阻態(tài)輸出254
6.8.2 三態(tài)總線255
6.9 串行傳輸及其微操作256
6.10 寄存器傳輸控制259
6.11 移位寄存器和計數(shù)器的HDL描述—VHDL272
6.12 移位寄存器和計數(shù)器的HDL描述—Verilog273
6.13 微程序控制275
6.14 本章小結(jié)276
參考文獻276
習(xí)題277
第7章 存儲器基礎(chǔ)283
7.1 存儲器定義283
7.2 隨機訪問存儲器283
7.2.1 讀寫操作284
7.2.2 定時波形285
7.2.3 存儲器特征286
7.3 SRAM集成電路287
7.4 SRAM芯片陣列292
7.5 DRAM芯片294
7.5.1 DRAM單元294
7.5.2 DRAM位片296
7.6 DRAM分類29