注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络硬件、外部设备与维护Intel FPGA权威设计指南:基于Quartus Prime Pro 19集成开发环境

Intel FPGA权威设计指南:基于Quartus Prime Pro 19集成开发环境

Intel FPGA权威设计指南:基于Quartus Prime Pro 19集成开发环境

定 价:¥199.00

作 者: 何宾 著
出版社: 电子工业出版社
丛编项: 英特尔FPGA中国创新中心系列丛书
标 签: 暂缺

购买这本书可以去


ISBN: 9787121382444 出版时间: 2020-02-01 包装: 平装
开本: 16开 页数: 794 字数:  

内容简介

  本书以Intel公司的QuartusPrimePro19集成开发环境与Intel新一代的可编程逻辑器件Cyclone10GX为软件和硬件平台,系统地介绍了可编程逻辑器件的原理和Quartus PrimePro集成开发环境的关键特性。全书共11章,内容主要包括IntelCyclone10GXFPGA结构详解、QuartusP rimeProHDL设计流程、QuartusPrimePro块设计流程、QuartusPrimePro定制IP核设计流程、Quartus PrimePro命令行脚本设计流程、DesignSpaceExplorerII设计流程、QuartusPrimePro系统调试原理及实现、QuartusPrimePro时序和物理约束原理及实现、QuartusPrimePro中HDL高级设计方法、QuartusPrimePro部分可重配置原理及实现,以及Intel高级综合工具原理及实现方法。本书可作为使用Intel集成开发环境QuartusPrimePro进行FPGA设计的工程技术人员的参考用书,也可作为电子信息类专业高年级本科生和研究生的教学与科研用书,还可以作为Intel公司QuartusPrimePro相关培训的培训教材。

作者简介

  著名的嵌入式技术和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 结构详解\t1
1.1 逻辑阵列块和自适应逻辑块\t1
1.1.1 ALM结构和功能\t1
1.1.2 LUT的工作模式\t2
1.1.3 寄存器和锁存器\t12
1.1.4 LAB的互联架构\t21
1.1.5 分布式存储器\t22
1.2 存储器块\t32
1.2.1 嵌入式存储器块设计指导\t32
1.2.2 存储器块打包模式\t34
1.2.3 地址时钟使能\t35
1.2.4 存储器块异步清除\t35
1.2.5 存储器块纠错码\t35
1.2.6 使用M20K实现RAM\t36
1.3 时钟网络和相位锁相环\t40
1.3.1 时钟网络类型\t40
1.3.2 时钟资源功能\t43
1.3.3 层次化时钟结构\t45
1.3.4 时钟控制块\t47
1.3.5 时钟功耗控制\t50
1.3.6 相位锁相环\t52
1.4 I/O块\t58
1.4.1 I/O组的排列\t59
1.4.2 I/O电气标准\t60
1.4.3 I/O架构和特性\t62
1.4.4 可编程的IOE特性\t65
1.4.5 片上端接\t67
1.4.6 SERDES和DPA\t67
1.5 DSP块\t70
1.5.1 DSP块特性\t71
1.5.2 DSP块资源\t71
1.5.3 DSP块架构\t72
1.5.4 DSP块应用\t72
1.6 外部存储器接口\t78
1.6.1 外部存储器接口特性\t79
1.6.2 外部存储器接口I/O引脚\t80
1.6.3 器件封装支持的存储器接口\t80
1.6.4 外部存储器接口架构\t82
1.7 配置技术\t87
1.7.1 AS配置\t89
1.7.2 PS配置\t94
1.7.3 FPP配置\t97
1.7.4 JTAG配置\t106
1.7.5 配置流程\t108
1.8 电源管理\t110
1.8.1 功耗\t110
1.8.2 可编程电源技术\t110
1.8.3 电源传感线\t111
1.8.4 片上电压传感器\t111
1.8.5 温度传感二极管\t112
1.8.6 上电/断电顺序要求\t112
第 章 Quartus Prime Pro HDL 设计流程\t113
2.1 Quartus Prime Pro及组件的下载、安装和授权\t113
2.1.1 下载Quartus Prime Pro及组件\t113
2.1.2 安装Quartus Prime Pro及组件\t117
2.1.3 授权Quartus Prime Pro及组件\t118
2.2 Quartus Prime Pro功能和特性\t121
2.3 Quartus Prime Pro设计流程\t122
2.3.1 处理流程框架\t122
2.3.2 增量优化的概念\t125
2.3.3 超感知设计流程\t125
2.4 建立新的设计工程\t128
2.5 添加新的设计文件\t134
2.6 设计的分析和综合处理\t137
2.6.1 分析和综合的概念\t137
2.6.2 分析和综合的属性选项\t140
2.6.3 分析和综合的实现\t147
2.6.4 查看分析和综合的结果\t149
2.7 设计的行为级仿真\t155
2.7.1 使用Verilog HDL生成测试向量的仿真\t155
2.7.2 使用波形文件生成测试向量的仿真\t161
2.8 设计的约束\t165
2.8.1 通过GUI指定约束的方法\t165
2.8.2 使用Tcl脚本约束设计的方法\t166
2.8.3 在Assignment Editor中添加约束条件\t172
2.8.4 在Pin Planner中添加约束条件\t174
2.8.5 I/O分配分析\t178
2.8.6 添加简单的时序约束条件\t180
2.9 设计的适配\t184
2.9.1 适配器设置选项\t184
2.9.2 适配的实现\t189
2.9.3 查看适配后的结果\t190
2.10 查看时序分析结果\t196
2.10.1 时序分析的基本概念\t196
2.10.2 时序路径和时钟分析\t197
2.10.3 时钟建立分析\t200
2.10.4 时钟保持分析\t201
2.10.5 恢复和去除分析\t202
2.10.6 多周期路径分析\t203
2.10.7 亚稳态分析\t206
2.10.8 时序悲观\t207
2.10.9 时钟作为数据分析\t208
2.10.10 多角时序分析\t209
2.10.11 时序分析的实现\t210
2.11 功耗分析原理和实现\t217
2.11.1 功耗分析器输入\t218
2.11.2 功耗分析器设置\t220
2.11.3 节点和实体分配\t222
2.11.4 执行功耗分析\t223
2.12 生成编程文件\t226
2.12.1 装配器选项属性设置\t226
2.12.2 可编程文件类型\t232
2.12.3 运行装配器工具\t232
2.12.4 生成PROM文件\t233
2.13 下载设计\t239
2.13.1 下载设计到FPGA\t239
2.13.2 编程串行Flash存储器\t241
第 章 Quartus Prime Pro 块设计流程\t243
3.1 基于块的设计介绍\t243
3.1.1 与块设计有关的术语\t243
3.1.2 设计块重用介绍\t244
3.1.3 基于块的增量编译介绍\t246
3.2 设计方法学介绍\t247
3.2.1 自顶向下设计方法学介绍\t247
3.2.2 自底向上设计方法学介绍\t247
3.2.3 基于团队的设计方法学介绍\t248
3.3 设计分区\t249
3.3.1 为外围IP、时钟和PLL规划分区\t250
3.3.2 设计分区指导\t251
3.3.3 保留和重用分区快照\t251
3.3.4 创建设计分区\t252
3.4 设计分区重用流程\t255
3.4.1 重用核心分区\t256
3.4.2 重用根分区\t263
3.4.3 保留核心实体重新绑定\t269
3.5 增量块设计流程\t270
3.5.1 增量的时序收敛\t270
3.5.2 设计抽象及实现\t272
3.5.3 空分区时钟源保留\t273
3.6 设计块重用和基于块增量编译的组合\t273
3.7 建立基于团队的设计\t274
3.7.1 为基于团队的设计创建一个顶层工程\t274
3.7.2 为工程集成准备一个设计分区\t277
3.8 自底向上的设计考虑\t278
第 章 Quartus Prime Pro定制IP 核设计流程\t279
4.1 Platform Designer工具功能介绍\t279
4.1.1 Platform Designer支持的接口\t279
4.1.2 元件结构\t280
4.1.3 元件文件组织\t281
4.1.4 元件版本\t281
4.1.5 IP元件的设计周期\t281
4.2 调用Platform Designer工具\t282
4.3 创建定制元件IP核\t285
4.3.1 指定IP元件类型\t285
4.3.2 创建/指定用于综合和仿真的HDL文件\t286
4.4 创建通用元件IP核\t298
4.5 对定制元件IP核进行验证\t309
4.6 对通用元件IP核进行验证\t310
4.6.1 添加顶层原理图文件\t310
4.6.2 修改user_define.v文件\t312
4.6.3 添加generic_component_0.v文件\t314
4.7 IP核生成输出(Quartus Prime Pro版本)\t315
第 章 Quartus Prime Pro命令行脚本设计流程\t317
5.1 工具命令语言\t317
5.2 Quartus Prime Tcl包\t317
5.3 Quartus Prime Tcl API Help\t319
5.3.1 命令行选项\t321
5.3.2 Quartus Prime Tcl控制台窗口\t323
5.4 端到端的设计流程\t323
5.4.1 建立新的设计工程\t325
5.4.2 添加新的设计文件\t325
5.4.3 添加设计约束条件\t326
5.4.4 设计综合\t329
5.4.5 设计适配\t330
5.4.6 设计装配(生成编程文件)\t331
5.4.7 报告\t331
5.4.8 时序分析\t333
5.5 自动脚本执行\t335
5.5.1 执行例子\t336
5.5.2 控制处理\t336
5.5.3 显示消息\t337
5.6 其他脚本\t337
5.6.1 自然总线命名\t337
5.6.2 短选项名字\t337
5.6.3 集合命令\t337
5.6.4 Node Finder命令\t339
5.6.5 get_names命令\t354
5.6.6 post_message命令\t356
5.6.7 访问命令行参数\t356
5.6.8 quartus() Array\t358
5.7 tclsh shell\t359
5.8 Tcl脚本基础知识\t359
5.8.1 Intel FPGA COOL的例子\t359
5.8.2 变量\t359
5.8.3 替换\t360
5.8.4 算术\t360
5.8.5 列表\t361
5.8.6 数组\t361
5.8.7 控制结构\t362
5.8.8 过程(子程序或函数)\t363
5.8.9 文件I/O\t363
第 章 Design Space Explorer II 设计流程\t365
6.1 启动DSE II工具\t365
6.2 DSE II工具介绍\t366
6.2.1 Project页面\t366
6.2.2 Setup页面\t367
6.2.3 Exploration页面\t369
6.2.4 Status页面\t373
6.3 在本地计算机上探索不同的实现策略\t373
6.4 在远程计算机上探索不同的实现策略\t377
6.4.1 创建一个Azure账户\t378
6.4.2 下载PuTTY相关工具\t378
6.4.3 选择Intel FPGA工具\t379
6.4.4 创建和配置虚拟机\t380
6.4.5 配置和启动PuTTY工具\t388
6.4.6 捕获虚拟机上的GUI界面\t391
6.4.7 打开Quartus Prime软件\t393
6.4.8 终止虚拟机\t395
6.4.9 持久存储和数据传输\t396
6.4.10 搭建和配置许可证服务器\t397
6.4.11 连接到许可证服务器\t406
6.4.12 在虚拟机上运行DSE II\t407
第 章 Quartus Prime Pro系统调试原理及实现\t411
7.1 系统调试工具概述\t411
7.1.1 系统调试工具组合\t411
7.1.2 用于监视RTL节点的工具\t414
7.1.3 具有激励功能的工具\t416
7.1.4 Virtual JTAG Interface Intel FPGA IP核\t417
7.1.5 系统级调试结构\t417
7.1.6 SLD JTAG桥\t418
7.1.7 部分重配置设计调试\t422
7.2 使用Signal Tap逻辑分析仪的设计调试\t422
7.2.1 软件和硬件要求\t423
7.2.2 Signal Tap逻辑分析仪的特性和优点\t423
7.2.3 Signal Tap逻辑分析仪任务流程概述\t424
7.2.4 创建新的调试工程\t426
7.2.5 添加FIFO IP核\t427
7.2.6 添加顶层设计文件\t430
7.2.7 配置Signal Tap逻辑分析仪\t432
7.2.8 编译设计\t463
7.2.9 编程目标器件或器件\t467
7.2.10 运行逻辑分析仪\t468
7.2.11 查看、分析和使用捕获的数据\t472
7.3 使用Signal Probe的快速设计验证\t474
7.4 使用外部逻辑分析仪的系统内调试\t477
7.4.1 选择逻辑分析仪\t477
7.4.2 为逻辑分析仪接口定义参数\t479
7.4.3 将LAI文件引脚映射到可用的I/O引脚\t480
7.4.4 将内部信号映射到LAI组\t480
7.4.5 编译Quartus Prime工程\t481
7.4.6 使用LAI编程Intel支持的器件\t482
7.4.7 运行时控制活动的组\t482
7.5 系统内修改存储器和常量\t482
7.5.1 用系统内存储器内容编辑器调试设计\t483
7.5.2 使能运行时修改设计中的实例\t483
7.5.3 用系统内存储器内容编辑器编程器件\t484
7.5.4 将存储器实例加载到ISMCE\t485
7.5.5 监视存储器中的位置\t485
7.5.6 使用“Hex Editor”窗口编辑存储器内容\t486
7.5.7 导入和导出存储器文件\t487
7.6 使用系统内源和探针的设计调试\t488
7.6.1 系统内源和探针的设计流程概述\t489
7.6.2 例化In-System Sources & Probes IP核\t490
7.6.3 编译设计\t492
7.6.4 运行系统内源和探针编辑器\t492
7.6.5 用JTAG Chain Configuration编程器件\t493
7.6.6 “Instance Manager:”窗口\t494
7.6.7 In-System Sources and Probes Editor主界面\t494
7.6.8 In-System Sources and Probes Editor的Tcl命令\t495
第 章 Quartus Prime Pro时序和物理约束原理及实现\t497
8.1 SDC文件的高级特性\t497
8.1.1 使用实体绑定的SDC文件\t497
8.1.2 实体绑定的约束范围\t498
8.1.3 实体绑定的约束实例\t498
8.2 创建时钟和时钟约束\t500
8.2.1 基本时钟\t500
8.2.2 虚拟时钟\t501
8.2.3 生成时钟\t502
8.2.4 推导PLL时钟\t507
8.2.5 创建时钟组\t509
8.2.6 时钟效应特性\t512
8.3 创建I/O约束\t515
8.3.1 设置输入延迟(set_input_delay)\t515
8.3.2 设置输出延迟(set_output_delay)\t516
8.4 创建偏移和延迟约束\t516
8.4.1 高级I/O时序和板布线模型延迟\t516
8.4.2 设置最大偏移(set_max_skew)\t517
8.4.3 设置网络延迟(set_net_delay)\t521
8.4.4 创建时序例外(异常)\t523
8.4.5 多周期例外的实例\t531
8.4.6 延迟注解\t550
8.4.7 约束设计分区端口\t550
8.5 使用适配器过约束\t551
8.6 接口规划工具原理及应用\t552
8.6.1 接口规划概述\t553
8.6.2 建立新的设计工程\t554
8.6.3 添加并配置外部存储器接口IP核\t555
8.6.4 添加Avalon MMM BFM IP核\t563
8.6.5 在顶层文件中例化IP核\t565
8.6.6 初始化Interface Planner\t567
8.6.7 用工程分配更新计划\t568
8.6.8 规划外围布局\t568
8.6.9 报告布局数据\t573
8.6.10 验证和导出规划约束\t574
第 章 Quartus Prime Pro中HDL 高级设计方法\t576
9.1 综合支持的HDL语言\t576
9.1.1 Verilog和SystemVerilog综合支持\t576
9.1.2 VHDL综合支持\t580
9.2 HDL支持的综合属性和命令\t581
9.2.1 Verilog HDL综合属性和命令\t581
9.2.2 VHDL综合属性和命令\t597
9.3 底层原语的使用\t614
9.3.1 底层I/O原语\t616
9.3.2 底层逻辑原语\t621
第 章 Quartus Prime Pro部分可重配置原理及实现\t628
10.1 部分可重配置基本概念\t628
10.1.1 部分可重配置术语\t629
10.1.2 部分可重配置过程序列\t629
10.1.3 内部主设备部分可重配置\t630
10.1.4 外部主设备部分可重配置\t632
10.1.5 部分可重配置设计注意事项\t632
10.2 部分可重配置基本流程的实现\t633
10.2.1 建立新的设计工程\t634
10.2.2 添加设计文件\t634
10.2.3 创建设计分区\t637
10.2.4 为PR分区分配布局和布线区域\t639
10.2.5 添加部分可重配置控制器IP核\t642
10.2.6 定义角色\t644
10.2.7 创建修订版\t645
10.2.8 编译基本修订版本\t647
10.2.9 准备PR实现修订版\t648
10.2.10 编程器件\t650
10.3 层次化部分可重配置流程的实现\t652
10.3.1 建立新的设计工程\t652
10.3.2 添加设计文件\t653
10.3.3 创建设计分区\t655
10.3.4 为PR分区分配布局和布线区域\t658
10.3.5 添加部分可重配置控制器IP核\t660
10.3.6 定义角色\t662
10.3.7 创建修订版\t663
10.3.8 编译基本修订版本\t666
10.3.9 为父PR分区准备PR实现修订版\t667
10.3.10 为子PR分区准备PR实现修订版\t669
10.3.11 编程器件\t672
第 章 Intel高级综合工具原理及实现方法\t673
11.1 高级综合工具概论\t673
11.1.1 高级综合工具的优势\t673
11.1.2 高级综合工具运行要求\t675
11.1.3 高级综合工具的简要流程\t675
11.1.4 HLS与OpenCL\t676
11.1.5 高级综合工具编译器细节\t676
11.2 高级综合工具基本流程的实现\t680
11.2.1 构建C++模型和测试平台\t680
11.2.2 C和C++库\t685
11.2.3 设置高级综合编译器\t690
11.2.4 运行高级综合编译器\t692
11.2.5 查看高级设计报告\t694
11.2.6 查看元件RTL仿真波形\t700
11.3 任意精度数据类型及优化\t702
11.3.1 元件中声明ac_int数据类型\t703
11.3.2 调试ac_int数据类型的使用\t703
11.3.3 元件中声明ac_fixed数据类型\t704
11.3.4 浮点编译优化\t707
11.4 元件接口\t712
11.4.1 元件调用接口\t712
11.4.2 Avalon流接口\t715
11.4.3 Avalon存储器映射的主接口\t721
11.4.4 Avlaon存储器映射的从接口\t725
11.4.5 元件调用接口参数\t731
11.4.6 不稳定和稳定元件参数\t734
11.4.7 全局变量\t736
11.4.8 元件接口的结构体\t736
11.4.9 复位行为\t736
11.5 元件中的本地变量(存储器属性)\t737
11.5.1 编译器元件存储器属性\t737
11.5.2 静态变量\t761
11.6 元件中的循环\t762
11.6.1 循环启动间隔(ii编译指示)\t764
11.6.2 循环携带的依赖性(ivdep编译指示)\t765
11.6.3 循环合并(loop_coalesce编译指示)\t768
11.6.4 循环展开(unroll编译指示)\t770
11.6.5 循环并发(max_concurrency编译指示)\t773
11.7 元件并发性\t773
11.7.1 存储空间或I/O的串行等效\t774
11.7.2 并行性控制\t774
附录A C10-EDP-1硬件开发平台原理图\t775
附录B USB-Blaster下载器驱动故障排除方法\t790

本目录推荐