Intel FPGA權(quán)威設(shè)計指南:基于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)境的關(guān)鍵特性。全書共11章,內(nèi)容主要包括Intel Cyclone 10 GX FPGA結(jié)構(gòu)詳解、Quartus Prime Pro HDL設(shè)計流程、Quartus Prime Pro塊設(shè)計流程、Quartus Prime Pro定制IP核設(shè)計流程、Quartus Prime Pro命令行腳本設(shè)計流程、Design Space Explorer II設(shè)計流程、Quartus Prime Pro系統(tǒng)調(diào)試原理及實現(xiàn)、Quartus Prime Pro時序和物理約束原理及實現(xiàn)、Quartus Prime Pro中HDL高級設(shè)計方法、Quartus Prime Pro部分可重配置原理及實現(xiàn),以及Intel高級綜合工具原理及實現(xiàn)方法。
著名的嵌入式技術(shù)和EDA技術(shù)專家,長期從事電子信息技術(shù)方面的教學(xué)和科研工作,與全球多家知名的半導(dǎo)體廠商和EDA工具廠商大學(xué)計劃保持緊密合作。目前已經(jīng)出版電子信息技術(shù)方面的著作近70部,內(nèi)容涵蓋電路仿真、電路設(shè)計、可編程邏輯器件、數(shù)字信號處理、單片機(jī)、嵌入式系統(tǒng)、片上可編程系統(tǒng)等。典型的代表作有《模擬電子系統(tǒng)設(shè)計指南(基礎(chǔ)篇):從半導(dǎo)體、分立元件到TI集成電路的分析與實現(xiàn)》、《模擬電子系統(tǒng)設(shè)計指南(實踐篇):從半導(dǎo)體、分立元件到TI集成電路的分析與實現(xiàn)》、《Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計與實現(xiàn)-基于ARM Cortex-A9雙核處理器和Vivado的設(shè)計方法(第2版)》、《Altium Designer17一體化設(shè)計標(biāo)準(zhǔn)教程-從仿真原理和PCB設(shè)計到單片機(jī)系統(tǒng)》、《STC8系列單片機(jī)開發(fā)指南:面向處理器、程序設(shè)計和操作系統(tǒng)的分析與應(yīng)用》、《Xilinx FPGA數(shù)字信號處理系統(tǒng)設(shè)計指南-基于HDL、Simulink和HLS的實現(xiàn)》等。
目 錄
第 章 Intel Cyclone 10 GX FPGA 結(jié)構(gòu)詳解 1
1.1 邏輯陣列塊和自適應(yīng)邏輯塊 1
1.1.1 ALM結(jié)構(gòu)和功能 1
1.1.2 LUT的工作模式 2
1.1.3 寄存器和鎖存器 12
1.1.4 LAB的互聯(lián)架構(gòu) 21
1.1.5 分布式存儲器 22
1.2 存儲器塊 32
1.2.1 嵌入式存儲器塊設(shè)計指導(dǎo) 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)絡(luò)和相位鎖相環(huán) 40
1.3.1 時鐘網(wǎng)絡(luò)類型 40
1.3.2 時鐘資源功能 43
1.3.3 層次化時鐘結(jié)構(gòu) 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電氣標(biāo)準(zhǔn) 60
1.4.3 I/O架構(gòu)和特性 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塊架構(gòu) 72
1.5.4 DSP塊應(yīng)用 72
1.6 外部存儲器接口 78
1.6.1 外部存儲器接口特性 79
1.6.2 外部存儲器接口I/O引腳 80
1.6.3 器件封裝支持的存儲器接口 80
1.6.4 外部存儲器接口架構(gòu) 82
1.7 配置技術(shù) 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 可編程電源技術(shù) 110
1.8.3 電源傳感線 111
1.8.4 片上電壓傳感器 111
1.8.5 溫度傳感二極管 112
1.8.6 上電/斷電順序要求 112
第 章 Quartus Prime Pro HDL 設(shè)計流程 113
2.1 Quartus Prime Pro及組件的下載、安裝和授權(quán) 113
2.1.1 下載Quartus Prime Pro及組件 113
2.1.2 安裝Quartus Prime Pro及組件 117
2.1.3 授權(quán)Quartus Prime Pro及組件 118
2.2 Quartus Prime Pro功能和特性 121
2.3 Quartus Prime Pro設(shè)計流程 122
2.3.1 處理流程框架 122
2.3.2 增量優(yōu)化的概念 125
2.3.3 超感知設(shè)計流程 125
2.4 建立新的設(shè)計工程 128
2.5 添加新的設(shè)計文件 134
2.6 設(shè)計的分析和綜合處理 137
2.6.1 分析和綜合的概念 137
2.6.2 分析和綜合的屬性選項 140
2.6.3 分析和綜合的實現(xiàn) 147
2.6.4 查看分析和綜合的結(jié)果 149
2.7 設(shè)計的行為級仿真 155
2.7.1 使用Verilog HDL生成測試向量的仿真 155
2.7.2 使用波形文件生成測試向量的仿真 161
2.8 設(shè)計的約束 165
2.8.1 通過GUI指定約束的方法 165
2.8.2 使用Tcl腳本約束設(shè)計的方法 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 設(shè)計的適配 184
2.9.1 適配器設(shè)置選項 184
2.9.2 適配的實現(xiàn) 189
2.9.3 查看適配后的結(jié)果 190
2.10 查看時序分析結(jié)果 196
2.10.1 時序分析的基本概念 196
2.10.2 時序路徑和時鐘分析 197
2.10.3 時鐘建立分析 200
2.10.4 時鐘保持分析 201
2.10.5 恢復(fù)和去除分析 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 功耗分析器設(shè)置 220
2.11.3 節(jié)點(diǎn)和實體分配 222
2.11.4 執(zhí)行功耗分析 223
2.12 生成編程文件 226
2.12.1 裝配器選項屬性設(shè)置 226
2.12.2 可編程文件類型 232
2.12.3 運(yùn)行裝配器工具 232
2.12.4 生成PROM文件 233
2.13 下載設(shè)計 239
2.13.1 下載設(shè)計到FPGA 239
2.13.2 編程串行Flash存儲器 241
第 章 Quartus Prime Pro 塊設(shè)計流程 243
3.1 基于塊的設(shè)計介紹 243
3.1.1 與塊設(shè)計有關(guān)的術(shù)語 243
3.1.2 設(shè)計塊重用介紹 244
3.1.3 基于塊的增量編譯介紹 246
3.2 設(shè)計方法學(xué)介紹 247
3.2.1 自頂向下設(shè)計方法學(xué)介紹 247
3.2.2 自底向上設(shè)計方法學(xué)介紹 247
3.2.3 基于團(tuán)隊的設(shè)計方法學(xué)介紹 248
3.3 設(shè)計分區(qū) 249
3.3.1 為外圍IP、時鐘和PLL規(guī)劃分區(qū) 250
3.3.2 設(shè)計分區(qū)指導(dǎo) 251
3.3.3 保留和重用分區(qū)快照 251
3.3.4 創(chuàng)建設(shè)計分區(qū) 252
3.4 設(shè)計分區(qū)重用流程 255
3.4.1 重用核心分區(qū) 256
3.4.2 重用根分區(qū) 263
3.4.3 保留核心實體重新綁定 269
3.5 增量塊設(shè)計流程 270
3.5.1 增量的時序收斂 270
3.5.2 設(shè)計抽象及實現(xiàn) 272
3.5.3 空分區(qū)時鐘源保留 273
3.6 設(shè)計塊重用和基于塊增量編譯的組合 273
3.7 建立基于團(tuán)隊的設(shè)計 274
3.7.1 為基于團(tuán)隊的設(shè)計創(chuàng)建一個頂層工程 274
3.7.2 為工程集成準(zhǔn)備一個設(shè)計分區(qū) 277
3.8 自底向上的設(shè)計考慮 278
第 章 Quartus Prime Pro定制IP 核設(shè)計流程 279
4.1 Platform Designer工具功能介紹 279
4.1.1 Platform Designer支持的接口 279
4.1.2 元件結(jié)構(gòu) 280
4.1.3 元件文件組織 281
4.1.4 元件版本 281
4.1.5 IP元件的設(shè)計周期 281
4.2 調(diào)用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核進(jìn)行驗證 309
4.6 對通用元件IP核進(jìn)行驗證 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命令行腳本設(shè)計流程 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 端到端的設(shè)計流程 323
5.4.1 建立新的設(shè)計工程 325
5.4.2 添加新的設(shè)計文件 325
5.4.3 添加設(shè)計約束條件 326
5.4.4 設(shè)計綜合 329
5.4.5 設(shè)計適配 330
5.4.6 設(shè)計裝配(生成編程文件) 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腳本基礎(chǔ)知識 359
5.8.1 Intel FPGA COOL的例子 359
5.8.2 變量 359
5.8.3 替換 360
5.8.4 算術(shù) 360
5.8.5 列表 361
5.8.6 數(shù)組 361
5.8.7 控制結(jié)構(gòu) 362
5.8.8 過程(子程序或函數(shù)) 363
5.8.9 文件I/O 363
第 章 Design Space Explorer II 設(shè)計流程 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 在本地計算機(jī)上探索不同的實現(xiàn)策略 373
6.4 在遠(yuǎn)程計算機(jī)上探索不同的實現(xiàn)策略 377
6.4.1 創(chuàng)建一個Azure賬戶 378
6.4.2 下載PuTTY相關(guān)工具 378
6.4.3 選擇Intel FPGA工具 379
6.4.4 創(chuàng)建和配置虛擬機(jī) 380
6.4.5 配置和啟動PuTTY工具 388
6.4.6 捕獲虛擬機(jī)上的GUI界面 391
6.4.7 打開Quartus Prime軟件 393
6.4.8 終止虛擬機(jī) 395
6.4.9 持久存儲和數(shù)據(jù)傳輸 396
6.4.10 搭建和配置許可證服務(wù)器 397
6.4.11 連接到許可證服務(wù)器 406
6.4.12 在虛擬機(jī)上運(yùn)行DSE II 407
第 章 Quartus Prime Pro系統(tǒng)調(diào)試原理及實現(xiàn) 411
7.1 系統(tǒng)調(diào)試工具概述 411
7.1.1 系統(tǒng)調(diào)試工具組合 411
7.1.2 用于監(jiān)視RTL節(jié)點(diǎn)的工具 414
7.1.3 具有激勵功能的工具 416
7.1.4 Virtual JTAG Interface Intel FPGA IP核 417
7.1.5 系統(tǒng)級調(diào)試結(jié)構(gòu) 417
7.1.6 SLD JTAG橋 418
7.1.7 部分重配置設(shè)計調(diào)試 422
7.2 使用Signal Tap邏輯分析儀的設(shè)計調(diào)試 422
7.2.1 軟件和硬件要求 423
7.2.2 Signal Tap邏輯分析儀的特性和優(yōu)點(diǎn) 423
7.2.3 Signal Tap邏輯分析儀任務(wù)流程概述 424
7.2.4 創(chuàng)建新的調(diào)試工程 426
7.2.5 添加FIFO IP核 427
7.2.6 添加頂層設(shè)計文件 430
7.2.7 配置Signal Tap邏輯分析儀 432
7.2.8 編譯設(shè)計 463
7.2.9 編程目標(biāo)器件或器件 467
7.2.10 運(yùn)行邏輯分析儀 468
7.2.11 查看、分析和使用捕獲的數(shù)據(jù) 472
7.3 使用Signal Probe的快速設(shè)計驗證 474
7.4 使用外部邏輯分析儀的系統(tǒng)內(nèi)調(diào)試 477
7.4.1 選擇邏輯分析儀 477
7.4.2 為邏輯分析儀接口定義參數(shù) 479
7.4.3 將LAI文件引腳映射到可用的I/O引腳 480
7.4.4 將內(nèi)部信號映射到LAI組 480
7.4.5 編譯Quartus Prime工程 481
7.4.6 使用LAI編程Intel支持的器件 482
7.4.7 運(yùn)行時控制活動的組 482
7.5 系統(tǒng)內(nèi)修改存儲器和常量 482
7.5.1 用系統(tǒng)內(nèi)存儲器內(nèi)容編輯器調(diào)試設(shè)計 483
7.5.2 使能運(yùn)行時修改設(shè)計中的實例 483
7.5.3 用系統(tǒng)內(nèi)存儲器內(nèi)容編輯器編程器件 484
7.5.4 將存儲器實例加載到ISMCE 485
7.5.5 監(jiān)視存儲器中的位置 485
7.5.6 使用“Hex Editor”窗口編輯存儲器內(nèi)容 486
7.5.7 導(dǎo)入和導(dǎo)出存儲器文件 487
7.6 使用系統(tǒng)內(nèi)源和探針的設(shè)計調(diào)試 488
7.6.1 系統(tǒng)內(nèi)源和探針的設(shè)計流程概述 489
7.6.2 例化In-System Sources & Probes IP核 490
7.6.3 編譯設(shè)計 492
7.6.4 運(yùn)行系統(tǒng)內(nèi)源和探針編輯器 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 推導(dǎo)PLL時鐘 507
8.2.5 創(chuàng)建時鐘組 509
8.2.6 時鐘效應(yīng)特性 512
8.3 創(chuàng)建I/O約束 515
8.3.1 設(shè)置輸入延遲(set_input_delay) 515
8.3.2 設(shè)置輸出延遲(set_output_delay) 516
8.4 創(chuàng)建偏移和延遲約束 516
8.4.1 高級I/O時序和板布線模型延遲 516
8.4.2 設(shè)置最大偏移(set_max_skew) 517
8.4.3 設(shè)置網(wǎng)絡(luò)延遲(set_net_delay) 521
8.4.4 創(chuàng)建時序例外(異常) 523
8.4.5 多周期例外的實例 531
8.4.6 延遲注解 550
8.4.7 約束設(shè)計分區(qū)端口 550
8.5 使用適配器過約束 551
8.6 接口規(guī)劃工具原理及應(yīng)用 552
8.6.1 接口規(guī)劃概述 553
8.6.2 建立新的設(shè)計工程 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 報告布局?jǐn)?shù)據(jù) 573
8.6.10 驗證和導(dǎo)出規(guī)劃約束 574
第 章 Quartus Prime Pro中HDL 高級設(shè)計方法 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 部分可重配置術(shù)語 629
10.1.2 部分可重配置過程序列 629
10.1.3 內(nèi)部主設(shè)備部分可重配置 630
10.1.4 外部主設(shè)備部分可重配置 632
10.1.5 部分可重配置設(shè)計注意事項 632
10.2 部分可重配置基本流程的實現(xiàn) 633
10.2.1 建立新的設(shè)計工程 634
10.2.2 添加設(shè)計文件 634
10.2.3 創(chuàng)建設(shè)計分區(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 準(zhǔn)備PR實現(xiàn)修訂版 648
10.2.10 編程器件 650
10.3 層次化部分可重配置流程的實現(xiàn) 652
10.3.1 建立新的設(shè)計工程 652
10.3.2 添加設(shè)計文件 653
10.3.3 創(chuàng)建設(shè)計分區(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ū)準(zhǔn)備PR實現(xiàn)修訂版 667
10.3.10 為子PR分區(qū)準(zhǔn)備PR實現(xiàn)修訂版 669
10.3.11 編程器件 672
第 章 Intel高級綜合工具原理及實現(xiàn)方法 673
11.1 高級綜合工具概論 673
11.1.1 高級綜合工具的優(yōu)勢 673
11.1.2 高級綜合工具運(yùn)行要求 675
11.1.3 高級綜合工具的簡要流程 675
11.1.4 HLS與OpenCL 676
11.1.5 高級綜合工具編譯器細(xì)節(jié) 676
11.2 高級綜合工具基本流程的實現(xiàn) 680
11.2.1 構(gòu)建C++模型和測試平臺 680
11.2.2 C和C++庫 685
11.2.3 設(shè)置高級綜合編譯器 690
11.2.4 運(yùn)行高級綜合編譯器 692
11.2.5 查看高級設(shè)計報告 694
11.2.6 查看元件RTL仿真波形 700
11.3 任意精度數(shù)據(jù)類型及優(yōu)化 702
11.3.1 元件中聲明ac_int數(shù)據(jù)類型 703
11.3.2 調(diào)試ac_int數(shù)據(jù)類型的使用 703
11.3.3 元件中聲明ac_fixed數(shù)據(jù)類型 704
11.3.4 浮點(diǎn)編譯優(yōu)化 707
11.4 元件接口 712
11.4.1 元件調(diào)用接口 712
11.4.2 Avalon流接口 715
11.4.3 Avalon存儲器映射的主接口 721
11.4.4 Avlaon存儲器映射的從接口 725
11.4.5 元件調(diào)用接口參數(shù) 731
11.4.6 不穩(wěn)定和穩(wěn)定元件參數(shù) 734
11.4.7 全局變量 736
11.4.8 元件接口的結(jié)構(gòu)體 736
11.4.9 復(fù)位行為 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下載器驅(qū)動故障排除方法 790