相關主題
商品描述
本書根據EDA課程教學要求,以提高數字設計能力為目的,系統闡述FPGA數字系統開發的相關知識,主要內容包括EDA技術概述、FPGA/CPLD器件、VHDL硬件描述語言等。全書以Quartus Prime、ModelSim等軟件為平臺,以VHDL’87和VHDL’93語言標準為依據,基於DE2-115實驗平臺,以可綜合的設計為重點,通過大量經過驗證的數字設計實例,闡述數字系統設計的方法與技術,由淺入深地介紹VHDL工程開發的知識與技能。
目錄大綱
第1章 EDA技術概述 001
1.1 EDA技術及其發展 002
1.2 Top-down設計與IP核復用 004
1.2.1 Top-down設計 004
1.2.2 Bottom-up設計 005
1.2.3 IP復用技術與SoC 005
1.3 數字設計的流程 006
1.3.1 設計輸入 007
1.3.2 綜合 007
1.3.3 佈局布線 008
1.3.4 模擬 008
1.3.5 編程配置 009
1.4 常用的EDA工具軟件 009
1.5 EDA技術的發展趨勢 012
習題1 013
第2章 FPGA/CPLD器件 014
2.1 PLD器件概述 015
2.1.1 PLD器件的發展歷程 015
2.1.2 PLD器件的分類 015
2.2 PLD的基本原理與結構 017
2.2.1 PLD器件的基本結構 017
2.2.2 PLD電路的表示方法 018
2.3 低密度PLD的原理與結構 019
2.4 CPLD的原理與結構 023
2.4.1 宏單元結構 023
2.4.2 典型CPLD的結構 024
2.5 FPGA的原理與結構 025
2.5.1 查找表結構 025
2.5.2 Cyclone IV器件結構 027
2.6 FPGA/CPLD的編程元件 030
2.7 邊界掃描測試技術 034
2.8 FPGA/CPLD的編程與配置 035
2.8.1 在系統可編程 035
2.8.2 FPGA器件的配置 036
2.8.3 Cyclone IV器件的編程 037
2.9 Intel的FPGA/CPLD器件 040
2.10 FPGA/CPLD的發展趨勢 043
習題2 043
第3章 Quartus Prime使用指南 044
3.1 Quartus Prime原理圖設計 046
3.1.1 半加器原理圖設計輸入 046
3.1.2 1位全加器設計輸入 049
3.1.3 1位全加器的編譯 050
3.1.4 1位全加器的模擬 052
3.1.5 1位全加器的下載 056
3.1.6 配置數據固化與離線運行 060
3.2 基於IP核的設計 062
3.2.1 用LPM_COUNTER設計模24方向可控計數器 063
3.2.2 用LPM_ROM模塊實現4×4無符號數乘法器 069
3.3 SignalTap II的使用方法 076
3.4 Quartus Prime的優化設置與時序分析 080
習題3 084
第4章 VHDL設計初步 087
4.1 VHDL簡介 088
4.2 VHDL組合電路設計 089
4.3 VHDL時序電路設計 093
習題4 098
第5章 VHDL結構與要素 099
5.1 實體 100
5.1.1 類屬參數說明 100
5.1.2 埠說明 101
5.2 結構體 102
5.3 VHDL庫和程序包 103
5.3.1 庫 103
5.3.2 程序包 106
5.4 配置 107
5.5 子程序 110
5.5.1 過程(PROCEDURE) 110
5.5.2 函數(FUNCTION) 112
5.6 VHDL文字規則 114
5.6.1 標識符 114
5.6.2 數字 115
5.6.3 字符串 116
5.7 數據對象 116
5.7.1 常量 116
5.7.2 變量 117
5.7.3 信號 117
5.7.4 文件 118
5.8 VHDL數據類型 118
5.8.1 預定義數據類型 119
5.8.2 用戶自定義數據類型 122
5.8.3 數據類型的轉換 125
5.9 VHDL運算符 127
5.9.1 邏輯運算符 127
5.9.2 關系運算符 127
5.9.3 算術運算符 128
5.9.4 並置運算符 129
5.9.5 運算符重載 129
習題5 130
第6章 VHDL基本語句 132
6.1 順序語句 133
6.1.1 賦值語句 133
6.1.2 IF語句 133
6.1.3 CASE語句 139
6.1.4 LOOP語句 142
6.1.5 NEXT與EXIT語句 143
6.1.6 WAIT語句 144
6.1.7 子程序調用語句 146
6.1.8 斷言語句 146
6.1.9 REPORT語句 147
6.1.10 NULL語句 148
6.2 並行語句 148
6.2.1 並行信號賦值語句 148
6.2.2 進程語句 153
6.2.3 塊語句 156
6.2.4 元件例化語句 157
6.2.5 生成語句 159
6.2.6 並行過程調用語句 161
6.3 屬性說明與定義語句 162
6.3.1 數據類型屬性 162
6.3.2 數組屬性 163
6.3.3 信號屬性 164
習題6 165
第7章 VHDL設計進階 166
7.1 行為描述 167
7.2 數據流描述 168
7.3 結構描述 169
7.3.1 用結構描述設計1位全加器 169
7.3.2 用結構描述設計4位加法器 171
7.3.3 用結構描述設計8位加法器 172
7.4 三態邏輯設計 173
7.5 分頻器設計 175
7.5.1 占空比為50%的奇數分頻 175
7.5.2 半整數分頻 178
7.5.3 數控分頻器 179
7.6 用鎖相環IP核實現倍頻和相移 180
習題7 186
第8章 VHDL有限狀態機設計 187
8.1 有限狀態機 188
8.1.1 有限狀態機的描述 188
8.1.2 枚舉數據類型 190
8.2 有限狀態機的描述方式 192
8.2.1 三進程表述方式 192
8.2.2 雙進程表述方式 193
8.2.3 單進程表述方式 196
8.3 狀態編碼 198
8.3.1 常用的編碼方式 199
8.3.2 用ATTRIBUTE指定編碼方式 200
8.3.3 用常量進行編碼 202
8.4 有限狀態機設計要點 203
8.4.1 起始狀態的選擇和復位 203
8.4.2 多餘狀態的處理 205
8.5 有限狀態機應用實例 206
8.5.1 用有限狀態機控制流水燈 206
8.5.2 用有限狀態機控制A/D採樣 209
習題8 211
第9章 VHDL數字設計與優化 212
9.1 流水線設計 213
9.2 資源共享 216
9.3 4×4矩陣鍵盤 219
9.4 字 符 液 晶 224
9.5 漢字圖形點陣液晶 230
9.6 VGA顯示器 237
9.6.1 VGA顯示原理與時序 237
9.6.2 VGA彩條信號發生器 239
9.6.3 VGA圖像顯示與控制 244
9.7 音樂演奏電路 250
9.7.1 音樂演奏實現的方法 250
9.7.2 實現與下載 252
習題9 255
第10章 VHDL的Test Bench模擬 257
10.1 VHDL模擬概述 258
10.2 VHDL測試平臺 258
10.2.1 用VHDL描述模擬激勵信號 259
10.2.2 用TEXTIO進行模擬 262
10.3 ModelSim SE模擬實例 265
10.3.1 圖形界面模擬方式 268
10.3.2 命令行模擬方式 271
10.3.3 ModelSim SE時序模擬 272
習題10 275
第11章 VHDL設計實例 278
11.1 M序列產生器 279
11.2 Gold碼 283
11.3 數字過零檢測和等精度頻率測量 285
11.3.1 數字過零檢測 286
11.3.2 等精度頻率測量 287
11.3.3 數字測量系統 289
11.4 QPSK數字調制器 292
11.5 小型神經網絡 301
11.6 數字AGC 305
習題11 314
附錄A VHDL關鍵字 315
參考文獻 316