《Altera FPGA/CPLD設計(高級篇)(第2版)》是2016年5月人民郵電出版社出版的圖書,作者是EDA先鋒工作室、吳繼華、蔡海寧、王誠。
基本介紹
- 中文名:Altera FPGA/CPLD設計(高級篇)(第2版)
- 作者:EDA先鋒工作室、吳繼華、蔡海寧、王誠
- 出版社:人民郵電出版社
- 出版時間:2016年5月
- 頁數:330 頁
- 定價:49 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787115246660
內容簡介,圖書目錄,
內容簡介
本書結合作者多年工作經驗,深入地討論了Altera FPGA/CPLD的設計和最佳化技巧。在討論FPGA/CPLD設計指導原則的基礎上,介紹了Altera器件的高級套用;引領讀者學習邏輯鎖定設計工具,詳細討論了時序約束與靜態時序分析方法;結合實例討論如何進行設計最佳化,介紹了Altera的可程式器件的高級設計工具與系統級設計技巧。
本書附帶光碟中收錄了Altera Quartus II Web版軟體,讀者可以安裝使用,同時還收錄了本書所有實例的完整工程、原始碼和使用說明檔案,便於讀者邊學邊練,提高實際套用能力。
本書可作為高等院校通信工程、電子工程、計算機、微電子與半導體等專業的教材,也可作為硬體工程師和IC工程師的實用工具書。
圖書目錄
第 1章 可程式邏輯設計指導原則 1
1.1 可程式邏輯基本設計原則 1
1.1.1 面積和速度的平衡與互換原則 1
1.1.2 硬體原則 11
1.1.3 系統原則 13
1.1.4 同步設計原則 17
1.2 可程式邏輯常用設計思想與技巧 19
1.2.1 桌球操作 19
1.2.2 串並轉換 21
1.2.3 流水線操作 22
1.2.4 異步時鐘域數據同步 23
1.3 Altera推薦的Coding Style 27
1.3.1 Coding Style的含義 27
1.3.2 結構層次化編碼(Hierarchical Coding) 27
1.3.3 模組劃分的技巧(Design Partitioning) 29
1.3.4 組合邏輯的注意事項 30
1.3.5 時鐘設計的注意事項 33
1.3.6 全局異步復位資源 39
1.3.7 判斷比較語句case和if...else的優先權 39
1.3.8 使用Pipelining技術最佳化時序 39
1.3.9 模組復用與Resource Sharing 40
1.3.10 邏輯複製 42
1.3.11 香農擴展運算 43
1.3.12 信號敏感表 46
1.3.13 狀態機設計的一般原則 46
1.3.14 Altera Megafunction資源的使用 48
1.3.15 三態信號的設計 49
1.3.16 加法樹的設計 49
1.4 小結 52
1.5 問題與思考 52
第 2章 Altera器件高級特性與套用 53
2.1 時鐘管理 53
2.1.1 時序問題 53
2.1.2 鎖相環套用 60
2.2 片記憶體儲器 69
2.2.1 RAM的普通用法 69
2.2.2 RAM用做移位暫存器 73
2.2.3 RAM實現固定係數乘法 74
2.3 數位訊號處理 75
2.3.1 DSP塊資源 75
2.3.2 工具支持 79
2.3.3 典型套用 79
2.4 片外高速存儲器 80
2.4.1 存儲器簡介 80
2.4.2 ZBT SRAM接口設計 83
2.4.3 DDR SDRAM接口設計 85
2.4.4 QDR SRAM接口設計 99
2.4.5 DDR3、QDR II+和RLDRAM II+ 100
2.4.6 軟體支持和套用實例 100
2.5 高速差分接口和DPA 102
2.5.1 高速差分接口的需求 102
2.5.2 器件的專用資源 102
2.5.3 動態相位調整電路(DPA) 109
2.5.4 軟體支持和套用實例 111
2.6 高速串列收發器 115
2.7 小結 116
2.8 問題與思考 116
第3章 LogicLock設計方法 117
3.1 LogicLock設計方法簡介 117
3.1.1 LogicLock設計方法的目標 118
3.1.2 LogicLock設計流程 120
3.1.3 LogicLock設計方法支持的器件族 120
3.2 LogicLock區域 120
3.2.1 Region的類型與常用屬性值 121
3.2.2 Region的創建方法 122
3.2.3 Region的層次結構 127
3.2.4 指定Region的邏輯內容 128
3.3 LogicLock的約束注意事項 130
3.3.1 約束優先權 130
3.3.2 規劃LogicLock區域 131
3.3.3 向LogicLock區域中布置器件特性 131
3.3.4 虛擬引腳(Virtual Pins) 132
3.4 反標註布線信息 133
3.4.1 導出反標註布線信息 134
3.4.2 導入反標註布線信息 136
3.5 LogicLock設計方法支持的Tcl Scripts 136
3.6 Quartus II基於模組化的設計流程 137
3.7 小結 147
3.8 問題與思考 147
第4章 時序約束與時序分析 148
4.1 時序約束與時序分析基礎 148
4.1.1 周期與最高頻率 149
4.1.2 利用Quartus II工具分析設計 151
4.1.3 時鐘建立時間 154
4.1.4 時鐘保持時間 155
4.1.5 時鐘輸出延時 155
4.1.6 引腳到引腳的延遲 156
4.1.7 Slack 156
4.1.8 時鐘偏斜 157
4.1.9 Quartus II 時序分析工具和最佳化嚮導 157
4.2 設定時序約束的常用方法 158
4.2.1 指定全局時序約束 159
4.2.2 指定個別時鐘約束 163
4.3 高級時序分析 171
4.3.1 時鐘偏斜 171
4.3.2 多時鐘域 173
4.3.3 多周期約束 173
4.3.4 偽路徑 180
4.3.5 修正保持時間違例 182
4.3.6 異步時鐘域時序分析 183
4.4 **小化時序分析 184
4.5 使用Tcl工具進行高級時序分析 185
4.6 TimeQuest簡介 186
4.7 小結 189
4.8 問題與思考 189
第5章 設計最佳化 190
5.1 解讀設計 190
5.1.1 內部時鐘域 191
5.1.2 多周期路徑和偽路徑 192
5.1.3 I/O接口的時序要求 193
5.1.4 平衡資源的使用 193
5.2 設計最佳化的基本流程和首次編譯 194
5.2.1 設計最佳化基本流程 194
5.2.2 首次編譯的約束和設定 195
5.2.3 查看編譯報告 197
5.3 資源利用最佳化 199
5.3.1 設計代碼最佳化 200
5.3.2 資源重新分配 200
5.3.3 解決互連資源緊張的問題 202
5.3.4 邏輯綜合面積最佳化 202
5.3.5 網表面積最佳化 206
5.3.6 暫存器打包 208
5.3.7 Quartus II中的資源最佳化顧問 210
5.4 I/O時序最佳化 210
5.4.1 執行時序驅動的編譯 210
5.4.2 使用IOE中的觸發器 211
5.4.3 可程式輸入/輸出延時 214
5.4.4 使用鎖相環對時鐘移相 216
5.4.5 其他I/O時序最佳化方法 217
5.5 最高時鐘頻率最佳化 218
5.5.1 設計代碼最佳化 218
5.5.2 邏輯綜合速度最佳化 224
5.5.3 布局布線器設定 226
5.5.4 網表最佳化和物理綜合 227
5.5.5 使用LogicLock對局部進行最佳化 232
5.5.6 位置約束、手動布局和反標註 233
5.5.7 Quartus II中的時序最佳化顧問 234
5.6 使用DSE工具最佳化設計 235
5.6.1 為什麼需要DSE 235
5.6.2 什麼是DSE,如何使用 235
5.7 如何減少編譯時間 237
5.8 設計最佳化實例 238
5.9 小結 241
5.10 問題與思考 242
第6章 Altera其他高級工具 243
6.1 命令行與Tcl腳本 243
6.1.1 命令行腳本 244
6.1.2 Tcl腳本 248
6.1.3 使用命令行和Tcl腳本 252
6.2 HardCopy流程 253
6.2.1 結構化ASIC 253
6.2.2 HardCopy器件 256
6.2.3 HardCopy設計流程 258
6.3 基於Nios II處理器的嵌入式系統設計 261
6.3.1 Nios II處理器系統 261
6.3.2 Avalon交換結構 264
6.3.3 使用SOPC Builder構建系統硬體 267
6.3.4 Nios II IDE集成開發環境 270
6.3.5 Nios II系統典型套用 276
6.4 DSP Builder工具 279
6.4.1 DSP Builder設計流程 279
6.4.2 與SOPC Builder一起構建系統 283
6.5 小結 284
6.6 問題與思考 284
第7章 FPGA系統級設計技術 285
7.1 信號完整性及常用I/O電平標準 285
7.1.1 信號完整性 285
7.1.2 單端標準 290
7.1.3 差分標準 294
7.1.4 偽差分標準 297
7.1.5 片上終端電阻 297
7.2 電源完整性設計 298
7.2.1 電源完整性 298
7.2.2 同步翻轉噪聲 299
7.2.3 非理想迴路 302
7.2.4 低阻抗電源分配系統 305
7.3 功耗分析和熱設計 309
7.3.1 功耗的挑戰 309
7.3.2 FPGA的功耗 309
7.3.3 熱設計 311
7.4 SERDES與高速系統設計 313
7.4.1 SERDES的基本概念 314
7.4.2 Altera Stratix IV GX中SERDES的基本結構 317
7.4.3 典型高速系統套用框圖舉例 323
7.4.4 高速PCB設計注意事項 327
7.5 小結 329
7.6 問題與思考 330