定 價:45 元
叢書名:普通高等教育“十三五”電子信息類規(guī)劃教材
- 作者:丁山
- 出版時間:2018/1/8
- ISBN:9787111583752
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TN702
- 頁碼:280
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書根據(jù)以提高工程設(shè)計能力為目的,深入淺出的對EDA技術(shù)、VHDL硬件描述語言、FPGA開發(fā)應(yīng)用及相關(guān)知識做了系統(tǒng)和完整的介紹,使讀者通過本書的學(xué)習(xí)與實驗,能初步了解和掌握EDA的基本內(nèi)容及實用技術(shù)。本書包括EDA的基本知識、常用EDA工具的使用方法和目標(biāo)器件的結(jié)構(gòu)原理、以向?qū)问胶蛯嵗秊橹鞯姆椒ń榻B多種不同的設(shè)計方法、對VHDL的設(shè)計優(yōu)化以及基于EDA技術(shù)的典型設(shè)計項目。各章都安排了習(xí)題和針對性較強(qiáng)的實驗與設(shè)計。書中例舉的大部分VHDL設(shè)計實例和試驗實現(xiàn)EDA工具平臺是Vivado集成開發(fā)環(huán)境,硬件平臺是Basys3Artix—7FPGA開發(fā)平臺。并在EDA實驗系統(tǒng)上通過硬件測試。本書可作為高等院校電子工程、通信、工業(yè)自動化、計算機(jī)應(yīng)用技術(shù)、儀器儀表、數(shù)字信號或圖像處理等學(xué)科的本科生或研究生的電子設(shè)計、EDA技術(shù)課程和VHDL硬件描述語言的教材及實驗指導(dǎo)書,同時也可以作為相關(guān)專業(yè)人員的自學(xué)參考書。
隨著半導(dǎo)體產(chǎn)業(yè)進(jìn)入深納米的時代. 可編程邏輯器件向高密度、高速度、低價格方向迅速發(fā)展. EDA 技術(shù)在電子信息、通信、自動控制及計算機(jī)應(yīng)用等領(lǐng)域的重要性日益突出.目前EDA 技術(shù)已經(jīng)成為電子信息類專業(yè)一門重要的專業(yè)基礎(chǔ)課程. 是電子信息類專業(yè)學(xué)生必須掌握的專業(yè)基礎(chǔ)知識和基本技能. 為了使學(xué)生掌握EDA 基本設(shè)計工具和設(shè)計方法. 在EDA 開發(fā)軟件上本書使用在FPGA 市場占有率第一的Xilinx 公司推出和發(fā)布的Vivado 設(shè)計套件. 該套件是一款基于業(yè)界標(biāo)準(zhǔn)的開放式開發(fā)環(huán)境. 可以利用Xilinx 公司推出的領(lǐng)先一代的硬件、軟件和I/ O 全面可編程的SoC - Zynq7000 系列實現(xiàn)數(shù)字系統(tǒng)、DSP 系統(tǒng)和嵌入式系統(tǒng)的設(shè)計. 作者力圖將EDA 技術(shù)最新發(fā)展成果、現(xiàn)代電子設(shè)計最前沿理論和技術(shù)、國際上業(yè)界普遍接受和認(rèn)可的EDA 軟硬件開發(fā)平臺的使用方法奉獻(xiàn)給廣大讀者.本書力求全面、實用. 對例題做到詳細(xì)分析和解釋. 既可以幫助讀者學(xué)習(xí)理解知識和概念. 降低學(xué)習(xí)難度. 又具有啟發(fā)性. 幫助讀者更加輕松、迅速地理解和掌握本書內(nèi)容.本書在內(nèi)容的組織上共分14 章. 各章的具體內(nèi)容如下:第1 章為緒論. 主要概述了EDA 技術(shù)及其重要性. EDA 包含的知識體系結(jié)構(gòu). 如HDL、EDA 的工作軟件等. 比較了傳統(tǒng)電子設(shè)計方法與EDA 技術(shù)各自的特點. 同時對EDA技術(shù)的發(fā)展歷程、特點和優(yōu)勢. 以及利用EDA 進(jìn)行工程設(shè)計的流程進(jìn)行了簡要介紹.第2 章主要介紹了可編程邏輯器件的基本結(jié)構(gòu)和工作原理. 以及相關(guān)的編程、測試和配置方法. 首先對可編程邏輯器件進(jìn)行了概述. 主要介紹了可編程邏輯器件的發(fā)展歷史. 并對可編程邏輯器件通過不同的劃分方式進(jìn)行了分類. 接著重點介紹了高密度可編程邏輯器件CPLD 和FPGA 的結(jié)構(gòu)原理和工作特點. 然后詳細(xì)地闡述了JTAG 邊界掃描技術(shù)的硬件測試原理. 并對CPLD 的編程方法和配置方式進(jìn)行了介紹. 最后介紹了本書使用的Basys3 開發(fā)板.第3 章主要講述了VHDL 語言的基本語法知識. 是使用VHDL 進(jìn)行EDA 設(shè)計的基礎(chǔ).首先介紹了VHDL 程序的基本結(jié)構(gòu). 一個完整的VHDL 設(shè)計由庫、程序包、實體、結(jié)構(gòu)體和配置組成. 其中實體和結(jié)構(gòu)體是基本組成部分. 然后介紹了VHDL 語言中的文字規(guī)則、數(shù)據(jù)對象、數(shù)據(jù)類型和操作符等內(nèi)容. 最后介紹了VHDL 中預(yù)定義的屬性.第4 章主要講述了VHDL 語句的基本內(nèi)容. VHDL 中的語句可以分為兩大類: 順序語句和并行語句. 在此基礎(chǔ)上介紹了各種語句的語法以及使用方法、程序包的構(gòu)成和配置、子程序的概念及其使用方法. 并給出常用設(shè)計舉例.第5 章主要講述了有限狀態(tài)機(jī)的基本概念、特點和基本結(jié)構(gòu)等基礎(chǔ)內(nèi)容. 在此基礎(chǔ)上.對Moore 型狀態(tài)機(jī)和Mealy 型狀態(tài)機(jī)的結(jié)構(gòu)、特性和設(shè)計方法進(jìn)行了詳細(xì)的舉例說明. 然后介紹了狀態(tài)位置直接輸出型編碼、順序編碼、枚舉類型編碼及一位熱碼編碼四種不同的狀態(tài)編碼方式. 以及程序直接導(dǎo)引法及狀態(tài)編碼檢測法兩種安全狀態(tài)機(jī)的設(shè)計方法. 最后比較全面地對有限狀態(tài)機(jī)進(jìn)行了介紹.第6 章介紹了EDA 的硬件系統(tǒng)設(shè)計中VHDL 的優(yōu)化設(shè)計. 首先介紹了FPGA/ CPLD 的Ⅳ資源利用優(yōu)化. 資源優(yōu)化主要包括資源共享、邏輯優(yōu)化和串行化. 由于對于大多數(shù)的設(shè)計來說. 速度優(yōu)化比資源優(yōu)化更重要. 所以介紹了速度優(yōu)化. 并依次闡述了流水線設(shè)計、寄存器配平、關(guān)鍵路徑法、乒乓操作法和加法樹法. 最后詳細(xì)介紹了如何排除和避免毛刺或隨機(jī)干擾信號. 主要包括延時方式去毛刺、邏輯方式去毛刺和定時方式去毛刺.第7 章介紹了Vivado 設(shè)計套件的基本知識以及Vivado 設(shè)計套件的界面信息. 首先. 簡單介紹了Vivado 設(shè)計套件的特性. 其次介紹了使用Vivado 設(shè)計套件的系統(tǒng)級設(shè)計流程. 然后介紹了Vivado 設(shè)計套件的安裝過程. 之后介紹了各個工程文件夾存放的文件類型以及網(wǎng)表文件的相關(guān)知識. 最后介紹了Vivado 設(shè)計套件的基本界面信息.第8 章介紹了在Vivado 集成開發(fā)環(huán)境的工程模式下設(shè)計工程的基本設(shè)計實現(xiàn)流程. 工程模式下的基本設(shè)計實現(xiàn)主要步驟包括: 創(chuàng)建一個新的設(shè)計工程、創(chuàng)建并添加新的設(shè)計文件、RTL 詳細(xì)描述和分析、設(shè)計綜合、行為級仿真、建立約束、設(shè)計實現(xiàn)和分析、靜態(tài)時序分析、設(shè)計時序仿真以及生成編程文件并下載到目標(biāo)芯片.第9 章介紹了Vivado 集成設(shè)計環(huán)境下創(chuàng)建和封裝用戶IP 的基本流程. 創(chuàng)建和封裝用戶IP的主要步驟包括: 創(chuàng)建一個用于定制用戶IP 的工程、設(shè)置定制IP 的庫名和目錄以及封裝IP.第10 章介紹了在Vivado 集成開發(fā)環(huán)境下基于IP 的簡單系統(tǒng)的設(shè)計實現(xiàn)流程. 基于IP的系統(tǒng)設(shè)計實現(xiàn)主要步驟包括: 創(chuàng)建一個新的設(shè)計工程、創(chuàng)建基于IP 的系統(tǒng)、行為級仿真、設(shè)計綜合、建立約束、設(shè)計實現(xiàn)和分析、靜態(tài)時序分析、設(shè)計時序仿真以及生成編程文件并下載到目標(biāo)芯片.第11 章介紹了如何使用Vivado 集成開發(fā)環(huán)境和Basys3 開發(fā)板設(shè)計實現(xiàn)鍵控流水燈實驗的設(shè)計. 首先介紹了鍵控流水燈的設(shè)計要求和功能描述. 其次介紹了鍵控流水燈的層次化設(shè)計方案. 主要包括三部分內(nèi)容. 分別是分頻模塊. 流水燈顯示模塊和按鍵控制模塊. 最后對鍵控流水燈設(shè)計進(jìn)行了硬件測試.第12 章介紹了搶答器實驗設(shè)計. 首先介紹了搶答器的設(shè)計要求和功能描述. 其次制訂了三人搶答器的層次化設(shè)計方案. 主要包括三部分內(nèi)容. 分別是分頻器模塊、搶答鑒別器模塊和數(shù)碼管顯示模塊. 然后對搶答器進(jìn)行了頂層設(shè)計和仿真. 最后對搶答器的設(shè)計進(jìn)行了硬件測試.第13 章主要介紹了一個簡單的數(shù)字鐘實驗設(shè)計. 首先介紹了數(shù)字鐘的設(shè)計要求和功能描述. 然后介紹了數(shù)字鐘的層次化設(shè)計方案. 主要包括三部分內(nèi)容. 分別是分頻器模塊、計數(shù)模塊和數(shù)碼管顯示模塊. 之后對數(shù)字鐘進(jìn)行了頂層設(shè)計和仿真. 最后對本次設(shè)計進(jìn)行了硬件測試.第14 章介紹了如何使用Vivado 集成開發(fā)環(huán)境和Basys3 開發(fā)板進(jìn)行簡單的UART 實驗設(shè)計. 實驗分為兩部分. 一部分是接收器的設(shè)計實現(xiàn). 另一部分是發(fā)送器的設(shè)計實現(xiàn). 在兩部分中分別介紹了接收器和發(fā)送器的層次化設(shè)計方案. 并對其進(jìn)行了硬件測試.本書內(nèi)容充實. 系統(tǒng)全面. 重點突出. 闡述循序漸進(jìn). 由淺入深. 書中所有例題均在Vivado 環(huán)境下運行通過. 本書配有免費的電子課件. 歡迎選用本書作為教材的教師登錄www.. cmpedu.. com 下載或發(fā)郵件到wangkang ̄maizi9@126.. com 索取.參加本書編寫、校對及程序測試工作的還有吳金輝、王輝等. 在此表示感謝.由于作者水平有限. 書中難免有錯誤和不足之處. 懇請各位專家和讀者批評指正.
編 者
前 言
第1 章 緒論 1
1. 1。牛模 技術(shù)概要 1
1. 1. 1。牛模 技術(shù)的含義 1
1. 1. 2。牛模 技術(shù)的發(fā)展歷程 1
1. 1. 3。牛模 的基本特征 3
1. 1. 4。牛模 技術(shù)的優(yōu)勢 5
1. 2 EDA 技術(shù)的實現(xiàn)目標(biāo) 7
1. 3 硬件描述語言 8
1. 3. 1。郑龋模 8
1. 3. 2 Verilog HDL 9
1. 3. 3 VHDL 和Verilog HDL 的比較 9
1. 4 常用的EDA 工具 10
1. 4. 1 設(shè)計輸入編輯器 11
1. 4. 2 綜合器 11
1. 4. 3 仿真器 13
1. 4. 4 適配器 13
1. 4. 5 編程下載 14
1. 5。牛模 的工程設(shè)計流程 14
1. 6。郑椋觯幔洌 概述 17
1. 7 EDA 技術(shù)的發(fā)展趨勢 17
本章小結(jié) 19
習(xí)題 19
第2 章。茫校蹋 與FPGA 的結(jié)構(gòu)原理 20
2. 1 PLD 概述 20
2. 1. 1。校蹋 入門 20
2. 1. 2 常見的PLD 21
2. 1. 3 PLD 的優(yōu)點 22
2. 1. 4。校蹋 的發(fā)展趨勢 23
2. 2 簡單PLD 的結(jié)構(gòu)原理 24
2. 2. 1 邏輯符號表示方法 25
2. 2. 2。校遥希 的結(jié)構(gòu)原理 25
2. 2. 3 PLA 的結(jié)構(gòu)原理 26
2. 2. 4。校粒 的結(jié)構(gòu)原理 26
2. 2. 5。牵粒 的結(jié)構(gòu)原理 31
2. 3。茫校蹋 的結(jié)構(gòu)原理 35
2. 3. 1。茫校蹋 的基本結(jié)構(gòu) 35
2. 3. 2 基于乘積項的可編程邏輯器件 36
2. 4。疲校牵 的結(jié)構(gòu)原理 39
2. 4. 1 查找表型FPGA 的邏輯結(jié)構(gòu) 41
2. 4. 2。兀椋欤椋睿 公司7 系列FPGA 簡介 43
2. 4. 3。疲校牵 與CPLD 的區(qū)別 47
2. 5 硬件測試 48
2. 6 CPLD/ FPGA 的編程與配置 49
2. 7。拢幔螅螅 開發(fā)板介紹 50
2. 7. 1 電源電路 51
2. 7. 2 LED 燈電路和數(shù)碼管電路 51
2. 7. 3 按鍵電路和撥碼開關(guān)電路 52
2. 7. 4。郑牵 顯示電路和I/ O 擴(kuò)展電路 53
本章小結(jié) 53
習(xí)題 54
第3 章。郑龋模 入門基礎(chǔ) 55
3. 1。郑龋模 的基本結(jié)構(gòu) 55
3. 1. 1 實體 56
3. 1. 2 結(jié)構(gòu)體 57
3. 1. 3 庫、程序包和配置 57
3. 2。郑龋模 的文字規(guī)則 59
3. 2. 1 數(shù)字型文字 60
3. 2. 2 字符串型文字 60
3. 2. 3 標(biāo)識符 60
3. 2. 4 下標(biāo) 61
3. 3。郑龋模 的數(shù)據(jù)對象 62
3. 3. 1 常數(shù) 62
3. 3. 2 變量 62
3. 3. 3 信號 62
3. 3. 4 文件 63
3. 4 VHDL 的數(shù)據(jù)類型 63
3. 4. 1。郑龋模 預(yù)定義數(shù)據(jù)類型 64
3. 4. 2 用戶自定義數(shù)據(jù)類型 67
3. 4. 3 數(shù)據(jù)類型間的轉(zhuǎn)換 68
Ⅵ
3. 5。郑龋模 的操作符 69
3. 6。郑龋模 預(yù)定義屬性 73
本章小結(jié) 75
習(xí)題 76
第4 章 VHDL 硬件描述語言 77
4. 1 進(jìn)程語句 77
4. 2 賦值語句 78
4. 3 順序描述語句 80
4. 3. 1。桑 語句 80
4. 3. 2。茫粒樱 語句 82
4. 3. 3 LOOP 語句 83
4. 3. 4。危牛兀 語句和EXIT 語句 84
4. 3. 5。祝粒桑 語句 85
4. 3. 6。遥牛裕眨遥 語句 86
4. 3. 7 NULL 語句 87
4. 4 元件例化語句 87
4. 5 生成語句 90
4. 6 塊語句 91
4. 7 程序包和配置 93
4. 7. 1 程序包 93
4. 7. 2 配置 94
4. 8 子程序 95
4. 8. 1 過程 96
4. 8. 2 函數(shù) 97
4. 9 其他語句 99
4. 10 常用設(shè)計舉例 100
4. 10. 1 結(jié)構(gòu)體的三種描述方式 100
4. 10. 2 組合邏輯電路設(shè)計 102
4. 10. 3 時序邏輯電路設(shè)計 107
本章小結(jié) 113
習(xí)題 113
第5 章 有限狀態(tài)機(jī)設(shè)計 114
5. 1 概述 114
5. 1. 1 狀態(tài)機(jī)的特點 114
5. 1. 2 狀態(tài)機(jī)的分類 115
5. 2。郑龋模 狀態(tài)機(jī)的一般形式 116
5. 2. 1 一般狀態(tài)機(jī)的結(jié)構(gòu) 116
5. 2. 2 狀態(tài)機(jī)的設(shè)計流程 118
5. 2. 3 狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖描述 118
5. 2. 4 狀態(tài)機(jī)的狀態(tài)說明部分 119
5. 3。停铮铮颍 型狀態(tài)機(jī)的設(shè)計 120
5. 3. 1 單進(jìn)程Moore 型狀態(tài)機(jī) 120
5. 3. 2 多進(jìn)程Moore 型狀態(tài)機(jī) 122
5. 4。停澹幔欤 型狀態(tài)機(jī)的設(shè)計 125
5. 5 狀態(tài)編碼 127
5. 5. 1 順序編碼 127
5. 5. 2 枚舉類型編碼 128
5. 5. 3 狀態(tài)位直接輸出型編碼 128
5. 5. 4 一位熱碼編碼 129
5. 6 安全狀態(tài)機(jī)設(shè)計 129
5. 6. 1 程序直接導(dǎo)引法 129
5. 6. 2 狀態(tài)編碼檢測法 130
本章小結(jié) 130
習(xí)題 130
第6 章。郑龋模 優(yōu)化設(shè)計 132
6. 1 資源優(yōu)化 132
6. 1. 1