零點起飛學Xilinx FPGA
作者:高敬鵬、武超群、白錦良
定價:79.80元
印次:1-1
ISBN:9787302515944
出版日期:2019.04.01
印刷日期:2019.02.18
定價:79.80元
印次:1-1
ISBN:9787302515944
出版日期:2019.04.01
印刷日期:2019.02.18
《零點起飛學Xilinx FPGA》以三菱公司主流的FX系列PLC為對象講述PLC知識,全書分為三篇,基礎篇、提高篇和套用篇。 基礎篇包括PLC的基本概念、系統配置、內部資源、基本指令系統梯形圖程式設計、編程工具等;提高篇包括PLC的功能指令、系統設計方法通信功能等;套用篇包含工業機械實例、運動控制工程實例和過程控制工程實例。《零點起飛學Xilinx FPGA》適合從事PLC設計的工程人員使用,也適合高校相關專業的學生選作教材使用。
目 錄
第1章 FPGA系統設計基礎 1
1.1 FPGA技術的發展歷史和動向 1
1.1.1 FPGA技術的發展歷史 1
1.1.2 FPGA技術的發展動向 2
1.2 FPGA的典型套用領域 3
1.2.1 數據採集和接口邏輯領域 3
1.2.2 高性能數位訊號處理領域 4
1.2.3 其他套用領域 4
1.3 FPGA的工藝結構 4
1.4 典型的Xilinx FPGA晶片 5
1.5 FPGA晶片的套用 7
1.6 工程項目中FPGA晶片的選擇策略和原則 8
1.6.1 儘量選擇成熟的產品系列 8
1.6.2 儘量選擇兼容性好的封裝 8
1.6.3 儘量選擇一個公司的產品 9
1.7 FPGA的設計流程 9
1.8 思考與練習 11
第2章 ISE與ModelSim的安裝 12
2.1 ISE的安裝 12
2.2 ModelSim SE的安裝與啟動 18
2.3 ISE聯合ModelSim設定 22
2.4 思考與練習 29
第3章 ISE操作基礎 30
3.1 ISE的基本使用方法 30
3.1.1 新建工程 30
3.1.2 新建HDL檔案 32
3.1.3 添加HDL檔案 33
3.1.4 新建原理圖設計 33
3.1.5 在原理圖中調用模組 34
3.1.6 編輯原理圖 35
3.1.7 用Constraints Editor設定約束 38
3.1.8 使用XST進行綜合 39
3.1.9 設計實現 42
3.1.10生成下載檔案 44
3.1.11下載FPGA 45
3.2仿真驗證 47
3.2.1在ISE中仿真驗證 47
3.2.2在ISE中調用ModelSim 51
3.3COREGenerator的使用方法 56
3.3.1新建COREGenerator工程 56
3.3.2新建IP 59
3.3.3修改已有IP的參數 61
3.3.4在設計中例化IP 61
3.3.5選擇不同版本的IP 62
3.4流水燈實例 63
3.4.1硬體介紹 63
3.4.2創建工程 63
3.4.3編寫Verilog代碼 65
3.4.4UCF管腳約束 68
3.4.5編譯工程 70
3.4.6ISE仿真 70
3.4.7ModelSim仿真驗證 75
3.5思考與練習 80
第4章VerilogHDL語言概述 81
4.1VerilogHDL語言簡介 81
4.1.1硬體描述語言 81
4.1.2VerilogHDL語言的歷史 82
4.1.3VerilogHDL語言的能力 82
4.1.4VerilogHDL和VHDL語言的異同 83
4.1.5VerilogHDL和C語言的異同 83
4.2VerilogHDL語言的描述層次 84
4.2.1VerilogHDL語言描述能力綜述 84
4.2.2系統級和算法級建模 84
4.2.3RTL級建模 85
4.2.4門級和開關級建模 85
4.3基於VerilogHDL語言的FPGA開發流程 85
4.4VerilogHDL語言的可綜合與仿真特性 87
4.4.1VerilogHDL語句的可綜合性 88
4.4.2VerilogHDL語句的仿真特性說明 88
4.5VerilogHDL程式開發的必備知識 89
4.5.1數字的表示形式 89
4.5.2常用術語解釋 91
4.5.3VerilogHDL程式的優劣判斷指標 92
4.6VerilogHDL程式設計模式 93
4.6.1自頂向下的設計模式 93
4.6.2層次與模組化模式 94
4.6.3IP核的重用 94
4.7思考與練習 98
第5章VerilogHDL程式結構 99
5.1程式模組 99
5.1.1VerilogHDL模組的概念 99
5.1.2模組的基本結構 99
5.1.3連線埠聲明 101
5.2VerilogHDL的層次化設計 101
5.2.1VerilogHDL層次化設計的表現形式 101
5.2.2模組例化 102
5.2.3參數映射 106
5.2.4在ISE中通過圖形化方式實現層次化設計 108
5.3VerilogHDL語言的描述形式 111
5.3.1結構描述形式 111
5.3.2行為描述形式 116
5.3.3混合設計模式 119
5.4思考與練習 120
第6章VerilogHDL語言的基本要素 121
6.1標誌符與注釋 121
6.1.1標誌符 121
6.1.2注釋 122
6.2數字與邏輯數值 122
6.2.1邏輯數值 122
6.2.2常量 122
6.2.3參數 124
6.3數據類型 124
6.3.1線網類型 124
6.3.2暫存器類型 128
6.4運算符和表達式 132
6.4.1賦值運算符 132
6.4.2算術運算符 134
6.4.3邏輯運算符 136
6.4.4關係運算符 137
6.4.5條件運算符 138
6.4.6位運算符 140
6.4.7拼接運算符 141
6.4.8移位運算符 141
6.4.9一元約簡運算符 142
6.5思考與練習 143
第7章面向綜合的行為描述語句 144
7.1觸發事件控制 144
7.1.1信號電平事件語句 144
7.1.2信號跳變沿事件語句 145
7.2條件語句 146
7.2.1if語句 146
7.2.2case語句 147
7.2.3條件語句的深入理解 150
7.3循環語句 152
7.3.1repeat語句 152
7.3.2while語句 153
7.3.3for語句 154
7.3.4循環語句的深入理解 156
7.4任務與函式 157
7.4.1task語句 157
7.4.2function語句 159
7.4.3深入理解任務和函式 160
7.5思考與練習 161
第8章可綜合狀態機開發 163
8.1狀態機的基本概念 163
8.1.1狀態機的工作原理及分類 163
8.1.2狀態機描述方式 164
8.1.3狀態機設計思想 166
8.2可綜合狀態機設計原則 166
8.2.1狀態機開發流程 167
8.2.2狀態編碼原則 167
8.2.3狀態機的容錯處理 168
8.2.4常用的設計準則 169
8.3狀態機的VerilogHDL實現 170
8.3.1狀態機實現綜述 170
8.3.2Moore狀態機開發實例 173
8.3.3Mealy狀態機開發實例 175
8.4思考與練習 177
第9章面向驗證和仿真的行為描述語句 178
9.1驗證與仿真概述 178
9.1.1代碼驗證與仿真概述 179
9.1.2測試平台 179
9.1.3驗證測試方法論 181
9.1.4Testbench結構說明 185
9.2仿真程式執行原理 186
9.2.1VerilogHDL語義簡介 187
9.2.2VerilogHDL仿真原理 187
9.3延時控制語句 189
9.3.1延時控制的語法說明 189
9.3.2延時控制套用實例 189
9.4常用的行為仿真描述語句 192
9.4.1循環語句 192
9.4.2force和release語句 194
9.4.3wait語句 195
9.4.4事件控制語句 196
9.4.5task和function語句 197
9.4.6串列激勵與並行激勵語句 198
9.5用戶自定義元件 199
9.5.1UDP的定義與調用 199
9.5.2UDP套用實例 200
9.6仿真激勵的產生 202
9.6.1變數初始化 202
9.6.2時鐘信號的產生 205
9.6.3復位信號的產生 207
9.6.4數據信號的產生 208
9.6.5典型測試平台模組編寫實例 209
9.6.6關於仿真效率的說明 210
9.7思考與練習 210
第10章系統任務和編譯預處理語句 212
10.1系統任務語句 212
10.1.1輸出顯示任務 212
10.1.2檔案輸入/輸出任務 218
10.1.3時間標度任務 222
10.1.4仿真控制任務 224
10.1.5仿真時間函式 224
10.1.6數字類型變換函式 226
10.1.7機率分布函式 226
10.2編譯預處理語句 228
10.2.1宏定義`define語句 228
10.2.2條件編譯`if語句 230
10.2.3檔案包含`include語句 231
10.2.4時間尺度`timescale語句 233
10.2.5其他語句 234
10.3思考與練習 235
第11章VerilogHDL語言基礎 236
11.18-3編碼器 236
11.23-8解碼器 237
11.3數據選擇器 238
11.4多位數值比較器 240
11.5全加器 241
11.6D觸發器 242
11.7暫存器 243
11.8雙向移位暫存器 244
11.9四位二進制加減法計數器 245
11.10順序脈衝發生器 247
11.11序列信號發生器 248
11.12思考與練習 249
第12章擴展接口設計 250
12.1數碼管顯示接口實驗 250
12.1.1數碼管顯示接口實驗內容與實驗目的 250
12.1.2數碼管顯示接口設計原理 251
12.1.3數碼管顯示接口設計方法 252
12.2LCD液晶顯示接口實驗 259
12.2.1LCD液晶顯示接口實驗內容與實驗目的 259
12.2.2LCD液晶顯示接口設計原理 259
12.2.3LCD液晶顯示接口設計方法 262
12.3VGA顯示接口實驗 267
12.3.1VGA顯示接口實驗內容與實驗目的 267
12.3.2VGA顯示接口實驗設計原理 268
12.3.3VGA顯示接口實驗設計方法 269
12.4RS-232C串列通信接口實驗 271
12.4.1RS-232C串列通信接口實驗內容與實驗目的 271
12.4.2RS-232C串列通信接口設計原理 271
12.4.3RS-232C串列通信接口設計方法 274
12.5思考與練習 279
第13章系統設計實例 280
13.1實時溫度採集系統 280
13.1.1實時溫度採集系統實驗內容與實驗目的 280
13.1.2實時溫度採集系統設計原理 280
13.1.3實時溫度採集系統設計方法 283
13.2實時紅外採集系統 299
13.2.1實時紅外採集系統實驗內容與實驗目的 299
13.2.2實時紅外採集系統設計原理 299
13.2.3實時紅外採集系統設計方法 301
13.3實時鍵盤採集系統 305
13.3.1實時鍵盤採集系統實驗內容與實驗目的 305
13.3.2實時鍵盤採集系統設計原理 306
13.3.3實時鍵盤採集系統設計方法 308
13.4思考與練習 320