發表於2024-12-29
VHDL及數字電路驗證 [VHDL and Digital Circuit Verification] pdf epub mobi txt 電子書 下載
本書涵蓋“VHDL設計描述語言”和“FPGA設計及應用”兩門課程的主要內容,內容緊湊、重點突齣、條理清晰、針對性強、注重實踐,精心選取瞭大量通用、貼近工程實踐的設計實例。
劉樹林,博士,西安科技大學教授、博士生導師,四川大學半導體物理專業本科畢業,航天部西安微電子研究所碩士、博士畢業。先後在西安電力電子研究所、中興通訊股份有限公司、西安科技大學從事科研和教學工作。現任西安科技大學電氣與控製工程學院副院長、“電力電子電路與係統科研創新團隊”負責人、礦山機電工程博士點學科帶頭人、微電子學與固體電子學學科帶頭人等。
第1章 緒論 1
1.1 電路係統 1
1.1.1 電路係統的分類 1
1.1.2 模擬電路係統及其特點 1
1.1.3 數字電路係統及其特點 2
1.2 VHDL語言的産生背景、功能及特點 2
1.2.1 EDA概念 2
1.2.2 EDA技術發展階段 2
1.2.3 EDA技術的研究內容 4
1.2.4 HDL語言的概念及分類 5
1.2.5 VHDL語言的發展及特點 6
1.3 PLD與FPGA 7
1.3.1 簡單低密度器件(SPLD) 8
1.3.2 CPLD 9
1.3.3 FPGA 12
1.3.4 器件供應商及第三方軟件介紹 13
習題 16
第2章 VHDL程序框架及組成 17
2.1 概述 17
2.2 語法規則及命名 17
2.2.1 書寫規定 17
2.2.2 標識符 18
2.2.3 擴展標識符 18
2.2.4 保留字及專用字 19
2.3 VHDL基本架構 19
2.3.1 設計庫 20
2.3.2 包集閤 22
2.3.3 實體 24
2.3.4 構造體 26
2.3.5 配置 28
3.配置的格式 28
2.4 小結 31
習題 31
第3章 VHDL語言數據類型 32
3.1 數據類型概述 32
3.2 標準預定義數據類型 32
3.2.1 可綜閤數據類型 33
3.2.1 不可綜閤數據類型 36
3.3 用戶自定義數據類型 38
3.3.1 枚舉類型 39
3.3.2 數組類型 39
3.3.3 記錄類型 40
3.3.4 尋址類型 41
3.3.5 文件類型 41
3.4 數據類型的轉換 42
3.5 小結 44
習題 44
第4章 VHDL語言數據對象及運算操作符 45
4.1 數據對象及其分類 45
4.1.1 常量 45
4.1.2 信號 46
4.1.3 變量 47
4.1.4 文件 49
4.2 運算操作符 51
4.2.1 邏輯運算符 51
4.2.2 算術運算符 52
4.2.3 關係運算符 52
4.2.4 移位操作符 53
4.2.5 並置運算符 54
4.3 小結 55
習題 55
第5章 VHDL語言主要描述語句 57
5.1 概述 57
5.2 並發描述語句 57
5.2.1 進程語句 58
5.2.2 信號代入語句 59
5.2.3 元件例化語句 64
5.2.4 過程調用語句 69
5.2.5 類屬語句 71
5.2.6 生成語句 72
5.2.7 並行仿真語句 75
5.2.8 塊語句 77
5.3 順序描述語句 78
5.3.1 進程語句 79
5.3.2 賦值語句 79
5.3.3 條件判斷語句 81
5.3.4 CASE語句 83
5.3.5 調用語句 87
5.3.6 循環語句 90
5.3.7 仿真描述語句 94
5.3.8 空語句 98
5.4 小結 99
習題 99
第6章 VHDL語言屬性 100
6.1 概述 100
6.2 數值類屬性 100
6.2.1 常規數據類型的數值屬性 101
6.2.2 數組類型的數值屬性 101
6.2.3 塊的數值屬性 102
6.3 函數類屬性 103
6.3.1 函數數據類型屬性 103
6.3.2 函數數組屬性 105
6.3.3 函數信號屬性 106
6.3.4 信號類屬性 110
6.4 數據類型屬性 113
6.5 數據區間類屬性 113
6.6 用戶自定義屬性 114
6.7 小結 115
習題 115
第7章 VHDL語言構造體的描述方式 117
7.1 概述 117
7.2 行為描述方式 117
7.2.1 行為描述方式的概念和特點 117
7.2.2 行為描述方式舉例 117
7.3 結構化描述方式 119
7.3.1 結構化描述方式的概念和特點 119
7.3.2 結構化描述舉例 119
7.4 數據流描述方式 123
7.4.1 數據流描述方式的概念和特點 123
7.4.2 數據流描述方式舉例 124
7.5 混閤描述方式 125
7.5.1 混閤描述方式的概念和特點 125
7.5.2 混閤描述方式舉例 126
7.6 數據流描述中應注意的問題 126
7.6.1 非法狀態傳遞問題 126
7.6.2 進程中時鍾沿的使用問題 128
7.6.3 綜閤電路問題 128
7.7 小結 132
習題 132
第8章 數字邏輯電路設計 133
8.1 概述 133
8.2 組閤邏輯電路設計 133
8.2.1 選擇器和分配器 133
8.2.2 編碼器和譯碼器 138
8.2.3 數字比較器 144
8.2.4 加法器 146
8.2.5 三態門及總綫緩衝器 148
8.2.6 奇偶校驗器 152
8.3 時序邏輯電路設計 153
8.3.1 觸發器 153
8.3.2 寄存器的設計 159
8.3.3 計數器 162
8.4 小結 168
習題 168
第9章 狀態機設計 169
9.1 概述 169
9.2 狀態機的特點 170
9.3 狀態機的組成 170
9.4 狀態機的描述風格 174
9.5 狀態機的狀態編碼 175
9.5.1 直接輸齣型編碼 175
9.5.2 順序編碼 176
9.5.3 格雷碼編碼 176
9.5.4 獨熱碼編碼 177
9.6 狀態機剩餘狀態處理 178
9.7 有限狀態機的復位 179
9.8 小結 183
習題 183
第10章 MODELSIM仿真與測試平颱的搭建 184
10.1 引言 184
10.2 ModelSim仿真軟件 184
10.2.1 ModelSim簡介 184
10.2.2 ModelSim軟件的安裝及破解 184
10.2.3 軟件仿真步驟 188
10.3 測試及驗證平颱 192
10.3.1 仿真軟件編輯輸入 193
10.3.2 仿真輸入波形的産生 193
10.3.3 測試平颱的搭建 198
10.4 小結 201
習題 201
第11章 QUARTUS II集成開發環境 202
11.1 概述 202
11.2 Quartus II軟件開發流程 203
11.2.1 新建工程設計流程 204
11.2.2 設計輸入流程 207
11.2.3 編譯及綜閤流程 217
11.2.4 仿真驗證 220
11.2.5 硬件下載與驗證 224
11.3 Quartus II軟件其他常用功能應用 227
11.3.1 嵌入式邏輯分析儀 227
11.3.2 信號探針 230
11.3.3 功耗分析工具 231
11.3.4 存儲器內容編輯 233
11.3.5 邏輯分析儀接口編輯器 235
11.4 小結 236
習題 236
第12章 FPGA器件及其開發平颱 237
12.1 FPGA工作原理 237
12.2 Altera FPGA芯片 237
12.2.1 Altera PLD芯片的分類 237
12.2.2 Altera PLD的命名 237
12.2.3 Cylone係列FPGA的功能和結構 238
12.3 FPGA與CPLD的比較 245
12.3.1 FPGA與CPLD的相同點 245
12.3.2 CPLD和FPGA的區彆 245
12.4 FPGA開發流程 246
12.5 FPGA開發平颱:最小係統設計 247
12.5.1 FPGA芯片有關引腳 247
12.5.2 PROM芯片型號及電路連接 248
12.5.3 全局時鍾發生電路 249
12.5.4 JTAG下載電路 250
12.5.5 電源電路設計 250
12.5.6 其他IO接口電路 251
12.6 小結 252
習題 252
第13章 FPGA典型應用設計 253
13.1 IP知識産權模塊 253
13.1.1 IP模塊的概念 253
13.1.2 IP模塊的分類 253
13.1.3 IP模塊的復用 254
13.2 分頻器的設計驗證 255
13.2.1 奇偶數分頻器通用IP核的設計 255
13.2.2 占空比可調的分頻器的設計 258
13.3 交通燈控製器的設計 260
13.3.1 設計要求 260
13.3.2 設計原理 260
13.3.3 VHDL語句描述 261
13.3.4 元件符號及端口說明 262
13.3.5 仿真驗證 263
13.4 串口異步收發控製器的設計 263
13.4.1 UART數據幀格式 264
13.4.2 UART的實現 264
13.5 I2C總綫通信控製器的設計 274
13.5.1 I2C總綫簡介 274
13.5.2 I2C總綫幀格式 274
13.5.3 I2C總綫頂層模塊設計 275
13.5.4 I2C時鍾模塊的設計 275
13.5.5 I2C寫數據模塊設計 276
13.6 並行ADC0809控製模塊設計 279
13.6.1 設計原理 279
13.6.2 狀態機設計 279
13.6.3 VHDL語言描述 280
13.6.4 測試平颱的設計 281
13.6.5 仿真結果 282
13.7 串行DAC TLC5615控製模塊設計 282
13.7.1 設計原理 283
13.7.2 設計狀態圖 283
13.7.3 VHDL源程序 283
13.7.4 元件符號及端口說明 285
13.7.5 仿真驗證 285
13.8 正弦信號發生器的設計 285
13.8.1 正弦信號發生器工作原理 285
13.8.2 定製初始化數據文件 286
13.8.3 定製LPM_ROM元件 286
13.9 小結 289
習題 289
主要參考文獻 291
前 言
隨著微電子技術和電子設計自動化(Electronic Design Automation,EDA)的快速發展,現場可編程門陣列(Field Programmable Gate Array,FPGA)正朝著全新一代片上可編程FPGA器件(System on Chip FPGA,SoC FPGA)的方嚮發展。和傳統的FPGA相比,SoC FPGA不僅繼承瞭傳統FPGA器件的功能,而且在性能和容量上有瞭很大的提升,在器件功能方麵也取得瞭很大的擴展。SoC FPGA已經從最初的單一邏輯運算角色演變為麵嚮不同應用領域的可優化高速處理平颱,即將核心硬件和各類軟件平颱融閤在一起,提供瞭一種單芯片係統解決方案。硬件描述語言(Hardware Description Language,HDL)作為一種形式化的描述語言,在FPGA的發展過程中起到瞭舉足輕重的作用。從誕生到現在,硬件描述語言已經從早期的隻能完成單一數字電路描述功能的角色演變為具有大規模、復雜係統行為的描述能力,並可以藉助EDA軟件平颱,自上而下地逐層完成相應電路的描述、仿真、優化和綜閤,直到生成器件。VHDL語言作為最早齣現的硬件描述語言,與其他硬件描述語言相比,具有層次化的設計結構,更強的行為描述能力,豐富的仿真語句和庫函數。VHDL語言的行為描述能力和程序結構決定瞭VHDL語言更適閤一些大型復雜係統的早期驗證功能的可行性,具備對係統進行仿真模擬的可能性,符閤市場化的設計係統高效的特點。VHDL語言現已成為國際標準語言,也被絕大多數的EDA軟件和半導體器件廠商所接受,掌握VHDL語言正日益成為我國高校大學生和工程技術人員的必備技能。目前,在很多高校的電子相關專業開設瞭FPGA和硬件描述語言兩方麵的課程,內容和側重點有所相同。
本書以“淡化理論,夠用為度”的原則,在理論學習方麵,注重基本概念、基本方法及常用設計方法的學習,淡化語法結構復雜、使用頻次少的語句。本書力求通俗易懂,精練實用。在設計驗證方麵,本書精心選取瞭大量通用性廣、工程實踐性強的設計實例,通過仿真驗證,強化設計理論和設計方法。為瞭鞏固讀者的學習效果,每章都配有一定數量的習題。
本書是編著者依據多年的教學和科研經驗,參考大量的國內外優秀教材編寫而成的,書中配有豐富的設計實例,並且全部經過仿真驗證。全書共13章,除緒論外可分為兩大部分:第2~7章為第一部分,詳細介紹VHDL硬件描述語言;第8~13章為第二部分,詳細介紹基於VHDL的數字電路設計及驗證方法。
第1章是緒論,內容包括電路係統的概念、分類及特點,VHDL語言産生的背景、功能及特點,可編程器件的基本概念及特點。
第2章是VHDL語言的程序框架及組成,介紹VHDL語言的語法規則和命名,以及程序框架和組成。
第3章是VHDL語言的數據類型,介紹標準的預定義數據類型、用戶自定義數據類型和數據類型轉換函數。
第4章是VHDL語言數據對象及運算操作符,介紹數據對象的概念、分類和特點,以及運算操作符的分類。
第5章是VHDL語言的主要描述語句,介紹並發描述語句和順序描述語句。
第6章是VHDL語言的屬性,介紹VHDL語言預定義的數值類屬性、函數類屬性、數據類型類屬性、數據區間屬性和用戶自定義屬性。
第7章是VHDL語言構造體的描述方式,介紹行為描述方式、結構化描述方式、數據流描述方式和混閤描述方式。
第8章是數字邏輯電路設計,介紹簡單組閤邏輯電路和時序邏輯電路的設計。
第9章是狀態機設計,介紹狀態機的組成、描述風格、狀態編碼、狀態機剩餘狀態處理方法及狀態機的復位方法。
第10章是ModelSim仿真與測試平颱的搭建,介紹ModelSim軟件的使用方法,測試激勵文件的産生方法和測試平颱的搭建步驟。
第11章是Quartus II集成開發環境,介紹Quartus II 集成開發軟件的主要功能、開發流程和一些輔助功能。
第12章是FPGA器件及開發平颱,介紹Altera公司FPGA芯片的分類、命名和結構特點,以及FPGA最小係統和各部分的電路組成。
第13章是FPGA典型應用設計,介紹IP核的概念,若乾典型應用實例的設計及驗證方法。
“VHDL及數字電路驗證”是微電子科學與工程專業的必修課,是通信工程、測控技術、電子工程等相關電子類專業的選修課,屬於一門理論和實踐並重的課程。該課程旨在培養學生在集成電路設計方麵的前端設計驗證能力,是非常注重工程實踐的一門課程。
本課程的先修課程是“數字電子技術基礎”和“數字邏輯電路設計”。本課程的參考課時為64~72學時,實踐訓練為10~20學時,使用者可根據實際情況對內容進行取捨。
本書第1章由劉樹林編寫,第6、7、8、10、11、13章由劉寜莊編寫,第2、3、4章由王媛媛編寫,第5章由楊波編寫,第9章由高瑜編寫,第12章由伍鳳娟編寫。本書電子教學課件(PPT文檔)可從華信教育資源網(www.hxedu.com.cn)注冊後免費下載,或者通過與本書責任編輯(zhangls@phei.com.cn)聯係獲取。
本書由西安郵電大學電子工程學院副院長杜慧敏教授負責審定。在本書編寫過程中,西安郵電學院劉有耀副教授和江南大學物聯網工程學院的柴誌雷博士提齣瞭寶貴的意見,在此錶示衷心的感謝。
在本書的編寫過程中,參考瞭大量的國內外教材和論文,在此嚮這些文獻的作者錶示衷心的感謝。
由於編著者水平有限,加之時間倉促,書中難免存在不當之處,敬請廣大讀者和同行批評指正。
編著者
2016年10月
VHDL及數字電路驗證 [VHDL and Digital Circuit Verification] pdf epub mobi txt 電子書 下載