Intel FPGA/CPLD設計(高級篇)

Intel FPGA/CPLD設計(高級篇)

《Intel FPGA/CPLD設計(高級篇)》是2017年9月人民郵電出版社出版的圖書,作者是王江宏、蔡海寧、顏遠、王誠、吳繼華。

基本介紹

  • 中文名:Intel FPGA/CPLD設計(高級篇)
  • 作者:王江宏、蔡海寧、顏遠、王誠、吳繼華
  • 出版社:人民郵電出版社
  • 出版時間:2017年9月
  • 頁數:318 頁
  • 定價:59 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115466785
內容簡介,圖書目錄,

內容簡介

本書作者憑藉多年工作經驗,深入地討論龍坑盼敬了Intel FPGA/CPLD的設計和最佳化技巧。在討論FPGA/CPLD設計指導原則的基礎上,介紹了Intel FPGA器件的高-級套用;引-領讀者學習邏輯鎖定設計工具,詳細討論了時序約束與靜態時序分析的方法;針對市場套用需求,分別歸應晚拳介紹了SoC FPGA和OpenCL系統套用技術;結合實例討論如何進行設計最佳化,介紹了Intel的可程式器件的高-級設計工具與系統級設計技巧。
本書所有實例的完整工程、原始碼和使用說明檔案,都以雲存儲的方式存放在雲端,讀者可以通過掃描二維碼的方式進行下載。
本書可作為高等院校通信工程、電子工程、計算機、微電子與半導體等專業的教材,也可作為硬體工程師和IC工程師的實用工具書。

圖書目錄

第 1章 可程式邏輯設計指導原則 1
1.1 可程式邏輯基本設計原則 1
1.1.1 面積和速度的平衡阿翻與互換原則 1
1.1.2 硬體原則 11
1.1.3 系料試循統原則 13
1.1.4 同步設計原則 16
1.2 可程式邏輯常用設計思想與技巧 19
1.2.1 桌球操作 19
1.2.2 串並轉換 21
1.2.3 流水線操作 21
1.2.4 異步時鐘域數據同步 22
1.3 Altera推薦的Coding Style 26
1.3.1 Coding Style的含義 27
1.3.2 結構層次化編碼(Hierarchical Coding) 27
1.3.3 模組劃分的技巧(Design Partitioning) 28
1.3.4 組合邏輯的注意事項 29
1.3.5 時鐘設計的注意事項 32
1.3.6 全局異步復位資源 38
1.3.7 判斷比較語句case和if...else的優先權 39
1.3.8 使用Pipelining技術最佳化時序 39
1.3.9 模組復用與Resource Sharing 39
1.3.10 邏輯複製 41
1.3.11 香農擴展運算 43
1.3.12 信號敏感表 45
1.3.13 狀態機設計的一般原則 46
1.3.14 Altera Megafunction資源的使用 48
1.3.15 三態信號的設計 48
1.3.16 加法樹的設計 49
1.4 小結 51
1.5 問題與思考 52
第 2章 Altera器件**特性與套用 53
2.1 時鐘管理 53
2.1.1 時序問題 53
2.1.2 鎖相環套用 60
2.2 Arria10硬浮點數位訊號處理模組 69
2.2.1 硬浮點DSP塊介紹 69
2.2.2 Altera FPGA中浮點DSP實現的演進 69
2.2.3 硬浮點DSP的優勢 70
2.2.4 Xilinx Ultrascale DSP48E2 74
2.3 片外高速存儲器 74
2.3.1 外部存儲接口方案的關鍵特性 74
2.3.2 支持的存儲標準 75
2.3.3 存儲接口寬度 75
2.3.4 I/O管腳 76
2.3.5 外部存儲接口IP支持類型 76
2.3.6 Arria10外部存儲接口架構 78
2.4 Hybrid Memory Cube 83
2.4.1 存儲頻寬面臨的挑戰 83
2.4.2 HMC的優勢 84
2.4.3 Altera HMC互動操作平台 85
2.4.4 Altera HMC路標 87
2.4.5 網路系統套用案例 88
2.5 Altera JESD204B Megacore 90
2.5.1 基汗嬸阿本介紹 90
2.5.2 功能描述兵局碑 94
2.5.3 Debug指導 97
2.6 高速串列收發器 100
2.6.1 Arria10 Transceiver概述 100
2.6.2 Transceiver設計流程 104
2.6.3 PLL和時鐘網路 107
2.6.4 復位Transceiver通道 112
2.6.5 重配接口和動態重配 115
2.6.6 校準 118
2.7 小結 119
2.8 問題與思考 119
第3章 SoC FPGA嵌入式設計基礎 120
3.1 SoC FPGA簡介 120
3.1.1 SoC FPGA系列器件組合 120
3.1.2 SoC FPGA的工具和軟體 124
3.1.3 SoC FPGA的生態系統 124
3.2 基於ARM Coretex A9 MPCore的硬體處理系統 126
3.2.1 硬核處理器系統框圖與系統集成 127
3.2.2 Endian支持腳邀估 129
3.2.3 HPS-FPGA橋接 129
3.2.4 HPS地址映射 130
3.3 Qsys系統集成工具 131
3.3.1 Qsys簡介 131
3.3.2 在Qsys中例化硬核處理器系統組件 132
3.4 SoC嵌入式設計套裝 (Embedded Design Suite) 140
3.4.1 SoC EDS介紹 140
3.4.2 Embedded Command Shell 143
3.4.3 ARM DS-5 AE 143
3.4.4 啟動工具使用指南 144
3.4.5 硬體庫(Hardware Library) 145
3.4.6 HPS Flash編程器 146
3.4.7 裸金屬編譯器 147
3.4.8 Linux軟體開發工具 147
3.5 小結 148
3.6 問題與思考 148
第4章 時序約束與時序分析 149
4.1 時序約束與時序分析基礎 149
4.1.1 周期與最高頻率 150
4.1.2 利用Quartus II工具分析設計 152
4.1.3 時鐘建立時間 155
4.1.4 時鐘保持時間 156
4.1.5 時鐘輸出延時 156
4.1.6 引腳到引腳的延遲 157
4.1.7 Slack 157
4.1.8 時鐘偏斜 158
4.1.9 Quartus II 時序分析工具和最佳化嚮導 158
4.2 設定時序約束的常用方法 159
4.2.1 指定全局時序約束 160
4.2.2 指定個別時鐘約束 164
4.3 **時序分析 172
4.3.1 時鐘偏斜 172
4.3.2 多時鐘域 174
4.3.3 多周期約束 174
4.3.4 偽路徑 181
4.3.5 修正保持時間違例 183
4.3.6 異步時鐘域時序分析 184
4.4 **小化時序分析 185
4.5 使用Tcl工具進行**時序分析 186
4.6 TimeQuest簡介 187
4.7 小結 190
4.8 問題與思考 190
第5章 設計最佳化 191
5.1 解讀設計 191
5.1.1 內部時鐘域 192
5.1.2 多周期路徑和偽路徑 193
5.1.3 I/O接口的時序要求 194
5.1.4 平衡資源的使用 194
5.2 設計最佳化的基本流程和**編譯 195
5.2.1 設計最佳化基本流程 195
5.2.2 **編譯的約束和設定 196
5.2.3 查看編譯報告 198
5.3 資源利用最佳化 200
5.3.1 設計代碼最佳化 201
5.3.2 資源重新分配 201
5.3.3 解決互連資源緊張的問題 203
5.3.4 邏輯綜合面積最佳化 203
5.3.5 網表面積最佳化 207
5.3.6 暫存器打包 209
5.3.7 Quartus II中的資源最佳化顧問 211
5.4 I/O時序最佳化 211
5.4.1 執行時序驅動的編譯 211
5.4.2 使用IOE中的觸發器 212
5.4.3 可程式輸入/輸出延時 215
5.4.4 使用鎖相環對時鐘移相 217
5.4.5 其他I/O時序最佳化方法 218
5.5 最高時鐘頻率最佳化 219
5.5.1 設計代碼最佳化 219
5.5.2 邏輯綜合速度最佳化 225
5.5.3 布局布線器設定 227
5.5.4 網表最佳化和物理綜合 228
5.5.5 使用LogicLock對局部進行最佳化 233
5.5.6 位置約束、手動布局和反標註 234
5.5.7 Quartus II中的時序最佳化顧問 235
5.6 使用DSE工具最佳化設計 236
5.6.1 為什麼需要DSE 236
5.6.2 什麼是DSE,如何使用 236
5.7 如何減少編譯時間 238
5.8 設計最佳化實例 239
5.9 小結 242
5.10 問題與思考 243
第6章 Altera OpenCL開發套件和其他**工具 244
6.1 命令行與Tcl腳本 244
6.1.1 命令行腳本 245
6.1.2 Tcl腳本 249
6.1.3 使用命令行和Tcl腳本 253
6.2 DSP Builder工具 254
6.2.1 DSP Builder設計流程 254
6.2.2 與SOPC Builder一起構建系統 258
6.3 Altera OpenCL軟體開發套件 259
6.3.1 OpenCL基本介紹 259
6.3.2 OpenCL架構 260
6.3.3 AOCL的安裝和套用 264
6.3.4 AOCL FPGA編程 267
6.4 小結 272
6.5 問題與思考 272
第7章 FPGA系統級設計技術 273
7.1 信號完整性及常用I/O電平標準 273
7.1.1 信號完整性 273
7.1.2 單端標準 278
7.1.3 差分標準 282
7.1.4 偽差分標準 285
7.1.5 片上終端電阻 285
7.2 電源完整性設計 286
7.2.1 電源完整性 286
7.2.2 同步翻轉噪聲 287
7.2.3 非理想迴路 290
7.2.4 低阻抗電源分配系統 293
7.3 功耗分析和熱設計 297
7.3.1 功耗的挑戰 297
7.3.2 FPGA的功耗 297
7.3.3 熱設計 299
7.4 SERDES與高速系統設計 301
7.4.1 SERDES的基本概念 302
7.4.2 Altera Stratix IV GX中SERDES的基本結構 305
7.4.3 典型高速系統套用框圖舉例 311
7.4.4 高速PCB設計注意事項 315
7.5 小結 317
7.6 問題與思考 318
2.2.1 硬浮點DSP塊介紹 69
2.2.2 Altera FPGA中浮點DSP實現的演進 69
2.2.3 硬浮點DSP的優勢 70
2.2.4 Xilinx Ultrascale DSP48E2 74
2.3 片外高速存儲器 74
2.3.1 外部存儲接口方案的關鍵特性 74
2.3.2 支持的存儲標準 75
2.3.3 存儲接口寬度 75
2.3.4 I/O管腳 76
2.3.5 外部存儲接口IP支持類型 76
2.3.6 Arria10外部存儲接口架構 78
2.4 Hybrid Memory Cube 83
2.4.1 存儲頻寬面臨的挑戰 83
2.4.2 HMC的優勢 84
2.4.3 Altera HMC互動操作平台 85
2.4.4 Altera HMC路標 87
2.4.5 網路系統套用案例 88
2.5 Altera JESD204B Megacore 90
2.5.1 基本介紹 90
2.5.2 功能描述 94
2.5.3 Debug指導 97
2.6 高速串列收發器 100
2.6.1 Arria10 Transceiver概述 100
2.6.2 Transceiver設計流程 104
2.6.3 PLL和時鐘網路 107
2.6.4 復位Transceiver通道 112
2.6.5 重配接口和動態重配 115
2.6.6 校準 118
2.7 小結 119
2.8 問題與思考 119
第3章 SoC FPGA嵌入式設計基礎 120
3.1 SoC FPGA簡介 120
3.1.1 SoC FPGA系列器件組合 120
3.1.2 SoC FPGA的工具和軟體 124
3.1.3 SoC FPGA的生態系統 124
3.2 基於ARM Coretex A9 MPCore的硬體處理系統 126
3.2.1 硬核處理器系統框圖與系統集成 127
3.2.2 Endian支持 129
3.2.3 HPS-FPGA橋接 129
3.2.4 HPS地址映射 130
3.3 Qsys系統集成工具 131
3.3.1 Qsys簡介 131
3.3.2 在Qsys中例化硬核處理器系統組件 132
3.4 SoC嵌入式設計套裝 (Embedded Design Suite) 140
3.4.1 SoC EDS介紹 140
3.4.2 Embedded Command Shell 143
3.4.3 ARM DS-5 AE 143
3.4.4 啟動工具使用指南 144
3.4.5 硬體庫(Hardware Library) 145
3.4.6 HPS Flash編程器 146
3.4.7 裸金屬編譯器 147
3.4.8 Linux軟體開發工具 147
3.5 小結 148
3.6 問題與思考 148
第4章 時序約束與時序分析 149
4.1 時序約束與時序分析基礎 149
4.1.1 周期與最高頻率 150
4.1.2 利用Quartus II工具分析設計 152
4.1.3 時鐘建立時間 155
4.1.4 時鐘保持時間 156
4.1.5 時鐘輸出延時 156
4.1.6 引腳到引腳的延遲 157
4.1.7 Slack 157
4.1.8 時鐘偏斜 158
4.1.9 Quartus II 時序分析工具和最佳化嚮導 158
4.2 設定時序約束的常用方法 159
4.2.1 指定全局時序約束 160
4.2.2 指定個別時鐘約束 164
4.3 **時序分析 172
4.3.1 時鐘偏斜 172
4.3.2 多時鐘域 174
4.3.3 多周期約束 174
4.3.4 偽路徑 181
4.3.5 修正保持時間違例 183
4.3.6 異步時鐘域時序分析 184
4.4 **小化時序分析 185
4.5 使用Tcl工具進行**時序分析 186
4.6 TimeQuest簡介 187
4.7 小結 190
4.8 問題與思考 190
第5章 設計最佳化 191
5.1 解讀設計 191
5.1.1 內部時鐘域 192
5.1.2 多周期路徑和偽路徑 193
5.1.3 I/O接口的時序要求 194
5.1.4 平衡資源的使用 194
5.2 設計最佳化的基本流程和**編譯 195
5.2.1 設計最佳化基本流程 195
5.2.2 **編譯的約束和設定 196
5.2.3 查看編譯報告 198
5.3 資源利用最佳化 200
5.3.1 設計代碼最佳化 201
5.3.2 資源重新分配 201
5.3.3 解決互連資源緊張的問題 203
5.3.4 邏輯綜合面積最佳化 203
5.3.5 網表面積最佳化 207
5.3.6 暫存器打包 209
5.3.7 Quartus II中的資源最佳化顧問 211
5.4 I/O時序最佳化 211
5.4.1 執行時序驅動的編譯 211
5.4.2 使用IOE中的觸發器 212
5.4.3 可程式輸入/輸出延時 215
5.4.4 使用鎖相環對時鐘移相 217
5.4.5 其他I/O時序最佳化方法 218
5.5 最高時鐘頻率最佳化 219
5.5.1 設計代碼最佳化 219
5.5.2 邏輯綜合速度最佳化 225
5.5.3 布局布線器設定 227
5.5.4 網表最佳化和物理綜合 228
5.5.5 使用LogicLock對局部進行最佳化 233
5.5.6 位置約束、手動布局和反標註 234
5.5.7 Quartus II中的時序最佳化顧問 235
5.6 使用DSE工具最佳化設計 236
5.6.1 為什麼需要DSE 236
5.6.2 什麼是DSE,如何使用 236
5.7 如何減少編譯時間 238
5.8 設計最佳化實例 239
5.9 小結 242
5.10 問題與思考 243
第6章 Altera OpenCL開發套件和其他**工具 244
6.1 命令行與Tcl腳本 244
6.1.1 命令行腳本 245
6.1.2 Tcl腳本 249
6.1.3 使用命令行和Tcl腳本 253
6.2 DSP Builder工具 254
6.2.1 DSP Builder設計流程 254
6.2.2 與SOPC Builder一起構建系統 258
6.3 Altera OpenCL軟體開發套件 259
6.3.1 OpenCL基本介紹 259
6.3.2 OpenCL架構 260
6.3.3 AOCL的安裝和套用 264
6.3.4 AOCL FPGA編程 267
6.4 小結 272
6.5 問題與思考 272
第7章 FPGA系統級設計技術 273
7.1 信號完整性及常用I/O電平標準 273
7.1.1 信號完整性 273
7.1.2 單端標準 278
7.1.3 差分標準 282
7.1.4 偽差分標準 285
7.1.5 片上終端電阻 285
7.2 電源完整性設計 286
7.2.1 電源完整性 286
7.2.2 同步翻轉噪聲 287
7.2.3 非理想迴路 290
7.2.4 低阻抗電源分配系統 293
7.3 功耗分析和熱設計 297
7.3.1 功耗的挑戰 297
7.3.2 FPGA的功耗 297
7.3.3 熱設計 299
7.4 SERDES與高速系統設計 301
7.4.1 SERDES的基本概念 302
7.4.2 Altera Stratix IV GX中SERDES的基本結構 305
7.4.3 典型高速系統套用框圖舉例 311
7.4.4 高速PCB設計注意事項 315
7.5 小結 317
7.6 問題與思考 318

相關詞條

熱門詞條

聯絡我們