《數(shù)字邏輯原理與FPGA設計(第2版)》系統(tǒng)介紹了數(shù)字邏輯的基本原理與FPGA設計的實際應用。主要內(nèi)容包括:數(shù)字系統(tǒng)、數(shù)制與編碼、邏輯代數(shù)基礎、組合邏輯電路的分析與設計、時序邏輯電路的分析與設計、可編程邏輯器件、VHDL設計基礎、FPGA設計基礎、數(shù)字邏輯基礎實驗和數(shù)字系統(tǒng)FPGA設計實踐等。相對第1版,本書增加了FPGA設計工具QuartusII9.1相關內(nèi)容;贒E2115系列平臺更新了第9章和第10章。
書中列舉的設計實例都經(jīng)QuartusII9.1工具編譯通過,并在DE2115開發(fā)板上通過了硬件測試,可直接使用。本書配有多媒體教學課件PPT,可作為普通高等院校計算機、電子、通信、自動控制等專業(yè)的基礎課教材,也可作為成人自學考試用書及電子設計工程師技術培訓的指導教材。從事數(shù)字邏輯電路和系統(tǒng)設計的電子工程師亦可將本書內(nèi)容作為參考。
第1章 緒 論
1.1 數(shù)字時代
1.1.1 模擬信號
1.1.2 數(shù)字信號
1.2 數(shù)字系統(tǒng)
1.2.1 數(shù)字技術的優(yōu)勢
1.2.2 數(shù)字邏輯電路
1.2.3 數(shù)字系統(tǒng)的組成
1.2.4 典型的數(shù)字系統(tǒng)———計算機
1.2.5 數(shù)字邏輯的內(nèi)容及研究方法
1.3 數(shù)制及其轉(zhuǎn)換
1.3.1 數(shù) 制
1.3.2 數(shù)制轉(zhuǎn)換
1.4 帶符號二進制數(shù)的代碼表示
1.5 編 碼
1.5.1 BCD碼
1.5.2 格雷碼
1.5.3 奇偶校驗碼
1.5.4 ASCII碼
1.6 習 題
第2章 邏輯代數(shù)基礎
2.1 邏輯代數(shù)的基本概念
2.1.1 邏輯變量及基本運算
2.1.2 邏輯表達式
2.1.3 邏輯代數(shù)的公理
2.2 邏輯函數(shù)
2.2.1 邏輯函數(shù)的定義
2.2.2 邏輯函數(shù)的表示法
2.2.3 復合邏輯
2.3 邏輯函數(shù)的標準形式
2.3.1 最小項及最小項表達式
2.3.2 最大項及最大項表達式
2.3.3 邏輯函數(shù)表達式的轉(zhuǎn)換方法
2.3.4 邏輯函數(shù)的相等
2.4 邏輯代數(shù)的重要定理
2.4.1 重要定理
2.4.2 重要定理與最小項、最大項之間的關系
2.5 邏輯函數(shù)化簡
2.5.1 代數(shù)化簡法
2.5.2 卡諾圖化簡法
2.5.3 具有任意項的邏輯函數(shù)的化簡
2.6 習 題
第3章 組合邏輯電路
3.1 邏輯門電路的外特性
3.1.1 簡單邏輯門電路
3.1.2 復合邏輯門電路
3.1.3 門電路的主要外特性參數(shù)
3.1.4 正邏輯與負邏輯
3.2 組合邏輯電路分析
3.2.1 組合邏輯電路的基本特點
3.2.2 分析流程
3.2.3 計算機中常用組合邏輯電路分析舉例
3.3 組合邏輯電路的設計
3.4 設計方法的靈活運用
3.4.1 邏輯代數(shù)法
3.4.2 利用無關項簡化設計
3.4.3 分析設計法
3.5 組合邏輯電路的險象
3.5.1 險象的產(chǎn)生與分類
3.5.2 險象的判斷與消除
3.6 計算機中常用的組合邏輯電路設計
3.6.1 8421碼加法器
3.6.2 七段譯碼器
3.6.3 多路選擇器與多路分配器
3.7 習 題
第4章 時序邏輯電路分析
4.1 時序邏輯電路模型
4.2 觸發(fā)器
4.2.1 基本R S觸發(fā)器
4.2.2 常用觸發(fā)器
4.2.3 各類觸發(fā)器的相互轉(zhuǎn)換
4.2.4 集成觸發(fā)器的主要特性參數(shù)
4.3 同步時序邏輯分析
4.3.1 同步時序邏輯電路描述
4.3.2 同步時序邏輯分析
4.4 異步時序邏輯電路分析
4.5 計算機中常用的時序邏輯電路
4.5.1 寄存器
4.5.2 計數(shù)器
4.5.3 節(jié)拍發(fā)生器
4.6 習 題
第5章 時序邏輯電路設計
5.1 同步時序邏輯設計的基本方法
5.2 建立原始狀態(tài)圖
5.3 狀態(tài)化簡
5.3.1 狀態(tài)化簡的基本原理
5.3.2 完全定義狀態(tài)化簡方法
5.4 狀態(tài)編碼
5.4.1 確定存儲狀態(tài)所需的觸發(fā)器個數(shù)
5.4.2 用相鄰編碼法實現(xiàn)狀態(tài)編碼
5.5 確定激勵函數(shù)及輸出方程
5.5.1 選定觸發(fā)器類型
5.5.2 求激勵函數(shù)及輸出函數(shù)
5.5.3 電路的“掛起”及恢復問題
5.6 脈沖異步時序電路的設計方法
5.7 時序邏輯設計舉例
5.7.1 序列檢測器設計
5.7.2 計數(shù)器設計
5.7.3 基于MSI器件實現(xiàn)任意模值計數(shù)器
5.8 習 題
第6章 可編程邏輯器件
6.1 可編程邏輯器件概述
6.1.1 可編程邏輯器件的發(fā)展歷程
6.1.2 可編程邏輯器件分類
6.1.3 可編程邏輯器件的結(jié)構(gòu)
6.2 簡單PLD原理
6.2.1 PLD中陣列的表示方法
6.2.2 PROM
6.2.3 PLA 器件
6.2.4 PAL器件
6.2.5 GAL器件
6.3 CPLD
6.3.1 CPLD的基本結(jié)構(gòu)
6.3.2 Altera公司MAX系列CPLD簡介
6.4 FPGA
6.4.1 FPGA 的基本結(jié)構(gòu)
6.4.2 Altrea公司FPGA 系列FLEX10K器件的結(jié)構(gòu)
6.4.3 嵌入陣列塊(EmbeddedArrayBlock,EAB)
6.4.4 邏輯陣列塊(LogicArrayBlock,LAB)
6.4.5 邏輯單元(LogicElement,LE)
6.4.6 快速通道互連
6.4.7 輸入輸出單元(IOE)
6.5 習 題
第7章 VHDL設計基礎
7.1 VHDL的基本組成
7.1.1 實 體
7.1.2 構(gòu)造體
7.1.3 程序包
7.1.4 庫
7.1.5 配 置
7.2 VHDL語言的基本要素
7.2.1 VHDL語言的標識符
7.2.2 VHDL語言的客體
7.2.3 VHDL語言的數(shù)據(jù)類型
7.2.4 VHDL語言的運算操作符
7.3 VHDL語言的基本語句
7.3.1 順序描述語句
7.3.2 并行語句
7.4 常見組合邏輯電路的VHDL設計
7.4.1 編碼器、譯碼器、選擇器
7.4.2 數(shù)值比較器
7.5 常見時序邏輯電路的VHDL設計
7.5.1 觸發(fā)器的VHDL設計
7.5.2 鎖存器和寄存器
7.5.3 計數(shù)器
7.6 習 題
第8章 FPGA 設計基礎
8.1 EDA 技術概述
8.1.1 EDA 技術的發(fā)展歷程
8.1.2 EDA 技術的主要內(nèi)容
8.1.3 EDA 技術的發(fā)展趨勢
8.2 FPGA 設計方法與設計流程
8.2.1 基于FPGA 的層次化設計方法
8.2.2 基于FPGA 技術的數(shù)字邏輯系統(tǒng)設計流程
8.3 FPGA 設計工具QuartusII9.1
8.3.1 QuartusII9.1的特點
8.3.2 QuartusII9.1設計流程
8.4 QuartusII9.1設計入門
8.4.1 啟動QuartusII9.1
8.4.2 設計輸入
8.4.3 編譯綜合
8.4.4 仿真測試
8.4.5 硬件測試
8.5 習 題
第9章 數(shù)字邏輯實驗指南
9.1 基于原理圖輸入設計4位加法器
9.1.1 設計提示
9.1.2 QuartusII設計流程
9.2 基于VHDL文本輸入設計7段數(shù)碼顯示譯碼器
9.2.1 設計提示
9.2.2 QuartusII設計流程
9.3 基于原理圖輸入設計M=12加法計數(shù)器
9.3.1 設計提示
9.3.2 QuartusII設計流程
9.4 基于Altera宏功能模塊LPM_ROM 的4位乘法器設計
9.4.1 設計提示
9.4.2 QuartusII設計流程
9.5 數(shù)字邏輯基礎型實驗
9.5.1 實驗1 加法器的FPGA 設計
9.5.2 實驗2 譯碼器的FPGA 設計
9.5.3 實驗3 計數(shù)器的FPGA 設計
9.5.4 實驗4 100分頻十進制加法計數(shù)器FPGA 設計
9.5.5 實驗5 偽隨機信號發(fā)生器FPGA 設計
9.5.6 實驗6 應用VHDL完成簡單組合電路FPGA 設計
9.5.7 實驗7 應用VHDL完成簡單時序電路FPGA 設計
9.5.8 實驗8 基于VHDL語言的4位多功能加法計數(shù)器FPGA 設計
9.5.9 實驗9 移位運算器FPGA 設計
9.5.10 實驗10 循環(huán)冗余校驗(CRC)模塊FPGA 設計
9.6 習 題
第10章 數(shù)字系統(tǒng)的FPGA 設計
附 錄 網(wǎng)上資料與教學課件
參考文獻
我們正處在一個信息的時代,事物發(fā)展和技術進步對傳統(tǒng)的教育體系和人才培養(yǎng)模式提出了新的挑戰(zhàn)。面向21世紀的高等教育正在對專業(yè)結(jié)構(gòu)、課程體系、教學內(nèi)容和教學方法進行系統(tǒng)改革,教材建設是改革的重要內(nèi)容之一。隨著信息技術的飛速發(fā)展,各行各業(yè)對信息學科人才的需求越來越大。如何為社會培養(yǎng)更多具有創(chuàng)新能力、解決實際問題能力和高素質(zhì)的信息學科人才,是目前高等教育的重要任務之一。
數(shù)字邏輯與數(shù)字系統(tǒng)?課程是計算機、電子、通信和自動控制等學科的基礎課。設置本課程的主要目的是:使學生掌握數(shù)字系統(tǒng)分析與設計的基本知識與理論,熟悉各種不同規(guī)模的邏輯器件,掌握各類邏輯電路分析與設計的基本方法,為數(shù)字計算機和其他數(shù)字系統(tǒng)的硬件分析與設計奠定堅實的基礎。針對教學的需求,國內(nèi)外出版了大量相關的教科書。這些教科書各具特色,其中有許多被公認是十分優(yōu)秀的作品。然而,最優(yōu)秀的教科書也必須不斷更新完善。
基于此,本書在初版的基礎上,對第1章~第7章的內(nèi)容做了部分刪減和更新,并修正了部分錯誤。在第8章中,針對新的實驗開發(fā)系統(tǒng)DE2115,刪除了FPGA設計工具一節(jié)中關于MAX+plusII的描寫。通過一個具體實例介紹了FPGA設計工具———QuartusII9.1的基本使用方法和設計技巧。基于DE2115系列平臺更新了第9章和第10章中有關FPGA設計的內(nèi)容。
本書是作者多年從事理論教學與實驗教學的經(jīng)驗總結(jié)。從傳授知識和培養(yǎng)能力的目標出發(fā),結(jié)合本課程教學的特點、難點和要點編寫而成的,是對?數(shù)字邏輯?課程體系、教學內(nèi)容、教學方法和教學手段進行綜合改革形成的具體成果。本書在講清基本概念、基本原理的基礎上,突出了分析方法和工程設計應用,強調(diào)了中大規(guī)模集成電路方面的內(nèi)容,并對可編程邏輯器件(FPGGA)進行了全面介紹。教學內(nèi)容具有基礎性和時代性,從理論與實踐兩方面解決了與后續(xù)課程的銜接,具有系統(tǒng)性強,內(nèi)容新穎,適用性廣的特點。
課程理論教學部分為56~64學時,實驗部分為16學時。另外小學期可獨立設計實驗課,集中安排36學時的課程綜合設計實踐。理論學時建議:第1章4學時,第2章6學時,第3章8學時,第4章8學時,第5章8學時,第6章2學時,第7~9章12學時,第10章8學時。
全書可作為普通高等院校計算機、電子、通信、自動控制等專業(yè)的技術基礎課教材,也可作為成人自學考試用書及電子設計工程師技術培訓的指導教材。從事數(shù)字邏輯電路和系統(tǒng)設計的電子工程師亦可將本書作為參考。
本書由劉昌華負責統(tǒng)稿,其中劉昌華編寫第1~4章,第7~10章及附錄,管庶安編寫第5章和第6章。在編寫本書的過程中,參考了許多同行專家的專著和文章。武漢輕工大學Altera公司EDA/SOPC聯(lián)合實驗室和武漢輕工大學數(shù)學與計算機學院?數(shù)字邏輯?課題組的全體老師均提出了許多珍貴意見,并給予了大力支持和鼓勵,在此一并表示感謝。
由于編者水平有限,書中難免會有許多不足和錯誤,敬請各位專家批評指正。有關本書相關問題請通過網(wǎng)站http://szlj.whpu.edu.cn或電子郵件liuch@whpu.edu.cn與作者聯(lián)系。
劉昌華
2015年5月于武漢輕工大學