定價: | ¥ 49 | ||
作者: | EDA先鋒工作室 吳繼華 蔡海寧 王誠 編著 | ||
出版: | 人民郵電出版社 | ||
書號: | 9787115246660 | ||
語言: | 簡體中文 | ||
日期: | 2011-02-01 | ||
版次: | 1 | 頁數: | 330 |
開本: | 16開 | 查看: | 0次 |
服務商城 | 客服電話 | 配送服務 | 優惠價 | 購買 |
400-711-6699 | 滿29至69元,免運費! | ¥39.6 |
本書結合作者多年工作經驗,深入地討論了Altera FPGA/CPLD的設計和優化技巧。在討論FPGA/CPLD設計指導原則的基礎上,介紹了Altera器件的高級應用;引領讀者學習邏輯鎖定設計工具,詳細討論了時序約束與靜態時序分析方法;結合實例討論如何進行設計優化,介紹了Altera的可編程器件的高級設計工具與系統級設計技巧?! ”緯綆Ч獗P中收錄了Altera Quartus II Web版軟件,讀者可以安裝使用,同時還收錄了本書所有實例的完整工程、源代碼和使用說明文件,便于讀者邊學邊練,提高實際應用能力?! ”緯勺鳛楦叩仍盒Mㄐ殴こ獭㈦娮庸こ獭⒂嬎銠C、微電子與半導體等專業的教材,也可作為硬件工程師和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
第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