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