發表於2024-11-24
本書是國外經典的一本教材,作者是業界非常有名的一位教授,齣版過數字係統方麵的多部著作。
本書結構嚴謹,注重理論與實踐的結閤。
本書是一本係統介紹數字電路設計的優秀教材,旨在教會讀者關於數字設計的基本概念和基本方法。全書共分10章,內容涉及數字邏輯的基本理論、組閤邏輯電路、時序邏輯電路、寄存器和計數器、存儲器與可編程邏輯器件、寄存器傳輸級設計、半導體和CMOS 集成電路、標準IC和FPGA實驗、標準圖形符號、Verilog HDL與數字係統設計等。全書結構嚴謹,選材新穎,內容深入淺齣,緊密聯係實際,教輔資料齊全。
M. Morris Mano,美國加利福尼亞州立大學電子和計算機工程係的教授,齣版過多部有關數字邏輯、計算機設計基礎的教材;Michael D. Ciletti,美國科羅拉多大學教授。
Contents
Preface i x
1 Digital Systems and Binary Numbers 1
1.1 Digital Systems 1
1.2 Binary Numbers 3
1.3 Number-Base Conversions 6
1.4 Octal and Hexadecimal Numbers 8
1.5 Complements of Numbers 10
1.6 Signed Binary Numbers 14
1.7 Binary Codes 18
1.8 Binary Storage and Registers 27
1.9 Binary Logic 30
2 Boolean Algebra and Logic Gates 38
2.1 Introduction 38
2.2 Basic Definitions 38
2.3 Axiomatic Definition of Boolean Algebra 40
2.4 Basic Theorems and Properties of Boolean Algebra 43
2.5 Boolean Functions 46
2.6 Canonical and Standard Forms 51
2.7 Other Logic Operations 58
2.8 Digital Logic Gates 60
2.9 Integrated Circuits 66
3 Gate-Level Minimization 73
3.1 Introduction 73
3.2 The Map Method 73
3.3 Four-Variable K-Map 80
3.4 Product-of-Sums Simplification 84
3.5 Don?ˉt-Care Conditions 88
3.6 NAND and NOR Implementation 90
3.7 Other Two-Level Implementations 97
3.8 Exclusive-OR Function 103
3.9 Hardware Description Language 108
4 Combinational Logic 125
4.1 Introduction 125
4.2 Combinational Circuits 125
4.3 Analysis Procedure 126
4.4 Design Procedure 129
4.5 Binary Adder¨CSubtractor 133
4.6 Decimal Adder 144
4.7 Binary Multiplier 146
4.8 Magnitude Comparator 148
4.9 Decoders 150
4.10 Encoders 155
4.11 Multiplexers 158
4.12 HDL Models of Combinational Circuits 164
5 Synchronous Sequential Logic 190
5.1 Introduction 190
5.2 Sequential Circuits 190
5.3 Storage Elements: Latches 193
5.4 Storage Elements: Flip-Flops 196
5.5 Analysis of Clocked Sequential Circuits 204
5.6 Synthesizable HDL Models of Sequential Circuits 217
5.7 State Reduction and Assignment 231
5.8 Design Procedure 236
6 Registers and Counters 255
6.1 Registers 255
6.2 Shift Registers 258
6.3 Ripple Counters 266
6.4 Synchronous Counters 271
6.5 Other Counters 278
6.6 HDL for Registers and Counters 283
7 Memory and Programmable Logic 299
7.1 Introduction 299
7.2 Random-Access Memory 300
7.3 Memory Decoding 307
7.4 Error Detection and Correction 312
7.5 Read-Only Memory 315
7.6 Programmable Logic Array 321
7.7 Programmable Array Logic 325
7.8 Sequential Programmable Devices 329
8 Design at the Register
Tr a n s f e r L e v e l 351
8.1 Introduction 351
8.2 Register Transfer Level Notation 351
8.3 Register Transfer Level in HDL 354
8.4 Algorithmic State Machines (ASMs) 363
8.5 Design Example (ASMD Chart) 371
8.6 HDL Description of Design Example 381
8.7 Sequential Binary Multiplier 391
8.8 Control Logic 396
8.9 HDL Description of Binary Multiplier 402
8.10 Design with Multiplexers 411
8.11 Race-Free Design (Software Race Conditions) 422
8.12 Latch-Free Design (Why Waste Silicon?) 425
8.13 Other Language Features 426
9 Laboratory Experiments
with Standard ICs and FPGAs 438
9.1 Introduction to Experiments 438
9.2 Experiment 1: Binary and Decimal Numbers 443
9.3 Experiment 2: Digital Logic Gates 446
9.4 Experiment 3: Simplification of Boolean Functions 448
9.5 Experiment 4: Combinational Circuits 450
9.6 Experiment 5: Code Converters 452
9.7 Experiment 6: Design with Multiplexers 453
9.8 Experiment 7: Adders and Subtractors 455
9.9 Experiment 8: Flip-Flops 457
9.10 Experiment 9: Sequential Circuits 460
9.11 Experiment 10: Counters 461
9.12 Experiment 11: Shift Registers 463
9.13 Experiment 12: Serial Addition 466
9.14 Experiment 13: Memory Unit 467
9.15 Experiment 14: Lamp Handball 469
9.16 Experiment 15: Clock-Pulse Generator 473
9.17 Experiment 16: Parallel Adder and Accumulator 475
9.18 Experiment 17: Binary Multiplier 478
9.19 Verilog HDL Simulation Experiments
and Rapid Prototyping with FPGAs 480
10 Standard Graphic Symbols 488
10.1 Rectangular-Shape Symbols 488
10.2 Qualifying Symbols 491
10.3 Dependency Notation 493
10.4 Symbols for Combinational Elements 495
10.5 Symbols for Flip-Flops 497
10.6 Symbols for Registers 499
10.7 Symbols for Counters 502
10.8 Symbol for RAM 504
Appendix 507
Answers to Selected Problems 521
Index 539
第五版前言
自從《數字設計(第四版)》齣版以來, 基於數字技術來接收、 控製和傳輸信息的設備在商業領域中的應用呈現快速增長的趨勢, 新的手機和手持移動設備層齣不窮, 性能也在大幅提升。在這些美觀的用戶界麵之下,使用二進製代碼進行數據傳輸的二進製係統扮演瞭很重要的角色。這些係統的基本理論並沒有發生太大變化,然而製造商對某些核心理論的完善, 以及現代化設計工具的應用進一步推動瞭市場的發展。因此, 為適應新技術, 本書精煉瞭內容並且加強瞭對數字器件的傳統理解和現代設計方法介紹。
《數字設計與Verilog實現(第五版)》的內容大部分建立在前麵四個版本基礎上的, 除此之外, 用戶的反饋也幫助我們確定瞭一部分內容編寫的方嚮。 這個版本中的內容更側重於數字設計的基礎課程以及當今主流數字係統設計技術——CMOS電路。 本書適閤的讀者範圍很廣, 計算機科學、 計算機工程以及電子工程專業的學生均可閱讀。 本書的核心內容包括: (1)布爾邏輯, (2)邏輯門, (3)同步有限狀態機, (4) 數據通路控製器。所有這些都是要通過數字係統的設計來實現的。
該版同時取消瞭一些電子電路的內容,所以讀者可能無法再找到有關異步狀態機或者雙極型晶體管的描述。 另外, 隨著網絡上有關的輔助材料越來越多, 我們減少瞭關於FPGA的篇幅。 現在的設計者更倚重於硬件描述語言(HDL), 《數字設計與Verilog實現(第五版)》把更多的注意力放在瞭應用上, 以及怎樣纔能思路清晰地使用Verilog HDL對數字係統進行設計和開發。
多樣化的學習方法
《數字設計與Verilog實現(第五版)》提供瞭多樣化的學習方法。稱作VARK的學習方法區分瞭四種主要的學習模式: (V) Visual, 視覺; (A) Aural, 聽覺; (R) Reading, 閱讀; (K)Kinesthetic, 動覺。 VARK方法以及範例可以用來支持課堂教學。本書中提供瞭高標準的圖例圖解(Visual), 對於大量的範例及討論, 學生使用免費的模擬器進行實驗, 內容包括怎樣設計一個邏輯係統並使它正常工作(Kinesthetic), 而最後的聽覺(Aural)部分的內容則交給教師來完成。 因此, 使用《數字設計與Verilog實現(第五版)》來開展數字設計課程教學, 可以給學生帶來豐富且循序漸進的學習體驗。
有些人可能會對本書的內容以及第一堂課就涉及硬件描述語言(HDL)抱有疑問, 事實上我們注意到, 伴隨著新生的為集成電路設計的CAD工具的大量普及, 當今工業界已經逐步淘汰瞭20世紀80年代開始的基於原理圖的設計。原理圖創造瞭一種用接綫圖對係統功能進行描述的方法, 然而其不足之處在於對於任何人來說, 想要在較短時間內沒有任何儀器的幫助和說明書, 僅由畫在紙上的邏輯電路原理圖來確定電路功能無疑是很睏難的。因此工業界轉而把目光放在硬件描述語言(諸如Verilog HDL)上, 開始使用HDL來描述邏輯功能的設計, 並且囊括瞭功能說明、 模擬、 仿真測試以及與實際硬件係統(如標準ASIC或FPGA單元)的綜閤調試。原理圖方法隻有通過對詳細的並且精確分級的設計模塊文檔的仔細分析, 纔能達到實用的目的。較舊的範例中,設計者們依仗多年的經驗來製作電路原理圖以說明其功能。而在當今工業的設計圖中, 設計者們使用硬件描述語言來更直接、 更有效地說明數字係統的功能, 而不需要多年積纍的經驗, 同時通過綜閤的模擬工具來自動生成原理圖作為參考。工業實踐證明傳統原理圖帶來的低效能如果不被新的分析方法取代, 將會給新一代大型復雜集成電路的設計帶來巨大睏難。
我們再次說明, 在《數字設計與Verilog實現(第五版)》的第一課就涉及硬件描述語言, 並不代錶要摒棄傳統基礎理論和手工設計方法。對於學生來說理解硬件是如何工作的仍然非常重要。 因此我們保留瞭詳盡的組閤和連續邏輯模塊的內容。手工設計在鍛煉學生能力的同時, 將結果與HDL範例中得到的結果進行比較, 可以進一步加深學生對硬件知識的理解。無論如何, 我們想強調的是“硬件是如何設計的”, 為學生將來在工業上的工作實踐打下堅實基礎, 這就是為什麼基於硬件描述語言的設計實踐是至關重要的。
適用性
書中內容的次序很好地適應瞭課程需求, 是由基於傳統手工工藝的數字電路設計、 使用硬件描述語言的數字電路設計和在兩者之間或兩者混閤的課程組成。因為當今綜閤性設計工具的高度自動化使得邏輯分析最小化。卡諾圖以及其他相關的主題可以被最優化地呈現在數字設計的開始或者在使用硬件描述語言測試、 設計、 模擬電路之後。本書的內容包含瞭手工設計電路和基於硬件描述語言設計電路的範例。通過每章結尾前後參照的習題, 讓傳統手工設計任務變成采用硬件描述語言並且需要同伴一起完成的任務。通過在模擬結果、 習題的解答和手工設計的解決方案中添加注釋, 將傳統手工設計和基於硬件描述語言的電路設計有機結閤起來。
內容的更新
《數字設計與Verilog實現(第五版)》遵循最新的IEEE 1364標準, 此次修訂後的版本更新如下:
● 去除瞭一些非典型的邏輯電路(諸如RTL、 DTL、 射級耦閤邏輯電路)。
● 在每章的最後加上瞭有關“網絡搜索主題”的內容來指導學生在互聯網上進行相關內容的擴展閱讀。
● 每章最後對大約三分之一的問題進行瞭復習。
● 包含所有新的習題的解答手冊。
● 有關卡諾圖化簡的內容更加閤理。
● 增加瞭基本的CMOS技術在邏輯門上的應用。
● 附錄中包含瞭有關半導體技術的介紹。
設計方法論
這個版本對於如何在數字係統中設計狀態機來控製數據通道提供瞭一種比較係統的方法論。 此外,這些材料的框架用來解決控製器如何處理數據通道發齣的信號等實際問題,例如係統反饋(響應)的問題。 因此, 我們提供瞭設計復雜交互數字係統的基本方法。這種方法論在人工以及基於硬件描述語言的設計中都可以得到運用。
閤適的HDL內容
僅僅局限於介紹硬件描述語言的語法是遠遠不夠的,書中隻在需要的地方提供瞭這些Verilog語法元素, 而且正確的語法並不意味著這個電路模塊就能夠正常實現它的功能或者順利組閤成一個物理硬件。我們希望學生能夠通過生産實踐,確認手工模型能夠有效地被綜閤成物理硬件電路。如果不能做到這點會導緻軟件競爭問題的齣現, 並會造成模擬的結果與綜閤成物理硬件後的結果不符。同樣, 設計時不進行生産實踐也許能夠得到正確的模擬結果, 但因為設計者的方法不同, 從而在設計過程中會不經意地造成硬件閉鎖。而工業實踐會給我們提齣無競爭和無閉鎖的設計要求, 所以對學生來說, 在生産過程中學習和運用硬件描述語言模型而不是僅僅依賴於綜閤工具是十分重要的。驗證
在生産過程中的一個重要步驟是檢驗電路是否能夠正常工作。現在的數字電路教學過程中並沒有足夠地重視驗證這個環節, 而是僅僅關注設計本身,驗證通常被看成是第二位的。這種觀點會帶來一種“這個電路將會很好地工作”的不成熟的想法。同樣,生産過程中一般是通過分析模型是否“可讀、 可攜帶、 可迴收”來對基於硬件描述語言的模型進行檢驗的。通過對硬件描述語言模型進行檢驗, 可獲取可觀的收益。我們將對模型的建立和參數的使用進行討論。同時本書還將提供測試題和所有練習的解決方案, 用來(1)檢驗電路是否正常工作; (2)強調測試中的重點內容; (3)通過自測題介紹重要的概念, 例如測試平颱的自檢。我們提倡並推薦通過測試方案的研究去指導測試平颱的研製, 我們會在教材中圖文並茂地介紹和推薦一些測試的方法, 並且在教材結尾的習題答案中擴展它們。
硬件描述語言課程的內容
我們確保教材中所有的範例和所有的解決方案符閤設計數字化硬件的工業生産標準。像上一版一樣,硬件描述語言內容被放置在一個單獨的部分, 這樣可以按照教學安排進行刪減,這個版本並沒有減少關於手工設計的論述,也沒有製定講課的順序。書中的論述適閤同時學習數字電路和硬件描述語言的初學者。本書旨在幫助學生自主設計一個項目並且在以後的計算機體係結構課程中取得成功。
教師資源相關的教師資源申請方式請參見書後的“教學支持說明”。
教師可以在 www.pearsonhighered.com/mano處下載課程資源, 包括: ● 所有的硬件描述語言示例的源代碼和測試題。
● 教材中所有的數據和錶格。
● 所有在手工解決方案中的硬件描述語言模型源代碼。
● 可下載的用於課堂教學的圖形化解決方案。
HDL 模擬器
本書推薦使用兩個由SynaptiCAD(www.syncad.com)提供的模擬器。第一個是VeriLogger Pro, 這是一個傳統的能模擬硬件描述語言示例和檢驗硬件描述語言問題的模擬器。此模擬器符閤IEEE��1995標準,對舊的模型十分有用。另一個是一種交互的模擬器——Verilogger Extreme, 符閤IEEE��1995和IEEE��2001標準。這個模擬器允許設計者在完成對模型的模擬之前對自己的設計方案進行模擬和分析。這種技術對學生十分有用, 它可以快速輸入布爾邏輯和D觸發器以及鎖存器的錶達式來校驗等價性和測試觸發器及鎖存器。
各章摘要
下麵簡要介紹各章的要點。
第1章: 介紹瞭用於錶達數字係 數字設計與Verilog實現(第五版)(英文版) [Digital Design: With an Introduction to the Verilo] 下載 mobi epub pdf txt 電子書 格式
數字設計與Verilog實現(第五版)(英文版) [Digital Design: With an Introduction to the Verilo] 下載 mobi pdf epub txt 電子書 格式 2024
數字設計與Verilog實現(第五版)(英文版) [Digital Design: With an Introduction to the Verilo] 下載 mobi epub pdf 電子書數字設計與Verilog實現(第五版)(英文版) [Digital Design: With an Introduction to the Verilo] mobi epub pdf txt 電子書 格式下載 2024