计算机
类型
可以朗读
语音朗读
270千字
字数
2018-10-01
发行日期
展开全部
主编推荐语
全面介绍Xilinx新一代Vivado 2018.3设计方法、流程及具体实现,理论与应用相结合。
内容简介
本书全面系统地介绍了Xilinx新一代集成开发环境Vivado 2018.3的设计方法、设计流程和具体实现。全书共11章,内容包括:Xilinx UltraScale结构、Vivado集成设计环境导论、Vivado工程模式基本设计实现、Vivado非工程模式基本设计实现、创建和封装用户IP核流程、Vivado高级约束原理及实现、Vivado调试工具原理及实现、Vivado嵌入式系统设计实现、Vivado模型设计原理及实现、Vivado HLS原理及实现、Vivado部分可重配置原理及实现。本书参考了Xilinx提供的大量Vivado最新设计资料,理论与应用并重,将Xilinx最新的设计理论贯穿在具体的设计实现中。
目录
- 封面
- 书名页
- 内容简介
- 版权页
- 前言
- 学习说明
- 目录
- 第1章 Xilinx新一代UltraScale结构
- 1.1 UltraScale结构特点
- 1.2 可配置逻辑块
- 1.2.1 可配置逻辑块的特点
- 1.2.2 多路复用器
- 1.2.3 进位逻辑
- 1.2.4 存储元素
- 1.2.5 分布式RAM
- 1.2.6 只读存储器(ROM)
- 1.2.7 移位寄存器
- 1.3 时钟资源和时钟管理模块
- 1.3.1 时钟资源
- 1.3.2 时钟管理模块
- 1.4 块存储器资源
- 1.5 专用的DSP模块
- 1.6 SelectIO资源
- 1.7 高速串行收发器
- 1.8 PCI-E模块
- 1.9 Interlaken集成块
- 1.10 Ethernet模块
- 1.11 系统监控器模块
- 1.12 配置模块
- 1.13 互联资源
- 第2章 Vivado集成设计环境导论
- 2.1 Vivado系统级设计流程
- 2.2 Vivado功能和特性
- 2.3 Vivado中电路结构的网表描述
- 2.4 Vivado中工程数据的目录结构
- 2.5 Vivado中Journal文件和Log文件功能
- 2.5.1 Journal文件(Vivado.jou)
- 2.5.2 Log文件(Vivado.log)
- 2.6 Vivado两种设计流程模式
- 2.6.1 工程模式和非工程模式不同点比较
- 2.6.2 工程模式和非工程模式命令的不同
- 2.7 Vivado中的XDC文件
- 2.7.1 XDC的特性
- 2.7.2 XDC与UCF比较
- 2.7.3 约束文件的使用方法
- 2.7.4 约束顺序
- 2.7.5 XDC约束命令
- 2.8 Vivado集成设计环境的启动方法
- 2.9 Vivado集成设计环境主界面
- 2.10 Vivado设计主界面及功能
- 2.10.1 流程处理主界面及功能
- 2.10.2 工程管理器主界面及功能
- 2.10.3 工作区窗口
- 2.10.4 设计运行窗口
- 2.11 Vivado支持的属性
- 第3章 Vivado工程模式基本设计实现
- 3.1 创建新的设计工程
- 3.2 创建并添加一个新的设计文件
- 3.3 RTL详细描述和分析
- 3.3.1 详细描述的实现
- 3.3.2 生成HDL例化模板
- 3.4 设计综合和分析
- 3.4.1 综合过程的关键问题
- 3.4.2 设计综合选项
- 3.4.3 执行设计综合
- 3.4.4 综合报告的查看
- 3.5 设计行为级仿真
- 3.6 创建实现约束
- 3.6.1 实现约束的原理
- 3.6.2 I/O规划器功能
- 3.6.3 添加引脚约束
- 3.6.4 添加简单的时钟约束
- 3.7 设计实现和分析
- 3.7.1 设计实现原理
- 3.7.2 设计实现选项
- 3.7.3 设计实现及分析
- 3.7.4 静态时序分析
- 3.8 设计时序仿真
- 3.9 生成编程文件
- 3.9.1 配置器件属性
- 3.9.2 生成可编程文件
- 3.9.3 生成可编程文件选项
- 3.10 下载比特流文件到FPGA
- 3.11 生成并烧写PROM文件
- 第4章 Vivado非工程模式基本设计实现
- 4.1 非工程模式基本命令和功能
- 4.1.1 非工程模式基本命令列表
- 4.1.2 典型Tcl脚本的使用
- 4.2 Vivado集成开发环境分析设计
- 4.2.1 启动Vivado集成开发环境
- 4.2.2 打开设计检查点的方法
- 4.3 修改设计路径
- 4.4 设置设计输出路径
- 4.5 读取设计文件
- 4.6 运行设计综合
- 4.7 运行设计布局
- 4.8 运行设计布线
- 4.9 生成比特流文件
- 4.10 下载比特流文件
- 第5章 创建和封装用户IP核流程
- 5.1 Vivado定制IP流程
- 5.2 创建并封装包含源文件的IP
- 5.2.1 创建新的用于创建IP的工程
- 5.2.2 设置定制IP的库名和目录
- 5.2.3 封装定制IP的实现
- 5.3 调用并验证包含源文件的IP设计
- 5.3.1 创建新的用于调用IP的工程
- 5.3.2 设置包含调用IP的路径
- 5.3.3 创建基于IP的系统
- 5.3.4 系统行为级仿真
- 5.3.5 系统设计综合
- 5.3.6 系统实现和验证
- 5.4 创建并封装不包含源文件的IP
- 5.4.1 创建网表文件
- 5.4.2 创建新的设计工程
- 5.4.3 设置定制IP的库名和目录
- 5.4.4 封装定制IP的实现
- 5.5 调用并验证不包含源文件的IP设计
- 5.5.1 创建新的用于调用IP的工程
- 5.5.2 设置包含调用IP的路径
- 5.5.3 创建基于IP的系统
- 5.5.4 系统设计综合
- 第6章 Vivado高级约束原理及实现
- 6.1 时序检查概念
- 6.1.1 基本术语
- 6.1.2 时序路径
- 6.1.3 建立和保持松弛
- 6.1.4 建立和保持检查
- 6.1.5 恢复和去除检查
- 6.2 时序约束概念
- 6.2.1 时钟定义
- 6.2.2 时钟组
- 6.2.3 I/O延迟约束
- 6.2.4 时序例外
- 6.3 生成时序报告
- 6.4 添加时序约束
- 6.4.1 时序约束策略1
- 6.4.2 时序约束策略2
- 6.5 物理约束原理
- 6.5.1 网表约束
- 6.5.2 布局约束
- 6.5.3 布线约束
- 6.6 布局约束实现
- 6.6.1 修改综合属性
- 6.6.2 布局约束方法
- 6.7 布线约束实现
- 6.7.1 手工布线
- 6.7.2 进入分配布线模式
- 6.7.3 分配布线节点
- 6.7.4 取消分配布线节点
- 6.7.5 完成并退出分配布线模式
- 6.7.6 锁定LUT负载上的单元输入
- 6.7.7 分支布线
- 6.7.8 直接约束布线
- 6.8 修改逻辑实现
- 6.9 配置约束原理
- 6.10 增量编译
- 6.10.1 增量编译流程
- 6.10.2 运行增量布局和布线
- 6.10.3 使用增量编译
- 6.10.4 增量编译高级分析
- 第7章 Vivado调试工具原理及实现
- 7.1 设计调试原理和方法
- 7.2 创建新的设计
- 7.2.1 创建新的FIFO调试工程
- 7.2.2 添加FIFO IP到设计中
- 7.2.3 添加顶层设计文件
- 7.2.4 使用HDL例化添加FIFO到设计中
- 7.2.5 添加约束文件
- 7.3 网表插入调试探测流程方法及实现
- 7.3.1 网表插入调试探测流程的方法
- 7.3.2 网表插入调试探测流程的实现
- 7.4 使用添加HDL属性调试探测流程
- 7.5 使用HDL例化调试核调试探测流程
- 7.6 VIO原理及应用
- 7.6.1 设计原理
- 7.6.2 添加VIO核
- 7.6.3 生成比特流文件
- 7.6.4 下载并调试设计
- 第8章 Vivado部分可重配置原理及实现
- 8.1 可重配置导论
- 8.1.1 可重配置的概念
- 8.1.2 可重配置的应用
- 8.1.3 可重配置的特点
- 8.1.4 可重配置术语解释
- 8.1.5 可重配置的要求
- 8.1.6 可重配置的标准
- 8.1.7 可重配置的流程
- 8.2 基于工程的部分可重配置实现
- 8.2.1 设计原理
- 8.2.2 建立可重配置工程
- 8.2.3 创建新的分区定义
- 8.2.4 添加新的可重配置模块
- 8.2.5 设置不同的配置选项
- 8.2.6 定义分区的布局
- 8.2.7 执行DRC
- 8.2.8 实现第一个运行配置并生成比特流文件
- 8.2.9 实现第二个运行配置并生成比特流文件
- 8.2.10 实现第三个运行配置并生成比特流文件
- 8.2.11 实现第四个运行配置并生成比特流文件
- 8.2.12 下载不同运行配置的部分比特流
- 8.3 基于非工程的部分可重配置实现
- 8.3.1 查看脚本
- 8.3.2 综合设计
- 8.3.3 实现第一个配置
- 8.3.4 实现第二个配置
- 8.3.5 验证配置
- 8.3.6 生成比特流
- 8.3.7 部分重配置FPGA
- 8.4 部分重配置控制器PRC的原理及应用
- 8.4.1 部分重配置控制器原理
- 8.4.2 实现原理
- 8.4.3 创建和配置新的设计
- 8.4.4 添加ILA核
- 8.4.5 添加和设置PRC核
- 8.4.6 设置不同的配置选项
- 8.4.7 定义分区的布局
- 8.4.8 实现第一个运行配置并生成比特流文件
- 8.4.9 实现第二个运行配置并生成比特流文件
- 8.4.10 实现第三个运行配置并生成比特流文件
- 8.4.11 创建板支持包工程
- 8.4.12 创建应用程序工程
- 8.4.13 创建zynq_fsbl应用
- 8.4.14 创建启动镜像
- 8.4.15 从SD卡启动引导系统
- 第9章 Vivado HLS原理详解
- 9.1 高级综合工具概述
- 9.1.1 高级综合工具的功能和特点
- 9.1.2 Vivado HLS工具的优势
- 9.1.3 HLS中使用术语说明
- 9.1.4 从C中提取硬件结构
- 9.1.5 不同的命令对HLS综合结果的影响
- 9.2 高级综合工具调度和绑定
- 9.2.1 高级综合工具调度
- 9.2.2 高级综合工具绑定
- 9.3 C代码的关键属性
- 9.3.1 函数
- 9.3.2 类型
- 9.3.3 循环
- 9.3.4 数组
- 9.3.5 I/O端口
- 9.3.6 运算符
- 9.4 C代码级和RTL级算法验证
- 9.5 添加命令
- 9.6 延迟和吞吐量的概念
- 9.6.1 设计延迟
- 9.6.2 设计吞吐量
- 9.7 改善延迟
- 9.7.1 延迟最小化
- 9.7.2 用户延迟的定义
- 9.7.3 循环的处理
- 9.8 改善吞吐量
- 9.8.1 数据流优化
- 9.8.2 流水线优化
- 9.9 性能瓶颈——数组
- 9.9.1 数组分割
- 9.9.2 数组重组
- 9.9.3 数据打包
- 9.10 改善面积和资源
- 9.10.1 绑定配置
- 9.10.2 分配命令
- 9.10.3 指定资源
- 9.10.4 函数内联
- 9.10.5 循环合并和平坦化
- 9.10.6 映射数组
- 9.10.7 任意精度整数
- 9.11 I/O类型
- 9.11.1 组合和时序逻辑设计
- 9.11.2 Vivado HLS I/O选项
- 9.11.3 模块级协议说明
- 9.11.4 端口级I/O协议
- 9.12 命令和编译指示
- 第10章 Vivado HLS实现过程详解
- 10.1 FIR滤波器不同语言的描述方式
- 10.1.1 C语言描述风格
- 10.1.2 C++语言描述风格
- 10.1.3 SystemC语言描述风格
- 10.2 Vivado HLS不支持的操作
- 10.3 测试平台编码
- 10.4 指针的使用
- 10.5 流的使用
- 10.6 支持库
- 10.6.1 FFT
- 10.6.2 FIR
- 10.6.3 移位寄存器
- 10.6.4 线性算法库
- 10.6.5 OpenCV库
- 10.7 Vivado HLS数字系统实现
- 10.7.1 基于HLS实现组合逻辑
- 10.7.2 基于HLS实现时序逻辑
- 10.7.3 基于HLS实现矩阵相乘
- 第11章 HDMI显示屏驱动原理和实现
- 11.1 HDMI的发展历史
- 11.2 HDMI视频显示接口定义
- 11.3 HDMI链路结构
- 11.4 HDMI链路时序要求
- 11.5 HDMI编码算法
- 11.6 HDMI并行编码数据转换原理及实现
- 11.6.1 数据并行-串行转换
- 11.6.2 三态并行-串行转换器
- 11.6.3 OSERDESE2原语
- 11.6.4 TMDS信号转换模块
- 11.6.5 HDMI并行编码数据转换的实现
- 11.7 系统整体设计结构
- 附录 a7-edp-1开发板原理图
- 反侵权盗版声明
- 封底
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。