商品详情
书名:Intel FPGA**设计指南:基于Quartus Prime Pro 19集成开发环境
定价:199.0
ISBN:9787121382444
作者:何宾
版次:第1版
出版时间:2020-03
内容提要:
作者简介:
著名的嵌入式技术和EDA技术专家,长期从事电子信息技术方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商大学计划保持紧密合作。目前已经出版电子信息技术方面的著作近70部,内容涵盖电路仿真、电路设计、可编程逻辑器件、数字信号处理、单片机、嵌入式系统、片上可编程系统等。典型的代表作有《模拟电子系统设计指南(基础篇):从半导体、分立元件到TI集成电路的分析与实现》、《模拟电子系统设计指南(实践篇):从半导体、分立元件到TI集成电路的分析与实现》、《Xilinx Zynq-7000嵌入式系统设计与实现-基于ARM Cortex-A9双核处理器和Vivado的设计方法(第2版)》、《Altium Designer17一体化设计标准教程-从仿真原理和PCB设计到单片机系统》、《STC8系列单片机开发指南:面向处理器、程序设计和操作系统的分析与应用》、《Xilinx FPGA数字信号处理系统设计指南-基于HDL、Simulink和HLS的实现》等。
目录:
目 录
第 章 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的互联架构 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实现RAM 36
1.3 时钟网络和相位锁相环 40
1.3.1 时钟网络类型 40
1.3.2 时钟资源功能 43
1.3.3 层次化时钟结构 45
1.3.4 时钟控制块 47
1.3.5 时钟功耗控制 50
1.3.6 相位锁相环 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 增量优化的概念 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 分析和综合的实现 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 适配的实现 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 亚稳态分析 206
2.10.8 时序悲观 207
2.10.9 时钟作为数据分析 208
2.10.10 多角时序分析 209
2.10.11 时序分析的实现 210
2.11 功耗分析原理和实现 217
2.11.1 功耗分析器输入 218
2.11.2 功耗分析器设置 220
2.11.3 节点和实体分配 222
2.11.4 执行功耗分析 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 设计分区 249
3.3.1 为外围IP、时钟和PLL规划分区 250
3.3.2 设计分区指导 251
3.3.3 保留和重用分区快照 251
3.3.4 创建设计分区 252
3.4 设计分区重用流程 255
3.4.1 重用核心分区 256
3.4.2 重用根分区 263
3.4.3 保留核心实体重新绑定 269
3.5 增量块设计流程 270
3.5.1 增量的时序收敛 270
3.5.2 设计抽象及实现 272
3.5.3 空分区时钟源保留 273
3.6 设计块重用和基于块增量编译的组合 273
3.7 建立基于团队的设计 274
3.7.1 为基于团队的设计创建一个顶层工程 274
3.7.2 为工程集成准备一个设计分区 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 创建定制元件IP核 285
4.3.1 指定IP元件类型 285
4.3.2 创建/指定用于综合和仿真的HDL文件 286
4.4 创建通用元件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 自动脚本执行 335
5.5.1 执行例子 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 访问命令行参数 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 数组 361
5.8.7 控制结构 362
5.8.8 过程(子程序或函数) 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 在本地计算机上探索不同的实现策略 373
6.4 在远程计算机上探索不同的实现策略 377
6.4.1 创建一个Azure账户 378
6.4.2 下载PuTTY相关工具 378
6.4.3 选择Intel FPGA工具 379
6.4.4 创建和配置虚拟机 380
6.4.5 配置和启动PuTTY工具 388
6.4.6 捕获虚拟机上的GUI界面 391
6.4.7 打开Quartus Prime软件 393
6.4.8 终止虚拟机 395
6.4.9 持久存储和数据传输 396
6.4.10 搭建和配置许可证服务器 397
6.4.11 连接到许可证服务器 406
6.4.12 在虚拟机上运行DSE II 407
第 章 Quartus Prime Pro系统调试原理及实现 411
7.1 系统调试工具概述 411
7.1.1 系统调试工具组合 411
7.1.2 用于监视RTL节点的工具 414
7.1.3 具有激励功能的工具 416
7.1.4 Virtual JTAG Interface Intel FPGA IP核 417
7.1.5 系统级调试结构 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逻辑分析仪的特性和优点 423
7.2.3 Signal Tap逻辑分析仪任务流程概述 424
7.2.4 创建新的调试工程 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 查看、分析和使用捕获的数据 472
7.3 使用Signal Probe的快速设计验证 474
7.4 使用外部逻辑分析仪的系统内调试 477
7.4.1 选择逻辑分析仪 477
7.4.2 为逻辑分析仪接口定义参数 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 系统内修改存储器和常量 482
7.5.1 用系统内存储器内容编辑器调试设计 483
7.5.2 使能运行时修改设计中的实例 483
7.5.3 用系统内存储器内容编辑器编程器件 484
7.5.4 将存储器实例加载到ISMCE 485
7.5.5 监视存储器中的位置 485
7.5.6 使用“Hex Editor”窗口编辑存储器内容 486
7.5.7 导入和导出存储器文件 487
7.6 使用系统内源和探针的设计调试 488
7.6.1 系统内源和探针的设计流程概述 489
7.6.2 例化In-System Sources & Probes IP核 490
7.6.3 编译设计 492
7.6.4 运行系统内源和探针编辑器 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时序和物理约束原理及实现 497
8.1 SDC文件的高级特性 497
8.1.1 使用实体绑定的SDC文件 497
8.1.2 实体绑定的约束范围 498
8.1.3 实体绑定的约束实例 498
8.2 创建时钟和时钟约束 500
8.2.1 基本时钟 500
8.2.2 虚拟时钟 501
8.2.3 生成时钟 502
8.2.4 推导PLL时钟 507
8.2.5 创建时钟组 509
8.2.6 时钟效应特性 512
8.3 创建I/O约束 515
8.3.1 设置输入延迟(set_input_delay) 515
8.3.2 设置输出延迟(set_output_delay) 516
8.4 创建偏移和延迟约束 516
8.4.1 高级I/O时序和板布线模型延迟 516
8.4.2 设置*大偏移(set_max_skew) 517
8.4.3 设置网络延迟(set_net_delay) 521
8.4.4 创建时序例外(异常) 523
8.4.5 多周期例外的实例 531
8.4.6 延迟注解 550
8.4.7 约束设计分区端口 550
8.5 使用适配器过约束 551
8.6 接口规划工具原理及应用 552
8.6.1 接口规划概述 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 规划外围布局 568
8.6.9 报告布局数据 573
8.6.10 验证和导出规划约束 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部分可重配置原理及实现 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 部分可重配置基本流程的实现 633
10.2.1 建立新的设计工程 634
10.2.2 添加设计文件 634
10.2.3 创建设计分区 637
10.2.4 为PR分区分配布局和布线区域 639
10.2.5 添加部分可重配置控制器IP核 642
10.2.6 定义角色 644
10.2.7 创建修订版 645
10.2.8 编译基本修订版本 647
10.2.9 准备PR实现修订版 648
10.2.10 编程器件 650
10.3 层次化部分可重配置流程的实现 652
10.3.1 建立新的设计工程 652
10.3.2 添加设计文件 653
10.3.3 创建设计分区 655
10.3.4 为PR分区分配布局和布线区域 658
10.3.5 添加部分可重配置控制器IP核 660
10.3.6 定义角色 662
10.3.7 创建修订版 663
10.3.8 编译基本修订版本 666
10.3.9 为父PR分区准备PR实现修订版 667
10.3.10 为子PR分区准备PR实现修订版 669
10.3.11 编程器件 672
第 章 Intel高级综合工具原理及实现方法 673
11.1 高级综合工具概论 673
11.1.1 高级综合工具的优势 673
11.1.2 高级综合工具运行要求 675
11.1.3 高级综合工具的简要流程 675
11.1.4 HLS与OpenCL 676
11.1.5 高级综合工具编译器细节 676
11.2 高级综合工具基本流程的实现 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 任意精度数据类型及优化 702
11.3.1 元件中声明ac_int数据类型 703
11.3.2 调试ac_int数据类型的使用 703
11.3.3 元件中声明ac_fixed数据类型 704
11.3.4 浮点编译优化 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 元件调用接口参数 731
11.4.6 不稳定和稳定元件参数 734
11.4.7 全局变量 736
11.4.8 元件接口的结构体 736
11.4.9 复位行为 736
11.5 元件中的本地变量(存储器属性) 737
11.5.1 编译器元件存储器属性 737
11.5.2 静态变量 761
11.6 元件中的循环 762
11.6.1 循环启动间隔(ii编译指示) 764
11.6.2 循环携带的依赖性(ivdep编译指示) 765
11.6.3 循环合并(loop_coalesce编译指示) 768
11.6.4 循环展开(unroll编译指示) 770
11.6.5 循环并发(max_concurrency编译指示) 773
11.7 元件并发性 773
11.7.1 存储空间或I/O的串行等效 774
11.7.2 并行性控制 774
附录A C10-EDP-1硬件开发平台原理图 775
附录B USB-Blaster下载器驱动故障排除方法 790
定价:199.0
ISBN:9787121382444
作者:何宾
版次:第1版
出版时间:2020-03
内容提要:
本书以Intel公司的Quartus Prime Pro 19集成开发环境与Intel新一代可编程逻辑器件Cyclone 10 GX为软件和硬件平台,系统地介绍了可编程逻辑器件的原理和Quartus Prime Pro集成开发环境的关键特性。全书共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系统调试原理及实现、Quartus Prime Pro时序和物理约束原理及实现、Quartus Prime Pro中HDL高级设计方法、Quartus Prime Pro部分可重配置原理及实现,以及Intel高级综合工具原理及实现方法。
作者简介:
著名的嵌入式技术和EDA技术专家,长期从事电子信息技术方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商大学计划保持紧密合作。目前已经出版电子信息技术方面的著作近70部,内容涵盖电路仿真、电路设计、可编程逻辑器件、数字信号处理、单片机、嵌入式系统、片上可编程系统等。典型的代表作有《模拟电子系统设计指南(基础篇):从半导体、分立元件到TI集成电路的分析与实现》、《模拟电子系统设计指南(实践篇):从半导体、分立元件到TI集成电路的分析与实现》、《Xilinx Zynq-7000嵌入式系统设计与实现-基于ARM Cortex-A9双核处理器和Vivado的设计方法(第2版)》、《Altium Designer17一体化设计标准教程-从仿真原理和PCB设计到单片机系统》、《STC8系列单片机开发指南:面向处理器、程序设计和操作系统的分析与应用》、《Xilinx FPGA数字信号处理系统设计指南-基于HDL、Simulink和HLS的实现》等。
目录:
目 录
第 章 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的互联架构 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实现RAM 36
1.3 时钟网络和相位锁相环 40
1.3.1 时钟网络类型 40
1.3.2 时钟资源功能 43
1.3.3 层次化时钟结构 45
1.3.4 时钟控制块 47
1.3.5 时钟功耗控制 50
1.3.6 相位锁相环 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 增量优化的概念 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 分析和综合的实现 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 适配的实现 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 亚稳态分析 206
2.10.8 时序悲观 207
2.10.9 时钟作为数据分析 208
2.10.10 多角时序分析 209
2.10.11 时序分析的实现 210
2.11 功耗分析原理和实现 217
2.11.1 功耗分析器输入 218
2.11.2 功耗分析器设置 220
2.11.3 节点和实体分配 222
2.11.4 执行功耗分析 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 设计分区 249
3.3.1 为外围IP、时钟和PLL规划分区 250
3.3.2 设计分区指导 251
3.3.3 保留和重用分区快照 251
3.3.4 创建设计分区 252
3.4 设计分区重用流程 255
3.4.1 重用核心分区 256
3.4.2 重用根分区 263
3.4.3 保留核心实体重新绑定 269
3.5 增量块设计流程 270
3.5.1 增量的时序收敛 270
3.5.2 设计抽象及实现 272
3.5.3 空分区时钟源保留 273
3.6 设计块重用和基于块增量编译的组合 273
3.7 建立基于团队的设计 274
3.7.1 为基于团队的设计创建一个顶层工程 274
3.7.2 为工程集成准备一个设计分区 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 创建定制元件IP核 285
4.3.1 指定IP元件类型 285
4.3.2 创建/指定用于综合和仿真的HDL文件 286
4.4 创建通用元件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 自动脚本执行 335
5.5.1 执行例子 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 访问命令行参数 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 数组 361
5.8.7 控制结构 362
5.8.8 过程(子程序或函数) 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 在本地计算机上探索不同的实现策略 373
6.4 在远程计算机上探索不同的实现策略 377
6.4.1 创建一个Azure账户 378
6.4.2 下载PuTTY相关工具 378
6.4.3 选择Intel FPGA工具 379
6.4.4 创建和配置虚拟机 380
6.4.5 配置和启动PuTTY工具 388
6.4.6 捕获虚拟机上的GUI界面 391
6.4.7 打开Quartus Prime软件 393
6.4.8 终止虚拟机 395
6.4.9 持久存储和数据传输 396
6.4.10 搭建和配置许可证服务器 397
6.4.11 连接到许可证服务器 406
6.4.12 在虚拟机上运行DSE II 407
第 章 Quartus Prime Pro系统调试原理及实现 411
7.1 系统调试工具概述 411
7.1.1 系统调试工具组合 411
7.1.2 用于监视RTL节点的工具 414
7.1.3 具有激励功能的工具 416
7.1.4 Virtual JTAG Interface Intel FPGA IP核 417
7.1.5 系统级调试结构 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逻辑分析仪的特性和优点 423
7.2.3 Signal Tap逻辑分析仪任务流程概述 424
7.2.4 创建新的调试工程 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 查看、分析和使用捕获的数据 472
7.3 使用Signal Probe的快速设计验证 474
7.4 使用外部逻辑分析仪的系统内调试 477
7.4.1 选择逻辑分析仪 477
7.4.2 为逻辑分析仪接口定义参数 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 系统内修改存储器和常量 482
7.5.1 用系统内存储器内容编辑器调试设计 483
7.5.2 使能运行时修改设计中的实例 483
7.5.3 用系统内存储器内容编辑器编程器件 484
7.5.4 将存储器实例加载到ISMCE 485
7.5.5 监视存储器中的位置 485
7.5.6 使用“Hex Editor”窗口编辑存储器内容 486
7.5.7 导入和导出存储器文件 487
7.6 使用系统内源和探针的设计调试 488
7.6.1 系统内源和探针的设计流程概述 489
7.6.2 例化In-System Sources & Probes IP核 490
7.6.3 编译设计 492
7.6.4 运行系统内源和探针编辑器 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时序和物理约束原理及实现 497
8.1 SDC文件的高级特性 497
8.1.1 使用实体绑定的SDC文件 497
8.1.2 实体绑定的约束范围 498
8.1.3 实体绑定的约束实例 498
8.2 创建时钟和时钟约束 500
8.2.1 基本时钟 500
8.2.2 虚拟时钟 501
8.2.3 生成时钟 502
8.2.4 推导PLL时钟 507
8.2.5 创建时钟组 509
8.2.6 时钟效应特性 512
8.3 创建I/O约束 515
8.3.1 设置输入延迟(set_input_delay) 515
8.3.2 设置输出延迟(set_output_delay) 516
8.4 创建偏移和延迟约束 516
8.4.1 高级I/O时序和板布线模型延迟 516
8.4.2 设置*大偏移(set_max_skew) 517
8.4.3 设置网络延迟(set_net_delay) 521
8.4.4 创建时序例外(异常) 523
8.4.5 多周期例外的实例 531
8.4.6 延迟注解 550
8.4.7 约束设计分区端口 550
8.5 使用适配器过约束 551
8.6 接口规划工具原理及应用 552
8.6.1 接口规划概述 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 规划外围布局 568
8.6.9 报告布局数据 573
8.6.10 验证和导出规划约束 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部分可重配置原理及实现 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 部分可重配置基本流程的实现 633
10.2.1 建立新的设计工程 634
10.2.2 添加设计文件 634
10.2.3 创建设计分区 637
10.2.4 为PR分区分配布局和布线区域 639
10.2.5 添加部分可重配置控制器IP核 642
10.2.6 定义角色 644
10.2.7 创建修订版 645
10.2.8 编译基本修订版本 647
10.2.9 准备PR实现修订版 648
10.2.10 编程器件 650
10.3 层次化部分可重配置流程的实现 652
10.3.1 建立新的设计工程 652
10.3.2 添加设计文件 653
10.3.3 创建设计分区 655
10.3.4 为PR分区分配布局和布线区域 658
10.3.5 添加部分可重配置控制器IP核 660
10.3.6 定义角色 662
10.3.7 创建修订版 663
10.3.8 编译基本修订版本 666
10.3.9 为父PR分区准备PR实现修订版 667
10.3.10 为子PR分区准备PR实现修订版 669
10.3.11 编程器件 672
第 章 Intel高级综合工具原理及实现方法 673
11.1 高级综合工具概论 673
11.1.1 高级综合工具的优势 673
11.1.2 高级综合工具运行要求 675
11.1.3 高级综合工具的简要流程 675
11.1.4 HLS与OpenCL 676
11.1.5 高级综合工具编译器细节 676
11.2 高级综合工具基本流程的实现 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 任意精度数据类型及优化 702
11.3.1 元件中声明ac_int数据类型 703
11.3.2 调试ac_int数据类型的使用 703
11.3.3 元件中声明ac_fixed数据类型 704
11.3.4 浮点编译优化 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 元件调用接口参数 731
11.4.6 不稳定和稳定元件参数 734
11.4.7 全局变量 736
11.4.8 元件接口的结构体 736
11.4.9 复位行为 736
11.5 元件中的本地变量(存储器属性) 737
11.5.1 编译器元件存储器属性 737
11.5.2 静态变量 761
11.6 元件中的循环 762
11.6.1 循环启动间隔(ii编译指示) 764
11.6.2 循环携带的依赖性(ivdep编译指示) 765
11.6.3 循环合并(loop_coalesce编译指示) 768
11.6.4 循环展开(unroll编译指示) 770
11.6.5 循环并发(max_concurrency编译指示) 773
11.7 元件并发性 773
11.7.1 存储空间或I/O的串行等效 774
11.7.2 并行性控制 774
附录A C10-EDP-1硬件开发平台原理图 775
附录B USB-Blaster下载器驱动故障排除方法 790
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺