Intel FPGA权威设计指南:基于Quartus Prime Pro 19集成开发环境 本书特色
本书以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高级综合工具原理及实现方法。
Intel FPGA权威设计指南:基于Quartus Prime Pro 19集成开发环境 内容简介
全书共11章, 内容主要包括Intel Cyclone 10 Gx FPGA结构详解、Quartus Prime Pro HDL 设计流程、Quartus Prime Pro 块设计流程、Quartus Prime Pro定制IP核设计流程、Quartus Prime Pro命令行脚本设计流程、Design Space ExplorerlⅡ 设计流程、Quartus Prime Pro系统调试原理及实现、Quartus Prime Pro 时序和物理约束原理及实现、Quartus Prime Pro中HDL高级设计方法、Quartus Prime Pro 部分可重配置原理及实现, 以及Intel高级综合工具原理及实现方法。
Intel FPGA权威设计指南:基于Quartus Prime Pro 19集成开发环境 目录
目 录
第 章 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.
Intel FPGA权威设计指南:基于Quartus Prime Pro 19集成开发环境 作者简介
著名的嵌入式技术和EDA技术专家,长期从事电子信息技术方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商大学计划保持紧密合作。目前已经出版电子信息技术方面的著作近70部,内容涵盖电路仿真、电路设计、可编程逻辑器件、数字信号处理、单片机、嵌入式系统、片上可编程系统等。典型的代表作有《模拟电子系统设计指南(基础篇):从半导体、分立元件到TI集成电路的分析与实现》、《模拟电子系统设计指南(实践篇):从半导体、分立元件到TI集成电路的分析与实现》、《Xilinx Zynq-7000嵌入式系统设计与实现-基于ARM Cortex-A9双核处理器和Vivado的设计方法(第2版)》、《Altium Designer17一体化设计标准教程-从仿真原理和PCB设计到单片机系统》、《STC8系列单片机开发指南:面向处理器、程序设计和操作系统的分析与应用》、《Xilinx FPGA数字信号处理系统设计指南-基于HDL、Simulink和HLS的实现》等。