Intel FPGA權威設計指南:基于Quartus Prime Pro 19集成開發(fā)環(huán)境
定 價:199 元
叢書名:英特爾FPGA中國創(chuàng)新中心系列叢書
- 作者:何賓
- 出版時間:2020/3/1
- ISBN:9787121382444
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP332.1
- 頁碼:820
- 紙張:
- 版次:01
- 開本:16開
本書以Intel公司的Quartus Prime Pro 19集成開發(fā)環(huán)境與Intel新一代可編程邏輯器件Cyclone 10 GX為軟件和硬件平臺,系統(tǒng)地介紹了可編程邏輯器件的原理和Quartus Prime Pro集成開發(fā)環(huán)境的關鍵特性。全書共11章,內容主要包括Intel Cyclone 10 GX FPGA結構詳解、Quartus Prime Pro HDL設計流程、Quartus Prime Pro塊設計流程、Quartus Prime Pro定制IP核設計流程、Quartus Prime Pro命令行腳本設計流程、Design Space Explorer II設計流程、Quartus Prime Pro系統(tǒng)調試原理及實現(xiàn)、Quartus Prime Pro時序和物理約束原理及實現(xiàn)、Quartus Prime Pro中HDL高級設計方法、Quartus Prime Pro部分可重配置原理及實現(xiàn),以及Intel高級綜合工具原理及實現(xiàn)方法。
著名的嵌入式技術和EDA技術專家,長期從事電子信息技術方面的教學和科研工作,與全球多家知名的半導體廠商和EDA工具廠商大學計劃保持緊密合作。目前已經(jīng)出版電子信息技術方面的著作近70部,內容涵蓋電路仿真、電路設計、可編程邏輯器件、數(shù)字信號處理、單片機、嵌入式系統(tǒng)、片上可編程系統(tǒng)等。典型的代表作有《模擬電子系統(tǒng)設計指南(基礎篇):從半導體、分立元件到TI集成電路的分析與實現(xiàn)》、《模擬電子系統(tǒng)設計指南(實踐篇):從半導體、分立元件到TI集成電路的分析與實現(xiàn)》、《Xilinx Zynq-7000嵌入式系統(tǒng)設計與實現(xiàn)-基于ARM Cortex-A9雙核處理器和Vivado的設計方法(第2版)》、《Altium Designer17一體化設計標準教程-從仿真原理和PCB設計到單片機系統(tǒng)》、《STC8系列單片機開發(fā)指南:面向處理器、程序設計和操作系統(tǒng)的分析與應用》、《Xilinx FPGA數(shù)字信號處理系統(tǒng)設計指南-基于HDL、Simulink和HLS的實現(xiàn)》等。
目 錄
第 章 Intel Cyclone 10 GX FPGA 結構詳解 1
1.1 邏輯陣列塊和自適應邏輯塊 1
1.1.1 ALM結構和功能 1
1.1.2 LUT的工作模式 2
1.1.3 寄存器和鎖存器 12
1.1.4 LAB的互聯(lián)架構 21
1.1.5 分布式存儲器 22
1.2 存儲器塊 32
1.2.1 嵌入式存儲器塊設計指導 32
1.2.2 存儲器塊打包模式 34
1.2.3 地址時鐘使能 35
1.2.4 存儲器塊異步清除 35
1.2.5 存儲器塊糾錯碼 35
1.2.6 使用M20K實現(xiàn)RAM 36
1.3 時鐘網(wǎng)絡和相位鎖相環(huán) 40
1.3.1 時鐘網(wǎng)絡類型 40
1.3.2 時鐘資源功能 43
1.3.3 層次化時鐘結構 45
1.3.4 時鐘控制塊 47
1.3.5 時鐘功耗控制 50
1.3.6 相位鎖相環(huán) 52
1.4 I/O塊 58
1.4.1 I/O組的排列 59
1.4.2 I/O電氣標準 60
1.4.3 I/O架構和特性 62
1.4.4 可編程的IOE特性 65
1.4.5 片上端接 67
1.4.6 SERDES和DPA 67
1.5 DSP塊 70
1.5.1 DSP塊特性 71
1.5.2 DSP塊資源 71
1.5.3 DSP塊架構 72
1.5.4 DSP塊應用 72
1.6 外部存儲器接口 78
1.6.1 外部存儲器接口特性 79
1.6.2 外部存儲器接口I/O引腳 80
1.6.3 器件封裝支持的存儲器接口 80
1.6.4 外部存儲器接口架構 82
1.7 配置技術 87
1.7.1 AS配置 89
1.7.2 PS配置 94
1.7.3 FPP配置 97
1.7.4 JTAG配置 106
1.7.5 配置流程 108
1.8 電源管理 110
1.8.1 功耗 110
1.8.2 可編程電源技術 110
1.8.3 電源傳感線 111
1.8.4 片上電壓傳感器 111
1.8.5 溫度傳感二極管 112
1.8.6 上電/斷電順序要求 112
第 章 Quartus Prime Pro HDL 設計流程 113
2.1 Quartus Prime Pro及組件的下載、安裝和授權 113
2.1.1 下載Quartus Prime Pro及組件 113
2.1.2 安裝Quartus Prime Pro及組件 117
2.1.3 授權Quartus Prime Pro及組件 118
2.2 Quartus Prime Pro功能和特性 121
2.3 Quartus Prime Pro設計流程 122
2.3.1 處理流程框架 122
2.3.2 增量優(yōu)化的概念 125
2.3.3 超感知設計流程 125
2.4 建立新的設計工程 128
2.5 添加新的設計文件 134
2.6 設計的分析和綜合處理 137
2.6.1 分析和綜合的概念 137
2.6.2 分析和綜合的屬性選項 140
2.6.3 分析和綜合的實現(xiàn) 147
2.6.4 查看分析和綜合的結果 149
2.7 設計的行為級仿真 155
2.7.1 使用Verilog HDL生成測試向量的仿真 155
2.7.2 使用波形文件生成測試向量的仿真 161
2.8 設計的約束 165
2.8.1 通過GUI指定約束的方法 165
2.8.2 使用Tcl腳本約束設計的方法 166
2.8.3 在Assignment Editor中添加約束條件 172
2.8.4 在Pin Planner中添加約束條件 174
2.8.5 I/O分配分析 178
2.8.6 添加簡單的時序約束條件 180
2.9 設計的適配 184
2.9.1 適配器設置選項 184
2.9.2 適配的實現(xiàn) 189
2.9.3 查看適配后的結果 190
2.10 查看時序分析結果 196
2.10.1 時序分析的基本概念 196
2.10.2 時序路徑和時鐘分析 197
2.10.3 時鐘建立分析 200
2.10.4 時鐘保持分析 201
2.10.5 恢復和去除分析 202
2.10.6 多周期路徑分析 203
2.10.7 亞穩(wěn)態(tài)分析 206
2.10.8 時序悲觀 207
2.10.9 時鐘作為數(shù)據(jù)分析 208
2.10.10 多角時序分析 209
2.10.11 時序分析的實現(xiàn) 210
2.11 功耗分析原理和實現(xiàn) 217
2.11.1 功耗分析器輸入 218
2.11.2 功耗分析器設置 220
2.11.3 節(jié)點和實體分配 222
2.11.4 執(zhí)行功耗分析 223
2.12 生成編程文件 226
2.12.1 裝配器選項屬性設置 226
2.12.2 可編程文件類型 232
2.12.3 運行裝配器工具 232
2.12.4 生成PROM文件 233
2.13 下載設計 239
2.13.1 下載設計到FPGA 239
2.13.2 編程串行Flash存儲器 241
第 章 Quartus Prime Pro 塊設計流程 243
3.1 基于塊的設計介紹 243
3.1.1 與塊設計有關的術語 243
3.1.2 設計塊重用介紹 244
3.1.3 基于塊的增量編譯介紹 246
3.2 設計方法學介紹 247
3.2.1 自頂向下設計方法學介紹 247
3.2.2 自底向上設計方法學介紹 247
3.2.3 基于團隊的設計方法學介紹 248
3.3 設計分區(qū) 249
3.3.1 為外圍IP、時鐘和PLL規(guī)劃分區(qū) 250
3.3.2 設計分區(qū)指導 251
3.3.3 保留和重用分區(qū)快照 251
3.3.4 創(chuàng)建設計分區(qū) 252
3.4 設計分區(qū)重用流程 255
3.4.1 重用核心分區(qū) 256
3.4.2 重用根分區(qū) 263
3.4.3 保留核心實體重新綁定 269
3.5 增量塊設計流程 270
3.5.1 增量的時序收斂 270
3.5.2 設計抽象及實現(xiàn) 272
3.5.3 空分區(qū)時鐘源保留 273
3.6 設計塊重用和基于塊增量編譯的組合 273
3.7 建立基于團隊的設計 274
3.7.1 為基于團隊的設計創(chuàng)建一個頂層工程 274
3.7.2 為工程集成準備一個設計分區(qū) 277
3.8 自底向上的設計考慮 278
第 章 Quartus Prime Pro定制IP 核設計流程 279
4.1 Platform Designer工具功能介紹 279
4.1.1 Platform Designer支持的接口 279
4.1.2 元件結構 280
4.1.3 元件文件組織 281
4.1.4 元件版本 281
4.1.5 IP元件的設計周期 281
4.2 調用Platform Designer工具 282
4.3 創(chuàng)建定制元件IP核 285
4.3.1 指定IP元件類型 285
4.3.2 創(chuàng)建/指定用于綜合和仿真的HDL文件 286
4.4 創(chuàng)建通用元件IP核 298
4.5 對定制元件IP核進行驗證 309
4.6 對通用元件IP核進行驗證 310
4.6.1 添加頂層原理圖文件 310
4.6.2 修改user_define.v文件 312
4.6.3 添加generic_component_0.v文件 314
4.7 IP核生成輸出(Quartus Prime Pro版本) 315
第 章 Quartus Prime Pro命令行腳本設計流程 317
5.1 工具命令語言 317
5.2 Quartus Prime Tcl包 317
5.3 Quartus Prime Tcl API Help 319
5.3.1 命令行選項 321
5.3.2 Quartus Prime Tcl控制臺窗口 323
5.4 端到端的設計流程 323
5.4.1 建立新的設計工程 325
5.4.2 添加新的設計文件 325
5.4.3 添加設計約束條件 326
5.4.4 設計綜合 329
5.4.5 設計適配 330
5.4.6 設計裝配(生成編程文件) 331
5.4.7 報告 331
5.4.8 時序分析 333
5.5 自動腳本執(zhí)行 335
5.5.1 執(zhí)行例子 336
5.5.2 控制處理 336
5.5.3 顯示消息 337
5.6 其他腳本 337
5.6.1 自然總線命名 337
5.6.2 短選項名字 337
5.6.3 集合命令 337
5.6.4 Node Finder命令 339
5.6.5 get_names命令 354
5.6.6 post_message命令 356
5.6.7 訪問命令行參數(shù) 356
5.6.8 quartus() Array 358
5.7 tclsh shell 359
5.8 Tcl腳本基礎知識 359
5.8.1 Intel FPGA COOL的例子 359
5.8.2 變量 359
5.8.3 替換 360
5.8.4 算術 360
5.8.5 列表 361
5.8.6 數(shù)組 361
5.8.7 控制結構 362
5.8.8 過程(子程序或函數(shù)) 363
5.8.9 文件I/O 363
第 章 Design Space Explorer II 設計流程 365
6.1 啟動DSE II工具 365
6.2 DSE II工具介紹 366
6.2.1 Project頁面 366
6.2.2 Setup頁面 367
6.2.3 Exploration頁面 369
6.2.4 Status頁面 373
6.3 在本地計算機上探索不同的實現(xiàn)策略 373
6.4 在遠程計算機上探索不同的實現(xiàn)策略 377
6.4.1 創(chuàng)建一個Azure賬戶 378
6.4.2 下載PuTTY相關工具 378
6.4.3 選擇Intel FPGA工具 379
6.4.4 創(chuàng)建和配置虛擬機 380
6.4.5 配置和啟動PuTTY工具 388
6.4.6 捕獲虛擬機上的GUI界面 391
6.4.7 打開Quartus Prime軟件 393
6.4.8 終止虛擬機 395
6.4.9 持久存儲和數(shù)據(jù)傳輸 396
6.4.10 搭建和配置許可證服務器 397
6.4.11 連接到許可證服務器 406
6.4.12 在虛擬機上運行DSE II 407
第 章 Quartus Prime Pro系統(tǒng)調試原理及實現(xiàn) 411
7.1 系統(tǒng)調試工具概述 411
7.1.1 系統(tǒng)調試工具組合 411
7.1.2 用于監(jiān)視RTL節(jié)點的工具 414
7.1.3 具有激勵功能的工具 416
7.1.4 Virtual JTAG Interface Intel FPGA IP核 417
7.1.5 系統(tǒng)級調試結構 417
7.1.6 SLD JTAG橋 418
7.1.7 部分重配置設計調試 422
7.2 使用Signal Tap邏輯分析儀的設計調試 422
7.2.1 軟件和硬件要求 423
7.2.2 Signal Tap邏輯分析儀的特性和優(yōu)點 423
7.2.3 Signal Tap邏輯分析儀任務流程概述 424
7.2.4 創(chuàng)建新的調試工程 426
7.2.5 添加FIFO IP核 427
7.2.6 添加頂層設計文件 430
7.2.7 配置Signal Tap邏輯分析儀 432
7.2.8 編譯設計 463
7.2.9 編程目標器件或器件 467
7.2.10 運行邏輯分析儀 468
7.2.11 查看、分析和使用捕獲的數(shù)據(jù) 472
7.3 使用Signal Probe的快速設計驗證 474
7.4 使用外部邏輯分析儀的系統(tǒng)內調試 477
7.4.1 選擇邏輯分析儀 477
7.4.2 為邏輯分析儀接口定義參數(shù) 479
7.4.3 將LAI文件引腳映射到可用的I/O引腳 480
7.4.4 將內部信號映射到LAI組 480
7.4.5 編譯Quartus Prime工程 481
7.4.6 使用LAI編程Intel支持的器件 482
7.4.7 運行時控制活動的組 482
7.5 系統(tǒng)內修改存儲器和常量 482
7.5.1 用系統(tǒng)內存儲器內容編輯器調試設計 483
7.5.2 使能運行時修改設計中的實例 483
7.5.3 用系統(tǒng)內存儲器內容編輯器編程器件 484
7.5.4 將存儲器實例加載到ISMCE 485
7.5.5 監(jiān)視存儲器中的位置 485
7.5.6 使用“Hex Editor”窗口編輯存儲器內容 486
7.5.7 導入和導出存儲器文件 487
7.6 使用系統(tǒng)內源和探針的設計調試 488
7.6.1 系統(tǒng)內源和探針的設計流程概述 489
7.6.2 例化In-System Sources & Probes IP核 490
7.6.3 編譯設計 492
7.6.4 運行系統(tǒng)內源和探針編輯器 492
7.6.5 用JTAG Chain Configuration編程器件 493
7.6.6 “Instance Manager:”窗口 494
7.6.7 In-System Sources and Probes Editor主界面 494
7.6.8 In-System Sources and Probes Editor的Tcl命令 495
第 章 Quartus Prime Pro時序和物理約束原理及實現(xiàn) 497
8.1 SDC文件的高級特性 497
8.1.1 使用實體綁定的SDC文件 497
8.1.2 實體綁定的約束范圍 498
8.1.3 實體綁定的約束實例 498
8.2 創(chuàng)建時鐘和時鐘約束 500
8.2.1 基本時鐘 500
8.2.2 虛擬時鐘 501
8.2.3 生成時鐘 502
8.2.4 推導PLL時鐘 507
8.2.5 創(chuàng)建時鐘組 509
8.2.6 時鐘效應特性 512
8.3 創(chuàng)建I/O約束 515
8.3.1 設置輸入延遲(set_input_delay) 515
8.3.2 設置輸出延遲(set_output_delay) 516
8.4 創(chuàng)建偏移和延遲約束 516
8.4.1 高級I/O時序和板布線模型延遲 516
8.4.2 設置最大偏移(set_max_skew) 517
8.4.3 設置網(wǎng)絡延遲(set_net_delay) 521
8.4.4 創(chuàng)建時序例外(異常) 523
8.4.5 多周期例外的實例 531
8.4.6 延遲注解 550
8.4.7 約束設計分區(qū)端口 550
8.5 使用適配器過約束 551
8.6 接口規(guī)劃工具原理及應用 552
8.6.1 接口規(guī)劃概述 553
8.6.2 建立新的設計工程 554
8.6.3 添加并配置外部存儲器接口IP核 555
8.6.4 添加Avalon MMM BFM IP核 563
8.6.5 在頂層文件中例化IP核 565
8.6.6 初始化Interface Planner 567
8.6.7 用工程分配更新計劃 568
8.6.8 規(guī)劃外圍布局 568
8.6.9 報告布局數(shù)據(jù) 573
8.6.10 驗證和導出規(guī)劃約束 574
第 章 Quartus Prime Pro中HDL 高級設計方法 576
9.1 綜合支持的HDL語言 576
9.1.1 Verilog和SystemVerilog綜合支持 576
9.1.2 VHDL綜合支持 580
9.2 HDL支持的綜合屬性和命令 581
9.2.1 Verilog HDL綜合屬性和命令 581
9.2.2 VHDL綜合屬性和命令 597
9.3 底層原語的使用 614
9.3.1 底層I/O原語 616
9.3.2 底層邏輯原語 621
第 章 Quartus Prime Pro部分可重配置原理及實現(xiàn) 628
10.1 部分可重配置基本概念 628
10.1.1 部分可重配置術語 629
10.1.2 部分可重配置過程序列 629
10.1.3 內部主設備部分可重配置 630
10.1.4 外部主設備部分可重配置 632
10.1.5 部分可重配置設計注意事項 632
10.2 部分可重配置基本流程的實現(xiàn) 633
10.2.1 建立新的設計工程 634
10.2.2 添加設計文件 634
10.2.3 創(chuàng)建設計分區(qū) 637
10.2.4 為PR分區(qū)分配布局和布線區(qū)域 639
10.2.5 添加部分可重配置控制器IP核 642
10.2.6 定義角色 644
10.2.7 創(chuàng)建修訂版 645
10.2.8 編譯基本修訂版本 647
10.2.9 準備PR實現(xiàn)修訂版 648
10.2.10 編程器件 650
10.3 層次化部分可重配置流程的實現(xiàn) 652
10.3.1 建立新的設計工程 652
10.3.2 添加設計文件 653
10.3.3 創(chuàng)建設計分區(qū) 655
10.3.4 為PR分區(qū)分配布局和布線區(qū)域 658
10.3.5 添加部分可重配置控制器IP核 660
10.3.6 定義角色 662
10.3.7 創(chuàng)建修訂版 663
10.3.8 編譯基本修訂版本 666
10.3.9 為父PR分區(qū)準備PR實現(xiàn)修訂版 667
10.3.10 為子PR分區(qū)準備PR實現(xiàn)修訂版 669
10.3.11 編程器件 672
第 章 Intel高級綜合工具原理及實現(xiàn)方法 673
11.1 高級綜合工具概論 673
11.1.1 高級綜合工具的優(yōu)勢 673
11.1.2 高級綜合工具運行要求 675
11.1.3 高級綜合工具的簡要流程 675
11.1.4 HLS與OpenCL 676
11.1.5 高級綜合工具編譯器細節(jié) 676
11.2 高級綜合工具基本流程的實現(xiàn) 680
11.2.1 構建C++模型和測試平臺 680
11.2.2 C和C++庫 685
11.2.3 設置高級綜合編譯器 690
11.2.4 運行高級綜合編譯器 692
11.2.5 查看高級設計報告 694
11.2.6 查看元件RTL仿真波形 700
11.3 任意精度數(shù)據(jù)類型及優(yōu)化 702
11.3.1 元件中聲明ac_int數(shù)據(jù)類型 703
11.3.2 調試ac_int數(shù)據(jù)類型的使用 703
11.3.3 元件中聲明ac_fixed數(shù)據(jù)類型 704
11.3.4 浮點編譯優(yōu)化 707
11.4 元件接口 712
11.4.1 元件調用接口 712
11.4.2 Avalon流接口 715
11.4.3 Avalon存儲器映射的主接口 721
11.4.4 Avlaon存儲器映射的從接口 725
11.4.5 元件調用接口參數(shù) 731
11.4.6 不穩(wěn)定和穩(wěn)定元件參數(shù) 734
11.4.7 全局變量 736
11.4.8 元件接口的結構體 736
11.4.9 復位行為 736
11.5 元件中的本地變量(存儲器屬性) 737
11.5.1 編譯器元件存儲器屬性 737
11.5.2 靜態(tài)變量 761
11.6 元件中的循環(huán) 762
11.6.1 循環(huán)啟動間隔(ii編譯指示) 764
11.6.2 循環(huán)攜帶的依賴性(ivdep編譯指示) 765
11.6.3 循環(huán)合并(loop_coalesce編譯指示) 768
11.6.4 循環(huán)展開(unroll編譯指示) 770
11.6.5 循環(huán)并發(fā)(max_concurrency編譯指示) 773
11.7 元件并發(fā)性 773
11.7.1 存儲空間或I/O的串行等效 774
11.7.2 并行性控制 774
附錄A C10-EDP-1硬件開發(fā)平臺原理圖 775
附錄B USB-Blaster下載器驅動故障排除方法 790