《Lattice FPGA/CPLD設計(基礎篇)》是2011年1月人民郵電出版社出版的圖書,作者是梁成志。
基本介紹
- 中文名:Lattice FPGA/CPLD設計(基礎篇)
- 作者:梁成志
- ISBN:9787115244208
- 頁數:430頁
- 定價:59元
- 出版社:人民郵電出版社
- 出版時間:2011年1月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
本書是由Lattice公司技術專家編寫、審校而成的國內第 一本系統介紹Lattice器件及工具軟體的書籍,彌補了目前國內沒有權威的中文Lattice器件和工具軟體書的空白(本書為“基礎篇”,隨後將會編輯出版“高級篇”)。本書結合作者十多年的工作經驗,系統地介紹了FPGA/CPLD的基本設計方法,Lattice主流FPGA/CPLD的結構與特點,Lattice工具軟體以及設計流程,Lattice器件相關的常用調試手段和技巧,Lattice提供的系譽乃斷蜜統解決方案等。
本書配套光碟中收錄了ispLEVER Starter軟體以及書中所有實例的完整工程檔案、設計源檔案,並提供了部分Lattice器件的技術手冊,便於讀者邊學邊練,提高實際套用能力。
本書可作為硬體工程師和邏輯工程師的實用工具書,也可以作為高等院校通信工程、電子工程、計算機、微電子與半導體等專業的教材和課外輔導書籍。
圖書目錄
第 1章 FPGA/CPLD簡介 1
1.1 可程式邏輯設計技術簡介 1
1.1.1 可程式邏輯器件發展簡史 1
1.1.2 可程式邏輯器件的分類 2
1.2 FPGA/CPLD的基本結構 2
1.2.1 FPGA的基本結構 3
1.2.2 CPLD的基本結構 6
1.2.3 FPGA和CPLD的比較 8
1.3 FPGA/CPLD的設計流程 10
1.4 FPGA/CPLD的常用開發工具 13
1.5 下一代可程式邏輯設計技術展望 16
1.5.1 下一代可程式邏輯器件硬體上的發展趨勢 17
1.5.2 下一代EDA軟體設計方法發展趨勢 24
1.6 小結 27
1.7 問題與思考 28
第 2章 Lattice可程式邏輯器件的結構和特點 29
2.1 CPLD器件 29
2.1.1 ispMACH 4000 CPLD的結構和特點 30
2.1.2 未來CPLD的替代產品MachXO 31
2.1.3 MachXO2系列器件 罪歡希35
2.2 FPGA器件 35
2.2.1 非易失(Non-Volatile)XP/XP2系列FPGA 36
2.2.2 高性價比的ECP2M/ECP3系列FPGA 40
2.2.3 即將面世的ECP4系列FPGA 43
2.3 可程式數模混合器件 44
2.3.1 可程式電源管理晶片的結構和特點 44
2.3.2 可程式時鐘管理晶片的結構和特點 48
2.4 小結 50
2.5 問題與思考 51
第3章 ispLEVER FPGA開發流程入門 52
3.1 ispLEVER FPGA開發流程概述 52
3.2 提謎束ispLEVER的安裝和線上更新 53
3.2.1 ispLEVER的安裝 53
3.2.2 ispLEVER 許可證的獲取和設定 57
3.2.3 ispLEVER 8.0的線上更新 59
3.3 設計輸入:異步FIFO的設計 60
3.3.1 異步FIFO規格定義 61
3.3.2 異步FIFO方案設計 62
3.3.3 異步FIFO上板測試方案設計 63
3.4 ispLEVER工程管理 65
3.5 FIFO的功能仿真 69
3.6 綜合(Synthesis) 73
3.7 資料庫生成(Build Database) 74
3.8 設計約束 75
3.9 映射(MAP) 79
3.10 布局布線(Place & Route) 81
3.11 靜態時序分析 83
3.12 時序仿真 84
3.13 生成位流檔案 87
3.14 下載調試 87
3.15 小結 97
3.16 問題與思考 98
第4章 ispLEVER FPGA開發流程進階 99
4.1 ispLEVER軟體的選擇 99
4.2 綜合(Synthesis)高級選項設定 100
4.2.1 綜合流程的選擇 101
4.2.2 綜合選項列表 102
4.2.3 綜合選項的選擇 105
4.3 網錶轉換(Build Database)選項設定 109
4.4 映射(MAP)選項設定 111
4.5 布局布線(Place & Route)選項設定 116
4.5.1 布局布線概述 117
4.5.2 布局布線可配置選項 119
4.5.3 布局過程和不同算法 122
4.5.4 布線過程和不同算法 124
4.5.5 多種子體元連運行考慮 129
4.5.6 擁塞設淋洪探計 131
4.5.7 保持時間違例自動修正 133
4.6 FPGA設計約束 136
4.6.1 FPGA設計約束的表現束試閥驗形式 蜜海136
4.6.2 Design Planner集成環境概述 137
4.6.3 Design Planner各種設計約束說明 138
4.7 下載檔案約束 154
4.8 FPGA設計檢查 156
4.8.1 【Project Summary】報告 157
4.8.2 【Synthesis and Ngdbuild Report】報告 157
4.8.3 【Build Database Report】報告 161
4.8.4 【Map Report】報告 161
4.8.5 【Map Trace Report】報告 163
4.8.6 【Place & Route Report】報告 163
4.8.7 【PAD Specification File】報告 164
4.8.8 【Place & Route TRACE Report】報告 165
4.8.9 【I/O SSO Analysis Report】報告 165
4.9 FPGA設計工程管理 165
4.9.1 ispLEVER工程版本發布 166
4.9.2 個性化環境設定 168
4.9.3 Search Path和Verilog Variables的設定 170
4.10 小結 171
4.11 問題與思考 172
第5章 Lattice常用輔助設計工具 173
5.1 設計規劃(Design Planner) 174
5.1.1 啟動Design Planner 174
5.1.2 Spreadsheet View 176
5.1.3 Package View 175
5.1.4 Pre-Mapped View 178
5.1.5 Post-Mapped View 183
5.1.6 Floorplan View 183
5.1.7 Physical View 186
5.1.8 Path Tracer 189
5.1.9 Timing Analyzer 191
5.2 EPIC 193
5.2.1 啟動EPIC 193
5.2.2 EPIC的設計檢查功能 195
5.2.3 EPIC的ECO功能 199
5.3 EBR初始化工具和初始化檔案生成工具 208
5.4 靜態時序分析 211
5.4.1 fMAX分析 213
5.4.2 tCO分析 214
5.4.3 tSU、tHD分析 215
5.4.4 tP2P分析 215
5.4.5 tPD分析 215
5.5 功耗計算器(Power Calculator) 216
5.5.1 功耗計算的相關概念 216
5.5.2 功耗計算器的操作 217
5.6 保持時間違例自動修正(Auto Hold Time Correction) 221
5.7 時鐘加速(Clock Boosting) 222
5.8 輸出IBIS模型 223
5.9 反標管腳信息(Backannotate Assignments) 223
5.10 小結 223
5.11 問題與思考 224
第6章 Lattice FPGA/CPLD的載入配置 225
6.1 常見的載入配置方法 225
6.1.1 JTAG載入配置方法 227
6.1.2 CPU模擬JTAG口進行遠程線上載入 230
6.1.3 Slave-Serial載入方法 234
6.1.4 SPI串列Flash載入方法 238
6.2 載入配置檔案的類型和生成方法 243
6.3 Lattice CPLD/FPGA的高級載入配置特性 246
6.3.1 雙啟動 246
6.3.2 非易失器件的SDM 248
6.3.3 載入過程中I/O的鎖定和配置 248
6.3.4 透明線上升級TFR 251
6.3.5 加密特性 252
6.3.6 休眠與激活 252
6.4 ispVM載入配置軟體的使用方法 252
6.4.1 雙啟動的載入 253
6.4.2 TFR載入 255
6.5 小結 257
6.6 問題與思考 257
第7章 Lattice IP開發工具 258
7.1 IP的基本概念、Lattice可用的IP分類 258
7.1.1 可參數化模組 259
7.1.2 ispLEVER Core IP 260
7.1.3 ispLEVER Core第三方IP 262
7.1.4 參考設計 262
7.1.5 嵌入式CPU 263
7.2 IPexpress——Lattice的IP管理和開發工具 263
7.2.1 IPexpress的啟動 263
7.2.2 IPexpress的使用 264
7.2.3 IPexpress中IP列表的下載和更新 268
7.3 使用Lattice可參數化模組、IP的設計流程 269
7.3.1 模組和IP的例化 270
7.3.2 模組和IP的仿真 271
7.3.3 ispLEVER Core IP的評估模式 276
7.4 在ModelSim中編譯和添加Lattice仿真庫 277
7.4.1 編譯Verilog仿真庫檔案 278
7.4.2 編譯VHDL仿真庫檔案 283
7.4.3 ispLEVER提供的加密、已編譯仿真庫 285
7.4.4 讓ModelSim啟動時默認調用Lattice器件仿真庫 286
7.4.5 在ModelSim中進行後仿真 287
7.5 小結 289
7.6 問題與思考 289
第8章 第三方EDA工具 290
8.1 第三方EDA工具綜述 290
8.2 仿真的概念 291
8.2.1 仿真簡介 291
8.2.2 仿真的切入點 292
8.3 ModelSim仿真工具 294
8.3.1 ModelSim仿真工具的不同版本 294
8.3.2 ModelSim的圖形用戶界面 295
8.3.3 ModelSim仿真的基本步驟 309
8.3.4 ModelSim仿真操作實例 323
8.3.5 ModelSim仿真工具部分高級套用 330
8.4 Active-HDL仿真工具 338
8.4.1 Active-HDL仿真工具的不同版本 340
8.4.2 Active-HDL的圖形用戶界面概述 342
8.4.3 Active-HDL的基本仿真步驟 344
8.5 Synplify/Synplify Pro綜合工具 369
8.5.1 Synplify/Synplify Pro的功能與特點 369
8.5.2 Synplify Pro的用戶界面 375
8.5.3 Synplify Pro綜合流程 378
8.6 小結 400
8.7 問題與思考 400
第9章 Lattice系列FPGA開發系統 402
9.1 評估板綜述 402
9.2 ECP3評估板 404
9.2.1 LFE3-95E-SP-EVN 405
9.2.2 LFE3-150EA-IO-EVN 406
9.2.3 LFE3-95E-V-EVN 408
9.3 ECP2M評估板 410
9.3.1 LFE2M35(50)E-P4-EV 410
9.3.2 LFE2M35(50)E-S-EV 411
9.3.3 LFE2M35E-V-EV 413
9.4 ECP2評估板 414
9.4.1 LFE2-50E-H-EV 415
9.4.2 LFE2-50E-L-EV 416
9.4.3 LFE2-50E-D-EV 418
9.5 SC/M評估板 419
9.5.1 LFSC25E-H-EV 420
9.5.2 LFSC25E-P1-EV 421
9.5.3 LFSC80E-P4-EV 423
9.6 XP2評估板 424
9.7 XP評估板 426
9.8 ECP/EC評估板 427
9.9 XO評估板及其他評估板 428
9.10 小結 430
9.11 問題與思考 430
3.1 ispLEVER FPGA開發流程概述 52
3.2 ispLEVER的安裝和線上更新 53
3.2.1 ispLEVER的安裝 53
3.2.2 ispLEVER 許可證的獲取和設定 57
3.2.3 ispLEVER 8.0的線上更新 59
3.3 設計輸入:異步FIFO的設計 60
3.3.1 異步FIFO規格定義 61
3.3.2 異步FIFO方案設計 62
3.3.3 異步FIFO上板測試方案設計 63
3.4 ispLEVER工程管理 65
3.5 FIFO的功能仿真 69
3.6 綜合(Synthesis) 73
3.7 資料庫生成(Build Database) 74
3.8 設計約束 75
3.9 映射(MAP) 79
3.10 布局布線(Place & Route) 81
3.11 靜態時序分析 83
3.12 時序仿真 84
3.13 生成位流檔案 87
3.14 下載調試 87
3.15 小結 97
3.16 問題與思考 98
第4章 ispLEVER FPGA開發流程進階 99
4.1 ispLEVER軟體的選擇 99
4.2 綜合(Synthesis)高級選項設定 100
4.2.1 綜合流程的選擇 101
4.2.2 綜合選項列表 102
4.2.3 綜合選項的選擇 105
4.3 網錶轉換(Build Database)選項設定 109
4.4 映射(MAP)選項設定 111
4.5 布局布線(Place & Route)選項設定 116
4.5.1 布局布線概述 117
4.5.2 布局布線可配置選項 119
4.5.3 布局過程和不同算法 122
4.5.4 布線過程和不同算法 124
4.5.5 多種子運行考慮 129
4.5.6 擁塞設計 131
4.5.7 保持時間違例自動修正 133
4.6 FPGA設計約束 136
4.6.1 FPGA設計約束的表現形式 136
4.6.2 Design Planner集成環境概述 137
4.6.3 Design Planner各種設計約束說明 138
4.7 下載檔案約束 154
4.8 FPGA設計檢查 156
4.8.1 【Project Summary】報告 157
4.8.2 【Synthesis and Ngdbuild Report】報告 157
4.8.3 【Build Database Report】報告 161
4.8.4 【Map Report】報告 161
4.8.5 【Map Trace Report】報告 163
4.8.6 【Place & Route Report】報告 163
4.8.7 【PAD Specification File】報告 164
4.8.8 【Place & Route TRACE Report】報告 165
4.8.9 【I/O SSO Analysis Report】報告 165
4.9 FPGA設計工程管理 165
4.9.1 ispLEVER工程版本發布 166
4.9.2 個性化環境設定 168
4.9.3 Search Path和Verilog Variables的設定 170
4.10 小結 171
4.11 問題與思考 172
第5章 Lattice常用輔助設計工具 173
5.1 設計規劃(Design Planner) 174
5.1.1 啟動Design Planner 174
5.1.2 Spreadsheet View 176
5.1.3 Package View 175
5.1.4 Pre-Mapped View 178
5.1.5 Post-Mapped View 183
5.1.6 Floorplan View 183
5.1.7 Physical View 186
5.1.8 Path Tracer 189
5.1.9 Timing Analyzer 191
5.2 EPIC 193
5.2.1 啟動EPIC 193
5.2.2 EPIC的設計檢查功能 195
5.2.3 EPIC的ECO功能 199
5.3 EBR初始化工具和初始化檔案生成工具 208
5.4 靜態時序分析 211
5.4.1 fMAX分析 213
5.4.2 tCO分析 214
5.4.3 tSU、tHD分析 215
5.4.4 tP2P分析 215
5.4.5 tPD分析 215
5.5 功耗計算器(Power Calculator) 216
5.5.1 功耗計算的相關概念 216
5.5.2 功耗計算器的操作 217
5.6 保持時間違例自動修正(Auto Hold Time Correction) 221
5.7 時鐘加速(Clock Boosting) 222
5.8 輸出IBIS模型 223
5.9 反標管腳信息(Backannotate Assignments) 223
5.10 小結 223
5.11 問題與思考 224
第6章 Lattice FPGA/CPLD的載入配置 225
6.1 常見的載入配置方法 225
6.1.1 JTAG載入配置方法 227
6.1.2 CPU模擬JTAG口進行遠程線上載入 230
6.1.3 Slave-Serial載入方法 234
6.1.4 SPI串列Flash載入方法 238
6.2 載入配置檔案的類型和生成方法 243
6.3 Lattice CPLD/FPGA的高級載入配置特性 246
6.3.1 雙啟動 246
6.3.2 非易失器件的SDM 248
6.3.3 載入過程中I/O的鎖定和配置 248
6.3.4 透明線上升級TFR 251
6.3.5 加密特性 252
6.3.6 休眠與激活 252
6.4 ispVM載入配置軟體的使用方法 252
6.4.1 雙啟動的載入 253
6.4.2 TFR載入 255
6.5 小結 257
6.6 問題與思考 257
第7章 Lattice IP開發工具 258
7.1 IP的基本概念、Lattice可用的IP分類 258
7.1.1 可參數化模組 259
7.1.2 ispLEVER Core IP 260
7.1.3 ispLEVER Core第三方IP 262
7.1.4 參考設計 262
7.1.5 嵌入式CPU 263
7.2 IPexpress——Lattice的IP管理和開發工具 263
7.2.1 IPexpress的啟動 263
7.2.2 IPexpress的使用 264
7.2.3 IPexpress中IP列表的下載和更新 268
7.3 使用Lattice可參數化模組、IP的設計流程 269
7.3.1 模組和IP的例化 270
7.3.2 模組和IP的仿真 271
7.3.3 ispLEVER Core IP的評估模式 276
7.4 在ModelSim中編譯和添加Lattice仿真庫 277
7.4.1 編譯Verilog仿真庫檔案 278
7.4.2 編譯VHDL仿真庫檔案 283
7.4.3 ispLEVER提供的加密、已編譯仿真庫 285
7.4.4 讓ModelSim啟動時默認調用Lattice器件仿真庫 286
7.4.5 在ModelSim中進行後仿真 287
7.5 小結 289
7.6 問題與思考 289
第8章 第三方EDA工具 290
8.1 第三方EDA工具綜述 290
8.2 仿真的概念 291
8.2.1 仿真簡介 291
8.2.2 仿真的切入點 292
8.3 ModelSim仿真工具 294
8.3.1 ModelSim仿真工具的不同版本 294
8.3.2 ModelSim的圖形用戶界面 295
8.3.3 ModelSim仿真的基本步驟 309
8.3.4 ModelSim仿真操作實例 323
8.3.5 ModelSim仿真工具部分高級套用 330
8.4 Active-HDL仿真工具 338
8.4.1 Active-HDL仿真工具的不同版本 340
8.4.2 Active-HDL的圖形用戶界面概述 342
8.4.3 Active-HDL的基本仿真步驟 344
8.5 Synplify/Synplify Pro綜合工具 369
8.5.1 Synplify/Synplify Pro的功能與特點 369
8.5.2 Synplify Pro的用戶界面 375
8.5.3 Synplify Pro綜合流程 378
8.6 小結 400
8.7 問題與思考 400
第9章 Lattice系列FPGA開發系統 402
9.1 評估板綜述 402
9.2 ECP3評估板 404
9.2.1 LFE3-95E-SP-EVN 405
9.2.2 LFE3-150EA-IO-EVN 406
9.2.3 LFE3-95E-V-EVN 408
9.3 ECP2M評估板 410
9.3.1 LFE2M35(50)E-P4-EV 410
9.3.2 LFE2M35(50)E-S-EV 411
9.3.3 LFE2M35E-V-EV 413
9.4 ECP2評估板 414
9.4.1 LFE2-50E-H-EV 415
9.4.2 LFE2-50E-L-EV 416
9.4.3 LFE2-50E-D-EV 418
9.5 SC/M評估板 419
9.5.1 LFSC25E-H-EV 420
9.5.2 LFSC25E-P1-EV 421
9.5.3 LFSC80E-P4-EV 423
9.6 XP2評估板 424
9.7 XP評估板 426
9.8 ECP/EC評估板 427
9.9 XO評估板及其他評估板 428
9.10 小結 430
9.11 問題與思考 430