基本信息
作者:Clive "Max" Maxfield(作者), 杜生海(譯者)出版社:人民郵電出版社; 第1版 (2012年1月1日)
叢書名: 圖靈電子與電氣工程叢書
平裝:320頁
正文語種:簡體中文
開本:16
ISBN:9787115267412
條形碼:9787115267412
商品尺寸: 25.8 x 18.2 x 1.6 cm
商品重量: 522 g
內容簡介
《FPGA權威指南》是目前最實用的FPGA 類圖書的精華集粹,全書共12 章,內容涵蓋FPGA 設計基礎知識以及FPGA 設計全流程。《FPGA權威指南》重點突出,實用性強,所列實例均經過驗證。
《FPGA權威指南》適合電子工程師閱讀,也可作為高等院校相關專業師生的參考指南。
目錄
目 錄
第1章 FPGA結構比較 1
1.1 一點提醒 1
1.2 一些背景信息 2
1.3 反熔絲、SRAM與其他 3
1.3.1 基於SRAM的器件 3
1.3.2 基於SRAM器件的安全問題和解決方案 3
1.3.3 基於反熔絲的器件 4
1.3.4 基於EPROM的器件 5
1.3.5 基於E2PROM/FLASH的器件 5
1.3.6 FLASH-SRAM混合器件 6
1.3.7 小結 6
1.4 細粒度、中等粒度和粗粒度體系結構 6
1.5 基於MUX與基於LUT的邏輯塊 8
1.5.1 基於MUX的體系結構 8
1.5.2 基於LUT的體系結構 8
1.5.3 基於MUX還是基於LUT 10
1.5.4 3、4、5或6輸入LUT 10
1.5.5 LUT、分散式RAM與移位暫存器 10
1.6 CLB、LAB與slice 11
1.6.1 Xilinx邏輯單元 12
1.6.2 Altera邏輯部件 12
1.6.3 slicing和dicing 12
1.6.4 CLB和LAB 13
1.6.5 分散式RAM和移位暫存器 14
1.7 快速進位鏈 14
1.8 嵌入式RAM 15
1.9 嵌入式乘法器、加法器和MAC等 15
1.10 嵌入式處理器核(硬核與軟核) 16
1.10.1 微處理器硬核 17
1.10.2 微處理器軟核 18
1.11 時鐘樹和時間管理器 19
1.11.1 時鐘樹 19
1.11.2 時鐘管理器 19
1.12 通用I/O 22
1.12.1 可配置I/O標準 22
1.12.2 可配置I/O阻抗 23
1.12.3 核電壓與I/O電壓 23
1.13 吉比特收發器 24
1.14 IP硬核、IP軟核與IP固核 25
1.15 系統門與實際門 25
1.16 FPGA年齡 27
第2章 設計技巧、原則與指導 28
2.1 硬體描述語言 29
2.2 自頂向下設計 37
2.2.1 使用HDL 38
2.2.2 書面設計規範 38
2.2.3 分配資源 38
2.2.4 設計畫分 38
2.2.5 設計靈活性與最佳化 38
2.2.6 可重用性 38
2.2.7 布局規劃 39
2.2.8 驗證 39
2.2.9 了解體系結構 39
2.3 同步設計 40
2.3.1 同步設計五原則 40
2.3.2 競爭條件 41
2.3.3 延遲相關邏輯 43
2.3.4 保持時間違例 44
2.3.5 毛刺 45
2.3.6 門控時鐘 47
2.3.7 異步信號與亞穩態 47
2.3.8 允許使用異步邏輯的情況 51
2.4 浮動節點 52
2.5 匯流排競爭 53
2.6 獨熱狀態編碼 54
2.7 可測性設計 55
2.8 測試冗餘邏輯 56
2.8.1 什麼是冗餘邏輯 56
2.8.2 怎樣測試冗餘邏輯 57
2.9 初始化狀態機 58
2.10 可觀測節點 58
2.11 掃描技術 59
2.12 內建自測試 60
2.13 特徵分析 61
2.14 小結 62
第3章 VHDL基礎 64
3.1 引言 64
3.2 實體:模型接口 65
3.2.1 實體定義 65
3.2.2 連線埠 66
3.2.3 通用屬性語句 66
3.2.4 常數 66
3.2.5 實體舉例 67
3.3 構造體:模型行為 67
3.3.1 構造體的基本定義 67
3.3.2 構造體聲明 67
3.3.3 構造體語句 68
3.4 進程:VHDL中的基本功能單元 68
3.5 基本變數類型和操作符 69
3.5.1 常數 69
3.5.2 信號 69
3.5.3 變數 69
3.5.4 布爾操作符 69
3.5.5 算術操作符 70
3.5.6 比較操作符 70
3.5.7 移位函式 70
3.5.8 拼接 70
3.6 判斷與循環 71
3.6.1 if-then-else語句 71
3.6.2 case語句 72
3.6.3 for語句 72
3.6.4 while循環 72
3.6.5 exit語句 73
3.6.6 next語句 73
3.7 層次化設計 73
3.7.1 函式 73
3.7.2 包 73
3.7.3 元件 74
3.7.4 過程 75
3.8 調試模型 75
3.9 基本數據類型 75
3.9.1 基本類型 75
3.9.2 數據類型: bit 76
3.9.3 數據類型: Boolean 76
3.9.4 數據類型: 整數 76
3.9.5 數據類型: 字元型 77
3.9.6 數據類型: 實數 77
3.9.7 數據類型: 時間 77
3.10 小結 77
第4章 存儲器建模 78
4.1 存儲器陣列 78
4.1.1 Shelor方法 79
4.1.2 VITAL_Memory包 80
4.2 存儲器功能建模 80
4.2.1 使用行為模型方法 80
4.2.2 使用VITAL2000方法 89
4.3 VITAL_Memory路徑延遲 95
4.4 VITAL_Memory時序約束 97
4.5 預載入存儲器 97
4.5.1 行為存儲器預載入 98
4.5.2 VITAL_Memory預載入 100
4.6 其他類型存儲器的建模 100
4.6.1 同步靜態RAM 100
4.6.2 DRAM 103
4.6.3 SDRAM 104
4.7 小結 109
第5章 同步狀態機設計與分析 110
5.1 引言 110
5.2 時序狀態機模型 112
5.3 全記錄狀態圖 115
5.4 基本記憶單元 118
5.4.1 置位優先基本單元 118
5.4.2 復位優先基本單元 120
5.4.3 激勵表組合形式 121
5.4.4 基本單元的混合輸出 122
5.4.5 基本單元的混合輸出回響 123
5.5 觸發器簡介 124
5.5.1 觸發機制 125
5.5.2 觸發器類型 126
5.5.3 觸發器設計的層次化流程圖和模型 126
5.6 FSM(觸發器)設計步驟及映射算法 127
5.7 D觸發器:通用型 128
5.7.1 D鎖存器 128
5.7.2 上升沿觸發D觸發器 131
5.7.3 主從式D觸發器 134
5.8 觸發器的轉換:T、JK觸發器以及其他觸發器 136
5.8.1 T觸發器及其從D觸發器的轉換方法 137
5.8.2 JK觸發器及其從D觸發器轉換的方法 138
5.8.3 用JK觸發器設計T觸發器和D觸發器 140
5.8.4 激勵表回顧 141
5.8.5 專用觸發器和鎖存器的設計 142
5.9 鎖存器和觸發器中的嚴重時序問題:警告 145
5.10 異步預置位和復位 146
5.11 觸發器的建立時間和保持時間要求 147
5.12 使用邊緣觸發器設計簡單的同步狀態機:映射轉換 149
5.12.1 三比特二進制加減計數器設計:D到T的卡諾圖轉換 149
5.12.2 序列檢測器的設計:D到JK卡諾圖的轉換 152
5.13 簡單狀態機分析 156
5.14 簡單狀態機的VHDL描述 159
5.14.1 上升沿D觸發器的VHDL行為級描述 160
5.14.2 簡單狀態機的VHDL行為級描述 160
參考文獻 161
第6章 嵌入式處理器 163
6.1 引言 163
6.2 簡單的嵌入式處理器 164
6.2.1 嵌入式處理器體系結構 164
6.2.2 基本指令 165
6.2.3 取指執行周期 166
6.2.4 嵌入式處理器的暫存器分配 166
6.2.5 基本指令集 167
6.2.6 結構級還是行為級 168
6.2.7 機器碼指令集 168
6.2.8 微處理器的結構單元 169
6.2.9 處理器函式包 169
6.2.10 程式計數器 170
6.2.11 指令暫存器 171
6.2.12 算術邏輯單元 172
6.2.13 存儲器 173
6.2.14 微控制器 175
6.2.15 簡單微處理器總結 178
6.3 FPGA中的軟核處理器 178
6.4 小結 178
第7章 數位訊號處理 179
7.1 概述 179
7.2 基本DSP系統 180
7.3 基本DSP術語 181
7.4 DSP體系結構 182
7.5 DSP元件中的並行執行 183
7.6 FPGA中的並行執行 184
7.7 何時使用FPGA實現DSP功能 185
7.8 FPGA的DSP設計考慮 186
7.8.1 時鐘與信號的布線 186
7.8.2 流水線 187
7.8.3 算法實現的選擇 187
7.8.4 DSP智慧財產權 187
7.9 FIR濾波器概念舉例 188
7.10 小結 189
第8章 嵌入式音頻處理基礎 191
8.1 引言 191
8.1.1 聲音是什麼 192
8.1.2 音頻信號 193
8.1.3 語音處理 193
8.2 音頻信源與音頻信宿 194
8.2.1 在模擬與數字音頻信號之間轉換 194
8.2.2 音頻轉換器背景知識 195
8.2.3 連線到音頻轉換器 196
8.3 互連 199
8.3.1 連線器 199
8.3.2 數字連線 200
8.4 動態範圍與精度 200
8.5 音頻處理方法 207
8.5.1 如何將數據輸入到處理器核心 207
8.5.2 塊處理與採樣處理 207
8.5.3 雙快取 207
8.5.4 二維DMA 208
8.5.5 基本操作 208
8.5.6 信號生成 210
8.5.7 濾波與算法 210
8.5.8 採樣率變換 211
8.5.9 音頻壓縮 212
8.5.10 語音壓縮 214
參考文獻 216
第9章 嵌入式視頻與圖像處理基礎 217
9.1 引言 217
9.1.1 人類視覺感知 218
9.1.2 什麼是視頻信號 219
9.2 廣播電視系統——NTSC和PAL制式 220
9.2.1 視頻解析度 220
9.2.2 隔行掃描和逐行掃描 221
9.3 顏色空間 222
9.3.1 伽馬校正 222
9.3.2 色度下採樣 224
9.4 數字視頻 226
9.4.1 ITU-R BT.601(前稱為CCIR-601) 226
9.4.2 ITU-R BT.656(前稱為CCIR-656) 227
9.5 從系統角度看視頻 230
9.5.1 視頻源 230
9.5.2 視頻顯示 235
9.6 嵌入式視頻處理考慮 238
9.6.1 視頻連線埠特性 238
9.6.2 視頻ALU 240
9.6.3 DMA考慮 242
9.6.4 視頻算法分類 244
9.6.5 頻寬計算 244
9.6.6 去隔行處理 246
9.6.7 掃描速率轉換 246
9.6.8 像素處理 247
9.6.9 處理圖像邊界 248
9.6.10 色度重採樣、伽馬校正和顏色轉換 249
9.6.11 縮放與剪下 249
9.6.12 顯示處理 250
9.7 壓縮和解壓縮 251
9.7.1 無損和有損壓縮 252
9.7.2 圖像壓縮 253
9.7.3 視頻壓縮 254
9.7.4 EMP中的編碼與解碼 257
參考文獻 259
第10章 利用Simulink中的框圖設計流式FPGA套用 261
10.1 使用基於流的操作符設計高性能數據路徑 262
10.2 圖像處理設計引擎 263
10.2.1 將RGB視頻轉換為灰度視頻 263
10.2.2 二維視頻濾波 265
10.2.3 將視頻濾波器映射到BEE2FPGA開發平台 268
10.3 在Simulink中加入控制 269
10.3.1 使用Simulink塊設計控制器 270
10.3.2 使用Matlab M語言設計控制器 270
10.3.3 使用VHDL或Verilog設計控制器 272
10.3.4 使用嵌入式微處理器設計控制器 272
10.4 組件重用:簡單與複雜子系統庫 273
10.4.1 信號處理元件 273
10.4.2 瓦片式子系統 273
10.5 小結 275
致謝 276
參考文獻 276
第11章 梯形圖與功能框圖編程 278
11.1 梯形圖 279
11.2 邏輯功能 281
11.2.1 與 282
11.2.2 或 283
11.2.3 非 283
11.2.4 與非 284
11.2.5 或非 285
11.2.6 異或 286
11.3 鎖存器 286
11.4 多路輸出 287
11.5 輸入程式 289
11.6 功能框圖 290
11.6.1 邏輯門 291
11.6.2 布爾代數 293
11.7 編程舉例 295
第12章 定時器 298
12.1 定時器類型 298
12.2 對定時器編程 299
12.2.1 序列 299
12.2.2 級聯定時器 301
12.2.3 循環開關定時器 302
12.3 延遲關定時器 302
12.4 脈衝定時器 303
12.5 編程實例 305
索引 306