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