《數字電路與邏輯設計》是普通高等教育“十一五”國家級規劃教材!稊底蛛娐放c邏輯設計》系統地介紹了數字電路與邏輯設計的基本概念及分析和設計方法。《數字電路與邏輯設計》的編寫本著經典和現代相結合的原則,對于經典的概念、原理和方法進行準確的、深入淺出的講解;對于現代的數字技術和設計方法,則是有針對性地選擇了一些最新的設計理念和方法!稊底蛛娐放c邏輯設計》普遍采用了邏輯仿真的波形圖,使得分析和設計的結果更有真實感。全書共分9章,包括數字電路中的數和編碼、邏輯代數基礎、集成門電路、組合邏輯電路的分析和設計、集成觸發器、時序邏輯電路的分析和設計、大規模數字集成電路、數/模和模/數轉換、VHDL描述邏輯電路等內容!稊底蛛娐放c邏輯設計》可作為高等院校通信、信息、電子工程、計算機、自動化等相關專業的本科教材,也可供相關專業的研究生和工程技術人員閱讀參考。
“數字電路與邏輯設計”是各高等院校多數工科專業的一門必修的專業基礎課。課程的特點可以用“經典”、“現代”來概括!敖浀洹笔侵刚n程的基本概念和基本理論是非常經典的;“現代”是指數字技術是現代發展最快的技術之一,必須以最新的數字技術成果充實到“數字電路與邏輯設計”課程和教材中來,保持課程和教材與現代數字技術的同步推進。
本書的編寫就是遵循了經典和現代相結合的原則。對于經典的概念、原理和方法既要保證講解深入淺出、通俗易懂,同時對于有些傳統的說法作了一些修正,使概念能夠更加準確。對于一些以前強調不夠的內容,如緩沖器、鎖存器等,增加了篇幅,以便為后續課程的學習打下良好的基礎。本書保持了1990年版《數字電路與邏輯設計》文字流暢、易學易懂的風格,力求使讀者看得懂,學得會。
在力圖使得本書符合現代數字技術發展要求方面,做了以下幾方面的工作。首先是引入了硬件描述語言(VHDL)及相應的技術。VHDL描述是用一章的篇幅來介紹的,內容上是3個獨立的部分:語言基礎、組合電路描述和時序電路描述。在教學使用時可以分散在其他相應章節后面來講,也可以集中來講,或者根據實驗的需要來選用。本書所使用的VHDL例子,全部在Quartus II平臺上進行了驗證,并給出了仿真波形。
其次是引入了邏輯仿真。邏輯仿真不僅僅是重要的設計技術,也是一種現代的學習方法。書中對于許多組合和時序電路都給出了輸入和輸出的仿真波形,非常有利于讀者直觀地感知理論分析的結果,并且從理論與實際結果的差別上進一步學習正確的分析方法。
第1章 數字電路中的數和編碼
1.1 十進制數的二進制編碼
1.1.1 有權碼和無權碼
1.1.2 格雷碼
1.1.3 二-十進制碼的運算
1.2 用補碼表示負數
1.2.1 補碼
1.2.2 補碼加法
本章小結
習題和思考題
第2章 數字邏輯基礎
2.1 邏輯變量和邏輯函數
2.1.1 邏輯變量和邏輯系統
2.1.2 基本邏輯運算和布爾代數公理
2.1.3 其他常用邏輯運算
2.2 布爾代數的定律和規則
2.2.1 布爾代數的基本定律
2.2.2 布爾代數的常用公式
2.2.3 布爾代數的三個規則
2.3 邏輯函數的標準表達式
2.3.1 邏輯函數的最小項表達式
2.3.2 邏輯函數的最大項表達式
2.3.3 最小項表達式和最大項表達式的關系
2.3.4 非標準表達式到標準表達式的轉換
2.3.5 任意項及其表示
2.4 代數法化簡邏輯函數
2.4.1 邏輯函數化簡的標準
2.4.2 代數化簡法
2.5 卡諾圖法化簡邏輯函數
2.5.1 卡諾圖及其構成
2.5.2 卡諾圖化簡邏輯函數的基本原理
2.5.3 如何將邏輯函數填入卡諾圖
2.5.4 卡諾圖化簡的步驟及舉例
2.6 硬件描述語言及邏輯仿真
2.6.1 硬件描述語言
2.6.2 邏輯仿真
本章小結
習題和思考題
第3章 集成邏輯門電路
3.1 數字集成電路的發展
3.2 二極管門電路
3.2.1 二極管與門
3.2.2 二極管或門電路
3.2.3 正邏輯和負邏輯
3.3 三極管反相器
3.3.1 三極管非門電路
3.3.2 三極管反相器的負載電流
3.4 TTL集成邏輯門電路
3.4.1 TTL集成與非門
3.4.2 TTL邏輯門的特性參數
3.5 其他TTL集成門電路
3.5.1 74系列集成電路
3.5.2 抗飽和TTL電路
3.5.3 TTL或非門電路
3.5.4 集電極開路門
3.5.5 TTL三態門
3.6 CMOS集成電路
3.6.1 CMOS反相器
3.6.2 其他CMOS邏輯電路
3.6.3 CMOS漏極開路門和三態門
3.6.4 CMOS傳輸門
3.6.5 CMOS集成電路的使用
3.7 ECL集成電路
3.7.1 基本ECL門的組成
3.7.2 ECL電路的特點
本章小結
習題和思考題
第4章 組合邏輯電路的分析和設計
4.1 組合邏輯電路的特點
4.2 組合邏輯電路的分析
4.2.1 組合邏輯電路的分析步驟
4.2.2 組合邏輯電路分析舉例
4.3 組合邏輯電路的設計
4.3.1 組合邏輯電路的設計步驟
4.3.2 組合邏輯電路的實現方式
4.3.3 組合邏輯電路設計舉例
4.4 中規模組合邏輯電路
4.4.1 加法器和減法器
4.4.2 編碼器
4.4.3 譯碼器
4.4.4 數據選擇器
4.4.5 數值比較器
4.4.6 奇偶校驗器/發生器
4.4.7 中規模組合電路用于邏輯設計
4.5 組合邏輯電路的競爭和冒險
4.5.1 冒險的分類
4.5.2 冒險的識別和消除
本章小結
習題和思考題
第5章 集成觸發器
5.1 時序邏輯電路的特點
5.2 觸發器的基本特性及其記憶作用
5.3 電位型觸發器
5.3.1 基本RS觸發器
5.3.2 可控RS觸發器
5.3.3 其他可控觸發器
5.3.4 電位型觸發器的局限性
5.3.5 電位型觸發器的應用:鎖存器
5.4 鐘控型觸發器
5.4.1 主從觸發器
5.4.2 邊沿觸發器
5.5 觸發器的邏輯符號
5.6 CMOS觸發器
5.6.1 帶使能端D觸發器
5.6.2 CMOS主從D觸發器
5.6.3 CMOS JK觸發器
5.7 觸發器的轉換
5.8 集成觸發器的時間參數
5.8.1 建立時間和保持時間
5.8.2 時鐘信號的時間參數
5.9 鐘控觸發器構成的常用時序電路
5.9.1 寄存器
5.9.2 移位寄存器
5.9.3 計數器
本章小結
習題和思考題
第6章 時序邏輯電路的分析和設計
6.1 時序電路的分類和描述
6.1.1 時序電路的一般分類
6.1.2 同步時序電路的分類
6.1.3 同步時序電路的描述
6.2 常用同步時序電路的分析
6.2.1 同步時序電路分析的步驟
6.2.2 同步計數器的分析
6.2.3 移位寄存器及其應用電路的分析
6.3 常用時序電路的設計
6.3.1 基本的設計步驟
6.3.2 同步計數器的設計
6.3.3 序列信號發生器
6.3.4 M序列發生器
6.4 異步計數器
6.4.1 異步計數器的基本形式
6.4.2 異步計數器的分析
6.5 中規模時序集成電路
6.5.1 中規模集成計數器
6.5.2 中規模計數器的應用
6.5.3 中規模移位寄存器
6.5.4 中規模移位寄存器的應用
6.6 一般時序電路的分析
6.6.1 一般時序電路的特點
6.6.2 一般時序電路分析舉例
6.7 一般時序電路的設計
6.7.1 設計步驟
6.7.2 狀態表的建立
6.7.3 狀態表的簡化
6.7.4 狀態分配
本章小結
習題和思考題
第7章 大規模數字集成電路
7.1 大規模數字集成電路概述
7.1.1 大規模集成電路的分類
7.1.2 專用集成電路的分類
7.1.3 可編程邏輯器件及其發展
7.1.4 PLD的分類
7.1.5 PLD的性能特點
7.2 存儲器
7.2.1 隨機存儲器
7.2.2 只讀存儲器
7.2.3 ROM作為邏輯器件
7.2.4 存儲器容量的擴展
7.3 可編程邏輯陣列
7.3.1 PLA結構的特點
7.3.2 用PLA設計邏輯電路
7.4 可編程陣列邏輯
7.4.1 PAL的邏輯結構
7.4.2 PAL芯片示例
7.5 通用陣列邏輯
7.5.1 GAL和PAL的區別
7.5.2 輸出邏輯宏單元
7.5.3 GAL芯片示例
7.6 復雜可編程邏輯器件
7.6.1 CPLD器件的基本體系結構
7.6.2 CPLD器件結構舉例
7.6.3 宏單元的構成
7.6.4 PIA和I/O控制塊
7.6.5 CPLD產品舉例
7.7 現場可編程門陣列
7.7.1 FPGA芯片的基本結構
7.7.2 Altera公司FPGA芯片基本結構
7.7.3 邏輯陣列塊
7.7.4 邏輯單元
7.7.5 嵌入式RAM塊
7.7.6 輸入輸出單元
7.7.7 FPGA芯片的編程
7.7.8 FPGA產品舉例
7.8 CPLD和FPGA的比較
本章小結
習題和思考題
第8章 數模和模數轉換
8.1 數模轉換器
8.1.1 數模轉換器的基本要求
8.1.2 數模轉換器的主要參數
8.1.3 數模轉換器的一般框圖
8.1.4 權電阻網絡數模轉換器
8.1.5 倒T形網絡數模轉換器
8.1.6 權電流源網絡數模轉換器
8.1.7 單電流源網絡數模轉換器
8.1.8 數模轉換器的選用
8.2 模數轉換器
8.2.1 模數轉換的一般過程
8.2.2 模數轉換器的主要參數
8.2.3 逐次比較型模數轉換器
8.2.4 雙積分型模數轉換器
8.2.5 并聯比較型模數轉換器
8.2.6 ∑-Δ模數轉換器
8.2.7 流水線型模數轉換器
8.2.8 模數轉換器的選用
本章小結
習題和思考題
第9章 VHDL描述邏輯電路
9.1 基于硬件描述語言的設計過程
9.1.1 VHDL的基本特點
9.1.2 設計過程
9.1.3 Quartus II設計軟件
9.2 VHDL描述的基本結構
9.2.1 實體描述
9.2.2 結構體描述
9.2.3 VHDL的3種描述
9.3 數據類型、運算符和表達式
9.3.1 枚舉類型
9.3.2 數組類型
9.3.3 VHDL運算符
9.3.4 常量的定義
9.3.5 VHDL表達式
9.4 VHDL的庫和包
9.4.1 VHDL庫的種類和使用
9.4.2 程序包
9.4.3 庫和程序包的引用
9.5 數據流描述
9.5.1 并行賦值語句
9.5.2 條件賦值語句
9.5.3 選擇信號賦值語句
9.6 性能描述
9.6.1 PROCESS語句
9.6.2 信號和變量賦值語句
9.6.3 分支語句
9.6.4 循環語句
9.7 結構描述
9.7.1 部件聲明語句
9.7.2 部件描述語句
9.8 VHDL描述組合邏輯電路
9.8.1 譯碼電路的描述
9.8.2 編碼器的描述
9.9 觸發器的VHDL描述
9.9.1 電位型觸發器的VHDL描述
9.9.2 鐘控型觸發器的VHDL描述
9.10 時序部件的VHDL描述
9.10.1 計數器的VHDL描述
9.10.2 移位寄存器的VHDL描述
9.10.3 時序機的VHDL描述
本章小結
習題和思考題
參考文獻
第1章 數字電路中的數和編碼
數字電路中要用到不同數制中的數,女n---進制數、十進制數等。對于這些不同數制的數以及它們之間的互相轉換,應該在計算機基礎課程中有詳細介紹,這里不再重復。
數字電路中要使用不同的二進制代碼來表示十進制數,需要掌握相應的編碼知識。此外,數字電路中還要用到負數在機器中的表示方法,以便方便地構成加法器/減法器等最基本的運算電路。通過本章學習,應掌握:
十進制數的二進制編碼;
用補碼表示負數及其相應的運算。
1.1 十進制數的二進制編碼
數字電路和計算機中最常用的是二進制數,有時候也會使用十進制數。但是0~9這樣的:十進制數在二值的數字電路中是不能直接輸入和運算的,需要用某種二進制代碼表示以后才可以操作。
用一組特定的二進制代碼來表示一組特定的事物,稱為二進制編碼。一組字符、一組顏色、一批貨物、一隊參賽隊員,等等,都可以是二進制編碼的對象。