發表於2024-11-15
VHDL數字設計與計算機設計基礎/世界著名計算機教材精選 pdf epub mobi txt 電子書 下載
(1)以循序漸進的方式,由淺入深地介紹數字計算機設計的理論和方法。
(2)利用VHDL語言和可編程邏輯器件完成瞭一個非常基本的計算機設計。
(3)可作為計算機工程、計算機科學和電子工程等專業的數字設計、計算機設計以及匯編語言編程的教材。
在數字設計所涵蓋的章節中,第1章介紹布爾代數的相關知識,引入通用的硬件描述語言VHDL來描述簡單的組閤邏輯電路,以便讀者可以根據需要使用來自不同公司的VHDL工具。第2章簡述數字信號與模擬信號的不同,介紹瞭二進製數製轉換方法和二進製碼製,並給齣瞭利用卡諾圖進行組閤邏輯化簡的方法。第3章和第4章詳細介紹組閤邏輯電路的分析和設計方法,以及用VHDL如何設計此類電路。第5章和第6章給齣瞭雙穩態存儲器和簡單有限狀態機等時序邏輯電路的VHDL設計方法。第7章給齣瞭計算機設計所涉及的基本電路,特彆是加法器電路。第8章給齣瞭采用可編程邏輯器件和多路選擇器樹結構的電路實現技術。第9章介紹瞭用VHDL設計復雜有限狀態機的方法。
計算機設計部分所涵蓋的章節分成兩部分:第10~17章詳細介紹VBC1(非常基本計算機1)的指令、模塊和係統設計,第18章和第19章則在VBC1的基礎之上,設計瞭更為復雜的VBC1-E。
除此之外,本書的附錄A詳細介紹瞭讀者學習本書時的34個設計實驗,附錄B至附錄E給齣瞭完成附錄A的設計實驗所需的仿真方法、管腳綁定、EASY1工具和將指令加載到存儲器中的方法。
本書第1~4章由清華大學電子係羅嶸翻譯,第5~7章由王聰翻譯,第8~11章由汪玉翻譯,第12~16章由單羿翻譯,第17~25章由王子龍翻譯,附錄A至附錄E由王文強翻譯,全書由羅嶸審校。
第1章 布爾代數、布爾函數、VHDL和門
第2章 數製轉換、碼製和函數最簡化
第3章 邏輯電路分析和設計簡介
第4章 用VHDL實現組閤邏輯電路的設計
第5章 雙穩態存儲器件的VHDL設計
第6章 用VHDL設計簡單的有限狀態機
第7章 計算機電路
第8章 電路實現技術
第9章 復雜有限狀態機的VHDL設計
第10章 基本的計算機體係結構
第11章 VBC1的匯編語言編程
第12章 設計輸入輸齣電路
第13章 設計指令存儲器、加載程序計數器和去抖動電路
第14章 設計多路顯示係統
第15章 設計指令譯碼器
第16章 設計算術邏輯單元
第17章 完成VBC1的設計
第18章 VBC1-E的匯編語言編程
第19章 設計VBC1-E的輸入輸齣電路
第20章 設計VBC1-E的數據存儲器電路
第21章 設計VBC1-E的算術、邏輯、移位、鏇轉和無條件跳轉電路
第22章 設計VBC1-E中手動載入時阻止程序執行的電路
第23章 設計VBC1-E的擴展指令存儲器
第24章 設計VBC1-E的軟件中斷電路
第25章 完成VBC1-E的設計
附錄
本書可作為大學一年級學生的數字設計課程的教材,也可作為大學二年級或以上學生的計算機設計課程的教材。本書所涉及的內容適閤學習計算機工程、計算機科學和電機工程的學生。本書使用螺鏇式教學方式:先提齣設計問題,然後在相同的章節或後麵的章節中,或者當齣現一個不同的設計問題時再強調相同的概念,或者用不同的技術研究相同的問題。這樣做可以加強記憶。
本書無須先修內容,但是計算機導論及初級編程課程通常會對學生學習VHDL和匯編語言編程有所幫助。
本書主要特點
* 本書講授和使用通用的VHDL代碼,以便讀者可以根據需要使用來自不同公司的VHDL工具。
* 課程中為瞭平衡,可同時講授傳統和現代VHDL設計。
* 使用作為互動工具的卡諾圖瀏覽器程序,教給學生使用兩變量、三變量和四變量卡諾圖的方法。
* 教會學生如何設計4位教學版的VBC1(非常基本計算機1)和VBC1-E(VBC1的增強版本)。這兩種不同的計算機版本可以下載到開發闆上的FPGA中,且可用匯編語言編程。
* 本書提供編輯/匯編/仿真程序,用來指導學生如何編寫4位教學版計算機的程序。
* 本書提供一個存儲器加載軟件程序,來教會學生如何設計指令存儲器的加載器。
* 每章都有一個或多個實驗,並用數字編號;許多實驗設置瞭推薦的課前作業,這些作業與編寫匯編語言程序或者進行仿真有關。
* 按照書中的每一節給齣相應的課後習題。
章節和內容概述
在本書的數字設計部分,第1~9章覆蓋瞭如下內容:
* 第1章介紹組閤邏輯電路的VHDL(超高速集成電路硬件描述語言)。
* 提供瞭34個實驗,以便學生們通過實踐來學習。實驗1A至9B為學生們提供瞭學習如何在實驗室設計數字設計的VHDL電路實踐。實驗的編號與章節的編號對應。可用這些實驗布置傢庭作業或者特彆的大作業。
* 第2章給學生們引入一個使用字母顯示係統的七段顯示器,學生們可以通過VHDL在FPGA開發闆上設計且構建它,來顯示滑動開關的高(H)電平或者低(L)電平。該章還介紹瞭作為交互工具的卡諾圖瀏覽器程序,用於教給學生掌握具有兩變量、三變量和四變量的卡諾圖。
* 第3章介紹一種手工設計與非/與非和或非/或非形式的組閤電路的圖形設計方法,然後介紹用VHDL實現的等價設計。該章引入瞭譯碼器和多路選擇器,以及使用譯碼器和多路選擇器設計電路的手工方法。緊跟這些方法之後的是使用VHDL實現等價設計。該章還介紹瞭函數和邏輯現象,並嚮學生展示瞭如何用邏輯險象覆蓋項來消除邏輯險象。
* 第4章介紹組閤邏輯電路的VHDL設計,完整地介紹瞭數據流、行為和結構設計風格。該章提供瞭包括標量和矢量輸入及輸齣的VHDL實例。
* 第5章給齣置位-復位(S-R)鎖存器、D鎖存器和D觸發器的傳統設計以及VHDL設計。該章讓學生學習如何設計D邊沿觸發的觸發器。實驗5A提供瞭一個D鎖存器和一個帶CLR(清零)輸入的上升沿觸發的D觸發器實踐。實驗5B提供瞭一個8位寄存器和一個帶PRE(預置)輸入的上升沿觸發的D觸發器實踐。
* 有限狀態機設計分為簡單和復雜狀態機。簡單狀態機是沒有外部輸入來改變計數序列的基本計數器。復雜狀態機具有外部輸入來改變技術序列。第6章介紹簡單狀態機。該章給齣簡單狀態機的算法方程法,以展示給學生們如何手工設計簡單狀態 機。該方法實際上可以處理任意大小的狀態機,但是它單調枯燥,因為學生必須掌握如何寫D激勵方程。學生學習如何使用算術方法,當生成一個更慢的時鍾頻率(或者分頻器)時,此方法特彆有用。此外,本書引入現態/次態(PS/NS)錶格化方法,允許學生使用過程來寫齣基本計數器的VHDL方程,省去瞭獲得D激勵方程的麻煩。本章與傳統的狀態圖一起引入瞭一種稱為計數或者狀態序列圖的新計數器設計描述。
* 第7章給齣瞭包含三狀態輸齣、數據總綫共享、加法器和減法器設計、逐次進位加法器以及超前進位加法器的不同計算機電路。實驗7A和7B提供瞭與第7章相關的特殊組閤邏輯係統的設計實踐,即一個簡單(單比特)錯誤檢測係統和一個4位簡單加-減係統。
* 第8章給齣的電路實現技術展示瞭可編程邏輯器件的實現,即PROM、PLA、PAL、GAL和LUT。該章還包括瞭正邏輯規則和直接極性指示以及如何轉換這兩種錶示的簡單介紹。該章給齣瞭模塊化設計方法,以展示如何設計MUX和DMUX樹。實驗8給齣瞭LUT設計係統的設計和測試實驗。
* 第9章使用雙進程PS/NS方法的復雜狀態機的VHDL設計。第一個稱為同步過程的進程生成觸發器,而第二個稱為組閤過程的進程譯碼次態函數以及設計中可能齣現的摩爾和米利輸齣。該章還給齣瞭復雜可編程邏輯器件(CPLD)和FPGA所用的狀態機編碼風格。實驗9A提供瞭使用平麵設計方法來設計單熱遞增/遞減計數器係統的設計實踐。實驗9B提供瞭使用層次設計方法來設計十狀態的計數器係統的設計實踐。該章引入一個同步器電路,通過減少亞穩態的齣現概率來改進復雜狀態機設計的可靠性。為瞭討論的完整性,該章給齣兩種附加的狀態機設計方法:雙賦值PS/NS法和混閤PS/NS法。
在本書的計算機設計部分,第10~17章覆蓋瞭如下內容:
* 在簡單介紹哈佛型和普林斯頓(馮·諾依曼)型的計算機結構後,第10章給學生們介紹瞭一個稱為VBC1(Very Basic Computer)的非常基本的哈佛型計算機。學生學習VBC1編程器的寄存器模型、指令集結構以及編寫匯編語言的格式。學生可通過實驗10中編寫VBC1的匯編語言程序來獲得其初次體驗。附錄D提供瞭稱為EASY1的編輯器/匯編器/仿真器1的手冊。
* 第11章給齣瞭VBC1所有指令的匯編程序形式、轉移函數形式以及機器碼形式。該章還給齣瞭VBC1的編程實例和技術。
* 與第12~17章對應的實驗允許學生通過FPGA構建、設計和實現VBC1,如果一周完成一個實驗,一共需要六周。每周完成的實驗數目可由講授實驗課程的老師決定。這些實驗提供瞭推薦的實驗前準備內容。
* 第12章介紹瞭VBC1輸入輸齣(I/O)電路的設計,主要講述總綫分發電路、可加載D寄存器、發光二極管(LED)驅動以及七段顯示驅動。
* 第13章給齣瞭指令存儲器(用於存儲程序)、加載程序計數器(用於加載指令存儲器)以及去抖動電路(用於單步執行指令存儲器)的設計。該章還著重介紹瞭門控時鍾電路以及如何移齣它們。
* 第14章介紹VBC1多路顯示係統的設計。為瞭提供額外的實踐,學生在該章學習如何設計一個字顯示係統。
* 第15章介紹VBC1指令譯碼器的設計,因為必須譯碼每條指令來自動完成指令的執行。
* 第16章介紹VBC1算術邏輯單元(ALU)的設計。除瞭一個擴展的ALU設計,學生還學習如何用VHDL設計如下電路:移位器電路、桶形移位器電路以及移位寄存器電路。
* 第17章給齣瞭VBC1的最終設計,其中包括允許VBC1在指定的時鍾頻率下運行的運行程序計數器。所設計的實驗17L提供瞭通過存儲器加載程序自動加載程序到VBC1的指令存儲器的功能。至此,可通過滑動開關手動加載指令存儲器,或者通過VBC1的VHDL代碼中指令存儲器的初始化預先加載。
在本書的計算機設計部分,第18~25章覆蓋瞭如下內容:
* 第18章給齣瞭VBC1-E所有指令的匯編程序形式、轉移函數形式以及機器碼形式,包括修改的IN和OUT指令(每個都是4端口)、附加的數據存儲器指令(STORE和FETCH)、附加的算術和邏輯指令(SUB、NOT、AND、OR和XNOR)、附加的移位和鏇轉指令(SR1、SL0、SL1、RR和RL)、附加的控製指令(JMP、JMPR和HALT)、附加的軟件中斷指令(INT和IRET)以及硬件中斷功能。VBC1-E的EASY1-E匯編器中還包括瞭兩個匯編命令(BIPROC和EQU)。實驗18提供給學生書寫和仿真VBC1和VBC1-E匯編語言程序的動手實踐。
* 與第19~25章對應的實驗允許學生通過FPGA構建、設計和實現VBC1-E,如果一周完成一個實驗,一共需要七周。每周完成的實驗數目可由講授實驗課程的老師決定。
* 第19章介紹如何擴展VBC1的I/O設計來得到VBC1-E,包括重新設計指令譯碼 器來處理指令IN和OUT的擴展I/O設計。
* VBC1中不存在數據存儲器,所以第20章覆蓋瞭VBC1-E的具有四個存儲位置的簡單數據存儲器的設計。
* 第21章中,學生學習如何增強VBC1的ALU設計,來包含新的算術和邏輯指令,以及新的移位和鏇轉指令,包括處理附加指令的指令譯碼器的重新設計。該章給齣瞭新控製指令JMP、JMPR和HALT的設計,以及重新設計指令譯碼器來處理這些新指令。
* 第22章是非常短的一章,介紹如何設計一個在手工加載過程中阻止程序執行的電路。學生經常發現VBC1-E的手動加載是分散的,於是齣現瞭本書的該章。
* VBC1-E具有附加的存儲位置,且第23章覆蓋瞭指令存儲器的修改,來包括附加的存儲位置。
* VBC1-E具有新的軟件中斷指令,且第24章覆蓋瞭處理指令INT和IRET所需的電路設計。重新設計指令譯碼器來處理這些新指令。
* 第25章給齣瞭VBC1-E的最終設計,其中包括硬件中斷功能的設計。所設計的實驗25L提供瞭通過存儲器加載程序自動加載程序到VBC1-E的指令存儲器的功能。
網絡資源
網站www.mhhe.com/sandige將一些有用的資源提供給學生和教師。學生可以下載本書所用的程序,例如卡諾圖瀏覽器程序、EASY1程序和存儲器加載程序。幻燈片、每章結尾處的習題的答案、實驗前的激勵手段以及實驗設計結果隻對教師開放。
無錯不成書。如果讀者發現瞭未被發現的錯誤,請將你的評論發郵件給richard@sandige.com。本書網站上會將已發現的錯誤的最新列錶提供給所有讀者。
Richard Sandige
Michael Sandige
在數字設計所涵蓋的章節中,第1章介紹布爾代數的相關知識,引入通用的硬件描述語言VHDL來描述簡單的組閤邏輯電路,以便讀者可以根據需要使用來自不同公司的VHDL工具。第2章簡述數字信號與模擬信號的不同,介紹瞭二進製數製轉換方法和二進製碼製,並給齣瞭利用卡諾圖進行組閤邏輯化簡的方法。第3章和第4章詳細介紹組閤邏輯電路的分析和設計方法,以及用VHDL如何設計此類電路。第5章和第6章給齣瞭雙穩態存儲器和簡單有限狀態機等時序邏輯電路的VHDL設計方法。第7章給齣瞭計算機設計所涉及的基本電路,特彆是加法器電路。第8章給齣瞭采用可編程邏輯器件和多路選擇器樹結構的電路實現技術。第9章介紹瞭用VHDL設計復雜有限狀態機的方法。
評分在數字設計所涵蓋的章節中,第1章介紹布爾代數的相關知識,引入通用的硬件描述語言VHDL來描述簡單的組閤邏輯電路,以便讀者可以根據需要使用來自不同公司的VHDL工具。第2章簡述數字信號與模擬信號的不同,介紹瞭二進製數製轉換方法和二進製碼製,並給齣瞭利用卡諾圖進行組閤邏輯化簡的方法。第3章和第4章詳細介紹組閤邏輯電路的分析和設計方法,以及用VHDL如何設計此類電路。第5章和第6章給齣瞭雙穩態存儲器和簡單有限狀態機等時序邏輯電路的VHDL設計方法。第7章給齣瞭計算機設計所涉及的基本電路,特彆是加法器電路。第8章給齣瞭采用可編程邏輯器件和多路選擇器樹結構的電路實現技術。第9章介紹瞭用VHDL設計復雜有限狀態機的方法。
評分在數字設計所涵蓋的章節中,第1章介紹布爾代數的相關知識,引入通用的硬件描述語言VHDL來描述簡單的組閤邏輯電路,以便讀者可以根據需要使用來自不同公司的VHDL工具。第2章簡述數字信號與模擬信號的不同,介紹瞭二進製數製轉換方法和二進製碼製,並給齣瞭利用卡諾圖進行組閤邏輯化簡的方法。第3章和第4章詳細介紹組閤邏輯電路的分析和設計方法,以及用VHDL如何設計此類電路。第5章和第6章給齣瞭雙穩態存儲器和簡單有限狀態機等時序邏輯電路的VHDL設計方法。第7章給齣瞭計算機設計所涉及的基本電路,特彆是加法器電路。第8章給齣瞭采用可編程邏輯器件和多路選擇器樹結構的電路實現技術。第9章介紹瞭用VHDL設計復雜有限狀態機的方法。
評分在數字設計所涵蓋的章節中,第1章介紹布爾代數的相關知識,引入通用的硬件描述語言VHDL來描述簡單的組閤邏輯電路,以便讀者可以根據需要使用來自不同公司的VHDL工具。第2章簡述數字信號與模擬信號的不同,介紹瞭二進製數製轉換方法和二進製碼製,並給齣瞭利用卡諾圖進行組閤邏輯化簡的方法。第3章和第4章詳細介紹組閤邏輯電路的分析和設計方法,以及用VHDL如何設計此類電路。第5章和第6章給齣瞭雙穩態存儲器和簡單有限狀態機等時序邏輯電路的VHDL設計方法。第7章給齣瞭計算機設計所涉及的基本電路,特彆是加法器電路。第8章給齣瞭采用可編程邏輯器件和多路選擇器樹結構的電路實現技術。第9章介紹瞭用VHDL設計復雜有限狀態機的方法。
評分在數字設計所涵蓋的章節中,第1章介紹布爾代數的相關知識,引入通用的硬件描述語言VHDL來描述簡單的組閤邏輯電路,以便讀者可以根據需要使用來自不同公司的VHDL工具。第2章簡述數字信號與模擬信號的不同,介紹瞭二進製數製轉換方法和二進製碼製,並給齣瞭利用卡諾圖進行組閤邏輯化簡的方法。第3章和第4章詳細介紹組閤邏輯電路的分析和設計方法,以及用VHDL如何設計此類電路。第5章和第6章給齣瞭雙穩態存儲器和簡單有限狀態機等時序邏輯電路的VHDL設計方法。第7章給齣瞭計算機設計所涉及的基本電路,特彆是加法器電路。第8章給齣瞭采用可編程邏輯器件和多路選擇器樹結構的電路實現技術。第9章介紹瞭用VHDL設計復雜有限狀態機的方法。
評分在數字設計所涵蓋的章節中,第1章介紹布爾代數的相關知識,引入通用的硬件描述語言VHDL來描述簡單的組閤邏輯電路,以便讀者可以根據需要使用來自不同公司的VHDL工具。第2章簡述數字信號與模擬信號的不同,介紹瞭二進製數製轉換方法和二進製碼製,並給齣瞭利用卡諾圖進行組閤邏輯化簡的方法。第3章和第4章詳細介紹組閤邏輯電路的分析和設計方法,以及用VHDL如何設計此類電路。第5章和第6章給齣瞭雙穩態存儲器和簡單有限狀態機等時序邏輯電路的VHDL設計方法。第7章給齣瞭計算機設計所涉及的基本電路,特彆是加法器電路。第8章給齣瞭采用可編程邏輯器件和多路選擇器樹結構的電路實現技術。第9章介紹瞭用VHDL設計復雜有限狀態機的方法。
評分在數字設計所涵蓋的章節中,第1章介紹布爾代數的相關知識,引入通用的硬件描述語言VHDL來描述簡單的組閤邏輯電路,以便讀者可以根據需要使用來自不同公司的VHDL工具。第2章簡述數字信號與模擬信號的不同,介紹瞭二進製數製轉換方法和二進製碼製,並給齣瞭利用卡諾圖進行組閤邏輯化簡的方法。第3章和第4章詳細介紹組閤邏輯電路的分析和設計方法,以及用VHDL如何設計此類電路。第5章和第6章給齣瞭雙穩態存儲器和簡單有限狀態機等時序邏輯電路的VHDL設計方法。第7章給齣瞭計算機設計所涉及的基本電路,特彆是加法器電路。第8章給齣瞭采用可編程邏輯器件和多路選擇器樹結構的電路實現技術。第9章介紹瞭用VHDL設計復雜有限狀態機的方法。
評分在數字設計所涵蓋的章節中,第1章介紹布爾代數的相關知識,引入通用的硬件描述語言VHDL來描述簡單的組閤邏輯電路,以便讀者可以根據需要使用來自不同公司的VHDL工具。第2章簡述數字信號與模擬信號的不同,介紹瞭二進製數製轉換方法和二進製碼製,並給齣瞭利用卡諾圖進行組閤邏輯化簡的方法。第3章和第4章詳細介紹組閤邏輯電路的分析和設計方法,以及用VHDL如何設計此類電路。第5章和第6章給齣瞭雙穩態存儲器和簡單有限狀態機等時序邏輯電路的VHDL設計方法。第7章給齣瞭計算機設計所涉及的基本電路,特彆是加法器電路。第8章給齣瞭采用可編程邏輯器件和多路選擇器樹結構的電路實現技術。第9章介紹瞭用VHDL設計復雜有限狀態機的方法。
評分在數字設計所涵蓋的章節中,第1章介紹布爾代數的相關知識,引入通用的硬件描述語言VHDL來描述簡單的組閤邏輯電路,以便讀者可以根據需要使用來自不同公司的VHDL工具。第2章簡述數字信號與模擬信號的不同,介紹瞭二進製數製轉換方法和二進製碼製,並給齣瞭利用卡諾圖進行組閤邏輯化簡的方法。第3章和第4章詳細介紹組閤邏輯電路的分析和設計方法,以及用VHDL如何設計此類電路。第5章和第6章給齣瞭雙穩態存儲器和簡單有限狀態機等時序邏輯電路的VHDL設計方法。第7章給齣瞭計算機設計所涉及的基本電路,特彆是加法器電路。第8章給齣瞭采用可編程邏輯器件和多路選擇器樹結構的電路實現技術。第9章介紹瞭用VHDL設計復雜有限狀態機的方法。
VHDL數字設計與計算機設計基礎/世界著名計算機教材精選 pdf epub mobi txt 電子書 下載