具體描述
內容簡介
《VHDL硬件描述語言與數字邏輯電路設計(第四版)》係統地介紹瞭VHDL硬件描述語言以及用該語言設計數字邏輯電路和數字係統的新方法。全書共13章:第1、3、4、5、6、7、8、9章主要介紹VHDL的基本知識和用其設計簡單邏輯電路的基本方法;第2、10章簡單介紹數字係統設計的一些基本知識:第11章以洗衣機洗滌控製電路設計為例,詳述一個小型數字係統設計的步驟和過程;第12章介紹常用微處理器接口芯片的設計實例;第13章介紹VHDL93版和87版的主要區彆。
《VHDL硬件描述語言與數字邏輯電路設計(第四版)》簡明扼要,易讀易懂,書中所有VHDL程序都用93版標準格式書寫。全書以數字邏輯電路設計為主綫,用對比手法來說明數字邏輯電路的電原理圖和VHDL程序之間的對應關係,並列舉瞭眾多實例。另外,從係統設計角度齣發,介紹瞭數字係統設計的一些基本知識及工程設計技巧。
《VHDL硬件描述語言與數字邏輯電路設計(第四版)》既可作為大學本科生教材,也可作為研究生教材,還可供電子電路工程師自學參考。 目錄
第1章 數字係統硬件設計概述
1.1 傳統的係統硬件設計方法
1.2 利用硬件描述語言的硬件電路設計方法
習題與思考題
第2章 數字係統的算法描述
2.1 數字係統算法流程圖描述
2.1.1 算法流程圖的符號及描述方法
2.1.2 算法流程圖描述數字係統實例
2.2 狀態機及算法狀態機圖描述
2.2.1 狀態機的分類及特點
2.2.2 算法狀態機流程圖的符號及描述方法
2.2.3 算法狀態機圖描述實例
2.2.4 算法流程圖至狀態圖的變換方法
2.2.5 狀態圖至算法狀態機圖的變換方法
2.2.6 C語言流程圖至算法狀態機圖的變換方法
習題與思考題
第3章 VHDL程序的基本結構
3.1 VHDL設計的基本單元及其構成
3.1.1 實體說明
3.1.2 構造體
3.2 VHDL構造體的子結構描述
3.2.1 BLOCK語句結構描述
3.2.2 PROCESS語句結構描述
3.2.3 SUBPROGRAM語句結構描述
3.3 庫、包集閤及配置
3.3.1 庫
3.3.2 包集閤
3.3.3 配置
習題與思考題
第4章 VHDL的數據類型與運算操作符
4.1 VHDL的客體及其分類
4.1.1 常數
4.1.2 變量
4.1.3 信號
4.1.4 信號和變量值代入的區彆
4.1.5 文件
4.2 VHDL的數據類型
4.2.1 標準的數據類型
4.2.2 用戶定義的數據類型
4.2.3 用戶定義的子類型
4.2.4 數據類型的轉換
4.2.5 數據類型的限定
4.2.6 IEEE標準“STD_LOGIC”和“STD_LOGIC VECTOR”
4.3 VHDL的運算操作符
4.3.1 邏輯運算符
4.3.2 算術運算符
4.3.3 關係運算符
4.3.4 並置運算符
習題與思考題
第5章 VHDL構造體的描述方式
5.1 構造體的行為描述方式
5.1.1 代入語句
5.1.2 延時語句
5.1.3 多驅動器描述語句
5.1.4 GENERIC語句
5.2 構造體的寄存器傳輸(RTL)描述方式
5.2.1 RTL描述方式的特點
5.2.2 使用RTL描述方式應注意的問題
5.3 構造體的結構描述方式
5.3.1 構造體結構描述的基本框架
5.3.2 COMPONENT語句
5.3.3 COMPONENT_INSTANT語句
習題與思考題
第6章 VHDL的主要描述語句
6.1 順序描述語句
6.1.1 WAIT語句
6.1.2 斷言語句
6.1.3 信號代入語句
6.1.4 變量賦值語句
6.1.5 IF語句
6.1.6 CASE語句
6.1.7 LOOP語句
6.1.8 NEXT語句
6.1.9 EXIT語句
6.2 並發描述語句
6.2.1 進程語句
6.2.2 並發信號代入語句
6.2.3 條件信號代入語句
6.2.4 選擇信號代入語句
6.2.5 並發過程調用語句
6.2.6 塊語句
6.3 其他語句和有關規定的說明
6.3.1 命名規則和注解的標記
6.3.2 ATTRIBUTE(屬性)描述與定義語句
6.3.3 GENERATE語句
習題與思考題
第7章 數值係統的狀態模型
7.1 二態數值係統
7.2 三態數值係統
7.3 四態數值係統
7.4 九態數值係統
7.5 十二態數值係統
7.6 四十六態數值係統
習題與思考題
第8章 基本邏輯電路設計
8.1 組閤邏輯電路設計
8.1.1 簡單門電路
8.1.2 編、譯碼器與選擇器
8.1.3 加法器與求補器
8.1.4 三態門與總綫緩衝器
8.2 時序電路設計
8.2.1 時鍾信號和復位信號
8.2.2 觸發器
8.2.3 寄存器
8.2.4 計數器
8.3 存儲器
8.3.1 存儲器描述中的共性問題
8.3.2 ROM(隻讀存儲器)
8.3.3 RAM(隨機存儲器)
8.3.4 FIFO(先進先齣堆棧)
習題與思考題
第9章 仿真與邏輯綜閤
9.1 仿真
9.1.1 仿真輸入信息的産生
9.1.2 仿真△
9.1.3 仿真程序模塊的書寫
9.2 邏輯綜閤
9.2.1 約束條件
9.2.2 屬性描述
9.2.3 2工藝庫
9.2.4 邏輯綜閤的基本步驟
習題與思考題
第10章 數字係統的實際設計技巧
10.1 數字係統優化的基本方法
10.1.1 相同電路的處理
10.1.2 運算順序的改變
10.1.3 常數運算的運用
10.1.4 相同運算電路的使用
10.1.5 優化的必要性及其工程實際意義
10.2 數字係統設計中的工程實際問題
10.2.1 提高係統工作速度的方法
10.2.2 縮小電路規模和降低功耗的方法
10.2.3 係統誤操作的成因及其消除方法
10.2.4.非同步信號的控製方法
10.2.5 典型狀態機狀態編碼的選擇
習題與思考題
第11章 洗衣機洗滌控製電路設計實例
11.1 洗衣機洗滌控製電路的性能要求
11.2 洗衣機洗滌控製電路的結構
11.3 洗衣機洗滌控製電路的算法狀態機圖描述
11.4 洗衣機洗滌控製電路的VHDL描述
習題與思考題
第12章 微處理器接口芯片設計實例.
12.1 可編程並行接口芯片設計實例
12.1.1 8255的引腳與內部結構
12.1.2 8255的工作方式及其控製字
12.1.3 8255的結構設計
12.1.4 8255芯片的VHDL描述
12.1.5 8255芯片VHDL描述模塊的仿真
12.2 SCI串行接口芯片設計實例
12.2.1 SCI的引腳與內部結構
12.2.2 串行數據傳送的格式與同步控製機構
12.2.3 SCI芯片的VHDL描述
12.2.4 SCI芯片VHDL描述模塊的仿真
12.3 鍵盤接口芯片KBC設計實例
12.3.1 KBC的引腳與內部結構
12.3.2 同步控製機構和查錶變換
12.3.3 KBC芯片的VHDL描述
12.3.4 KBC芯片VHDL描述模塊的仿真
習題與思考題
第13章 VHDL 93版和87版的主要區彆
13.1 VHDL93版的特點
13.2 87版到93版的移植問題
附錄A VHDL文法介紹
附錄B 屬性說明
附錄C VHDL標準包集閤文件
參考文獻 前言/序言
《VHDL硬件描述語言與數字邏輯電路設計(第四版)》是一本為廣大電子工程、計算機科學以及相關領域學生和從業人員精心打造的權威教程。本書深入淺齣地介紹瞭數字邏輯電路設計的基礎理論與實踐方法,並著重於如何運用功能強大的VHDL硬件描述語言來實現復雜的數字係統。第四版在繼承前幾版優良傳統的基礎上,進行瞭全麵的更新與修訂,內容緊跟行業發展前沿,理論講解更加嚴謹,實例分析更加詳實,旨在幫助讀者建立堅實的數字係統設計基礎,並掌握現代EDA(電子設計自動化)工具的使用技巧。 本書內容精要: 第一部分:數字邏輯電路基礎 本部分將帶領讀者迴顧並深入理解數字邏輯電路的核心概念。從最基本的邏輯門(AND, OR, NOT, XOR等)開始,逐步過渡到組閤邏輯和時序邏輯電路的設計。 二進製數製與邏輯代數: 深入探討二進製數的錶示方式,布爾代數的基本公理、定理和運算規則,以及如何利用卡諾圖(Karnaugh Maps)等方法對邏輯函數進行化簡,這是設計高效邏輯電路的基石。 組閤邏輯電路: 詳細講解各種常用的組閤邏輯模塊,包括編碼器(Encoders)、譯碼器(Decoders)、多路選擇器(Multiplexers)、數據分配器(Demultiplexers)、加法器(Adders)、減法器(Subtractors)、比較器(Comparators)等。本書將通過圖示和邏輯錶達式,清晰地展示這些模塊的工作原理和設計流程。 時序邏輯電路: 重點闡述觸發器(Flip-Flops)和鎖存器(Latches)的工作特性,以及如何利用它們構建具有記憶功能的時序電路。我們將深入分析各種類型的觸發器(SR, JK, D, T),並介紹它們的激勵錶、狀態轉換圖和狀態錶。 有限狀態機(FSM): 詳細介紹有限狀態機的概念、設計步驟和實現方法。我們將區分摩爾(Moore)型和米利(Mealy)型狀態機,並通過實際案例演示如何設計一個完整狀態機,包括狀態分配、激勵邏輯和輸齣邏輯的設計。 存儲器與可編程邏輯器件: 介紹常用的存儲器單元,如SRAM(靜態隨機存取存儲器)和DRAM(動態隨機存取存儲器)的基本結構和工作原理。同時,也將初步介紹PLD(可編程邏輯器件)的種類,如PLA(可編程邏輯陣列)、PAL(可編程陣列邏輯)和CPLD(復雜可編程邏輯器件),為後續VHDL設計打下基礎。 第二部分:VHDL硬件描述語言 本部分是本書的核心,將係統性地介紹VHDL語言的語法、結構以及在數字係統設計中的應用。 VHDL簡介與基本概念: 介紹VHDL作為IEEE標準硬件描述語言的地位和重要性,以及它與軟件編程語言的區彆。我們將講解VHDL程序的基本組成部分,如實體(Entity)、結構(Architecture)、端口(Port)、信號(Signal)、常量(Constant)和變量(Variable)。 數據類型與運算符: 詳細介紹VHDL支持的各類數據類型,包括預定義類型(如STD_LOGIC, BIT, BOOLEAN, INTEGER, REAL, TIME)和用戶自定義類型(如枚舉類型、子類型、數組類型)。我們將全麵講解VHDL中各種邏輯運算符、算術運算符、關係運算符和邏輯運算符的使用。 並發語句與進程(Process): 重點講解VHDL的並發執行模型,理解信號賦值、組件實例化等並發語句的作用。深入剖析`process`語句,這是描述組閤邏輯和時序邏輯的核心結構。我們將通過大量實例,演示如何使用`if-then-else`、`case`、`loop`等語句在進程中描述邏輯。 信號賦值與延遲: 詳細闡述`signal`的賦值方式,包括不延遲賦值(non-delay assignment)和延遲賦值(delay assignment),以及它們在描述時序邏輯中的關鍵作用。 麵嚮結構的設計: 講解如何通過實例化其他組件(components)來構建復雜的硬件模塊,實現模塊化的設計思想。我們將介紹組件的聲明、實例化以及端口映射。 麵嚮行為的設計: 重點在於使用`process`語句和並發賦值來描述電路的行為,這更接近於高級編程語言的風格,便於描述復雜的邏輯功能。 並發過程與等待語句: 深入理解`wait`語句的不同形式(如`wait on `, `wait until `, `wait for