内容简介
第1章 数字逻辑基础
1.1 数字逻辑的发展史
1.2 开关系统
1.2.1 0和1的概念
1.2.2 开关系统的优势
1.2.3 晶体管作为开关
1.2.4 半导体物理器件
1.2.5 半导体逻辑电路
1.2.6 逻辑电路符号描述
1.3 半导体数字集成电路
1.3.1 集成电路的发展
1.3.2 集成电路构成
1.3.3 集成电路版图
1.4 基本逻辑门电路分析
1.4.1 基本逻辑门电路的描述
1.4.2 逻辑门电路的传输特性
1.4.3 基本逻辑门集成电路
1.4.4 不同工艺逻辑门的连接
1.5 逻辑代数理论
1.5.1 逻辑代数中运算关系
1.5.2 逻辑函数表达式
1.6 逻辑表达式的化简
1.6.1 使用运算律化简逻辑表达式
1.6.2 使用卡诺图化简逻辑表达式
1.6.3 不完全指定逻辑功能的化简
1.6.4 输入变量的卡诺图表示
1.7 毛刺产生及消除
1.8 数字码制表示和转换
1.8.1 数字码制表示
1.8.2 数字码制转换
1.9 组合逻辑电路
1.9.1 编码器
1.9.2 译码器
1.9.3 码转换器
1.9.4 数据选择器
1.9.5 数据比较器
1.9.6 加法器
1.9.7 减法器
1.9.8 加法器/减法器
1.9.9 乘法器
1.10 时序逻辑电路
1.10.1 时序逻辑电路类型
1.10.2 时序逻辑电路特点
1.10.3 基本SR锁存器
1.10.4 同步SR锁存器
1.10.5 D锁存器
1.10.6 D触发器
1.10.7 其他触发器
1.10.8 普通寄存器
1.10.9 移位寄存器
1.10.10 存储器
1.11 有限自动状态机
1.11.1 有限自动状态机原理
1.11.2 状态图表示及实现
1.11.3 三位计数器
第2章 可编程逻辑器件工艺和结构
2.1 可编程逻辑器件的发展历史
2.2 可编程逻辑器件工艺
2.3 简单可编程逻辑器件结构
2.3.1 PROM原理及结构
2.3.2 PAL原理及结构
2.3.3 PLA原理及结构
2.4 CPLD原理及结构
2.4.1 功能块
2.4.2 宏单元
2.4.3 快速连接矩阵
2.4.4 输入输出块
2.5 FPGA原理及结构
2.5.1 查找表结构及功能
2.5.2 可配置的逻辑块
2.5.3 时钟资源
2.5.4 时钟管理模块
2.5.5 块存储器资源
2.5.6 互联资源
2.5.7 专用的DSP模块
2.5.8 输入和输出块
2.5.9 吉比特收发器
2.5.10 PCI-E模块
2.5.11 XADC模块
2.6 CPLD和FPGA比较
2.7 Xilinx可编程逻辑器件
2.7.1 Xilinx CPLD芯片介绍
2.7.2 Xilinx FPGA芯片介绍
2.7.3 Xilinx PROM芯片介绍
第3章 Vivado集成开发环境IP核设计流程
3.1 IP的基本概念
3.1.1 IP核来源
3.1.2 IP核的提供方式
3.1.3 IP核优化
3.2 Vivado工具设计流程
3.3 Vivado IP数字系统的设计与实现
3.3.1 建立新的设计工程
3.3.2 修改工程设置属性
3.3.3 创建块设计
3.3.4 生成设计输出文件
3.4 XDC文件原理及添加方法
3.4.1 XDC的特性
3.4.2 约束文件的使用方法
3.4.3 约束顺序
3.4.4 XDC约束命令
3.4.5 添加XDC文件
3.5 查看综合后的结果
3.6 查看实现后的结果
3.7 生成和下载比特流文件
3.7.1 生成比特流文件
3.7.2 下载比特流文件
3.8 生成和下载PROM文件
第4章 Vivado集成开发环境Verilog HDL设计流程
4.1 创建新的设计工程
4.2 创建并添加一个新的设计文件
4.3 RTL详细描述和分析
4.3.1 详细描述的原理
4.3.2 详细描述的过程
4.4 设计综合和分析
4.4.1 综合过程的关键问题
4.4.2 执行设计综合
4.4.3 综合报告的查看
4.5 设计行为级仿真
4.6 创建实现约束文件XDC
4.6.1 实现约束的原理
4.6.2 I/O规划器功能
4.6.3 实现约束过程
4.7 设计实现和分析
4.7.1 设计实现原理
4.7.2 设计实现及分析
4.8 设计时序仿真
4.9 生成并下载比特流文件
4.9.1 生成比特流文件
4.9.2 下载比特流文件到FPGA
4.10 生成并烧写PROM文件
第5章 Verilog HDL语言规范
5.1 Verilog HDL语言发展
5.2 Verilog HDL程序结构
5.2.1 模块声明
5.2.2 模块端口定义
5.2.3 逻辑功能定义
5.3 Verilog HDL描述方式
5.3.1 行为级描述方式
5.3.2 数据流描述方式
5.3.3 结构级描述方式
5.3.4 开关级描述方式
5.4 Verilog HDL语言要素
5.4.1 注释
5.4.2 间隔符
5.4.3 标识符
5.4.4 关键字
5.4.5 系统任务和函数
5.4.6 编译器命令
5.4.7 运算符
5.4.8 数字
5.4.9 字符串
5.4.10 属性
5.5 Verilog HDL数据类型
5.5.1 值的集合
5.5.2 网络和变量
5.5.3 向量
5.5.4 强度
5.5.5 隐含声明
5.5.6 网络类型
5.5.7 寄存器类型
5.5.8 整数、实数、时间和实时时间
5.5.9 数组
5.5.10 参数
5.5.11 Verilog HDL命名空间
5.6 Verilog HDL表达式
5.6.1 操作符
5.6.2 操作数
5.6.3 延迟表达式
5.6.4 表达式的位宽
5.6.5 有符号表达式
5.6.6 分配和截断
5.7 Verilog HDL分配
5.7.1 连续分配
5.7.2 过程分配
5.8 Verilog HDL门级和开关级描述
5.8.1 门和开关声明
5.8.2 逻辑门
5.8.3 输出门
5.8.4 三态门
5.8.5 MOS开关
5.8.6 双向传输开关
5.8.7 CMOS开关
5.8.8 pull门
5.8.9 逻辑强度建模
5.8.10 组合信号的强度和值
5.8.11 通过非电阻器件的强度降低
5.8.12 通过电阻器件的强度降低
5.8.13 网络类型强度
5.8.14 门和网络延迟
5.9 Verilog HDL用户自定义原语
5.9.1 UDP定义
5.9.2 组合电路UDP
5.9.3 电平触发的时序UDP
5.9.4 边沿触发的时序电路UDP
5.9.5 初始化状态寄存器
5.9.6 UDP例化
5.9.7 边沿触发和电平触发的混合行为
5.10 Verilog HDL行为描述语句
5.10.1 过程语句
5.10.2 过程连续分配
5.10.3 条件语句
5.10.4 case语句
5.10.5 循环语句
5.10.6 过程时序控制
5.10.7 语句块
5.10.8 结构化的过程
5.11 Verilog HDL任务和函数
5.11.1 任务和函数的区别
5.11.2 任务和任务使能
5.11.3 禁止命名的块和任务
5.11.4 函数和函数调用
5.12 Verilog HDL层次化结构
5.12.1 模块和模块例化
5.12.2 覆盖模块参数值
5.12.3 端口
5.12.4 生成结构
5.12.5 层次化的名字
5.12.6 向上名字引用
5.12.7 范围规则
5.13 Verilog HDL设计配置
5.13.1 配置格式
5.13.2 库
5.13.3 配置例子
5.13.4 显示库绑定信息
5.13.5 库映射例子
5.14 Verilog HDL指定块
5.14.1 模块路径声明
5.14.2 为路径分配延迟
5.14.3 混合模块延迟和分布式延迟
5.14.4 驱动布线逻辑
5.14.5 脉冲过滤行为的控制
5.15 Verilog HDL时序检查
5.15.1 使用稳定窗口检查时序
5.15.2 用于时钟和控制信号的时序检查
5.15 3边沿控制符
5.15.4 提示符:用户定义对时序冲突的响应
5.15.5 使能有条件的时序检查
5.15.6 向量信号的时序检查
5.15.7 负时序检查
5.16 Verilog HDL SDF逆向注解
5.16.1 映射SDF结构到Verilog
5.16.2 多个注解
5.16.3 多个SDF文件
5.16.4 脉冲限制注解
5.16.5 SDF到Verilog延迟值映射
5.17 Verilog HDL系统任务和函数
5.17.1 显示任务
5.17.2 文件输入-输出系统任务和函数
5.17.3 时间标度系统任务
5.17.4 仿真控制任务
5.17.5 可编程逻辑阵列建模系统任务
5.17.6 随机分析任务
5.17.7 仿真时间函数
5.17.8 转换函数
5.17.9 概率分布函数
5.17.10 命令行输入
5.17.11 数学函数
5.18 Verilog HDL的VCD文件
5.18.1 四态VCD文件的创建
5.18.2 四态VCD文件的格式
5.18.3 扩展VCD文件的创建
5.18.4 扩展VCD文件的格式
5.19 Verilog HDL编译器指令
5.19.1 ′celldefine和'endcelldefine
5.19.2 ′default_nettype
5.19.3 ′define和'undef
5.19.4 ′ifdef、′else、′elsif、′endif和'ifndef
5.19.5 ′include
5.19.6 ′resetall
5.19.7 ′line
5.19.8 ′timescale
5.19.9 ′unconnected_drive和'nounconnected_drive
5.19.10 ′pragma
5.19.11 ′begin_keywords和'end_keyword
5.20 Verilog HDL编程语言接口PLI
5.20.1 Verilog HDL PLI发展过程
5.20.2 Verilog HDL PLI提供的功能
5.20.3 Verilog HDL PLI原理
5.20.4 Verilog HDL VPI工作原理
5.21 Verilog HDL(IEEE 1364—2005)关键字列表
第6章 基本数字逻辑单元Verilog HDL描述
6.1 组合逻辑电路的Verilog HDL描述
6.1.1 逻辑门的Verilog HDL描述
6.1.2 编码器的Verilog HDL描述
6.1.3 译码器的Verilog HDL描述
6.1.4 多路选择器的Verilog HDL描述
6.1.5 数字比较器的Verilog HDL描述
6.1.6 总线缓冲器的Verilog HDL描述
6.2 数据运算操作的Verilog HDL描述
6.2.1 加法操作的Verilog HDL描述
6.2.2 减法操作的Verilog HDL描述
6.2.3 乘法操作的Verilog HDL描述
6.2.4 除法操作的Verilog HDL描述
6.2.5 算术逻辑单元的Verilog HDL描述
6.3 时序逻辑电路的Verilog HDL描述
6.3.1 触发器和锁存器的Verilog HDL描述
6.3.2 计数器的Verilog HDL描述
6.3.3 移位寄存器的Verilog HDL描述
6.3.4 脉冲宽度调制PWM的Verilog HDL描述
6.4 存储器的Verilog HDL描述
6.4.1 ROM的Verilog HDL描述
6.4.2 RAM的Verilog HDL描述
6.5 有限自动状态机的Verilog HDL描述
6.5.1 FSM设计原理
6.5.2 FSM的分类及描述
第7章 Verilog HDL数字系统设计和实现
7.1 设计所用外设的原理
7.1.1 LED灯驱动原理
7.1.2 开关驱动原理
7.1.3 七段数码管驱动原理
7.1.4 VGA显示器原理
7.1.5 通用异步接收发送器原理
7.2 系统设计原理
7.3 创建新的设计工程
7.4 Verilog HDL数字系统设计流程
7.4.1 设计分频时钟模块2
7.4.2 设计和仿真计数器模块
7.4.3 设计顶层模块
7.4.4 设计和例化分频时钟模块1
7.4.5 设计七段数码管模块
7.4.6 设计和例化分频时钟模块3
7.4.7 设计和例化通用异步收发器模块
7.4.8 设计和例化分频时钟模块4
7.4.9 设计和例化VGA控制器模块
第8章 创建和封装用户IP设计与实现
8.1 Vivado定制IP流程导论
8.2 封装用户定义IP核设计流程
8.2.1 创建新的封装IP设计工程
8.2.2 添加Verilog HDL设计源文件
8.2.3 设置定制IP的库名和目录
8.2.4 封装定制IP的实现
8.3 调用用户自定义IP实现流程
8.3.1 创建新的调用IP工程
8.3.2 设置包含调用IP的路径
8.3.3 创建基于IP的系统
8.4 系统行为级仿真
8.5 系统设计综合
8.6 系统实现和验证
第9章 Vivado调试工具原理及实现
9.1 设计调试原理和方法
9.2 FIFO IP的生成和调用
9.2.1 创建新的工程
9.2.2 添加FIFO IP核
9.2.3 添加顶层设计文件
9.2.4 添加XDC文件
9.3 网表插入调试探测流程方法及实现
9.3.1 网表插入调试探测流程的方法
9.3.2 网表插入调试探测流程的实现
9.4 使用添加Verilog HDL属性调试探测流程
9.5 使用Verilog HDL例化调试核调试探测流程
第10章 数字系统高级设计方法
10.1 数字系统设计目标
10.2 时序的基本概念
10.2.1 基本术语
10.2.2 时序路径
10.2.3 建立和保持松弛
10.2.4 去除和恢复检查
10.3 逻辑复制和复用
10.3.1 逻辑复制
10.3.2 逻辑复用
10.4 并行和流水线
10.4.1 并行设计
10.4.2 流水线设计
10.5 同步和异步单元处理
10.5.1 同步单元处理
10.5.2 异步单元处理
10.6 逻辑结构处理
10.6.1 逻辑结构设计方法
10.6.2 if和case语句的使用
第11章 数模混合系统设计
11.1 模数转换器原理
11.1.1 模数转换器的参数
11.1.2 模数转换器的类型
11.2 数模转换器原理
11.2.1 数模转换器的参数
11.2.2 数模转换器的类型
11.3 基于XADC的信号采集和处理原理及实现
11.3.1 XADC模块原理
11.3.2 XADC原语
11.3.3 1602模块原理
11.3.4 信号采集、处理和显示的实现
11.4 基于DAC的信号发生器的设计原理及实现
11.4.1 D/A转换器工作原理
11.4.2 函数信号产生原理
11.4.3 设计实现