电子系统EDA新技术丛书 Xilinx Vivado数字设计权威指南 从数字逻辑、Verilog HDL、嵌入式系统到图像处理 作者:何宾编著 出版时间:2019年版内容简介 本书以Xilinx公司的Vivado 2018集成开发环境作为复杂数字系统设计的平台,以基础的数字逻辑和数字电路知识为起点,以Xilinx 7系列可编程逻辑器件和Verilog HDL为载体,详细介绍了数字系统中基本逻辑单元RTL描述方法。在此基础上,实现了复杂数字系统设计、数模混合系统设计和基于Cortex-M1处理器软核的片上嵌入式系统设计。全书共10章,内容主要包括数字逻辑基础、数字逻辑电路、可编程逻辑器件原理、Vivado集成开发环境设计流程、Verilog HDL语言规范、基本数字逻辑单元Verilog HDL描述、复杂数字系统设计和实现、数模混合系统设计、片上嵌入式系统的构建和实现,以及图像采集、处理系统的构建和实现。本书适合于需要系统掌握Verilog HDL和Vivado集成开发环境基本设计流程的初学者,同时也适用于需要掌握ARM嵌入式系统软件和硬件设计方法的嵌入式开发工程师。目录第1章 数字逻辑基础1.1 数字逻辑的发展史1.2 SPICE仿真工具基础1.2.1 SPICE的分析功能1.2.2 SPICE的分析流程1.3开关系统1.3.1 0和1的概念1.3.2 开关系统的优势1.3.3 晶体管作为开关1.3.4 半导体物理器件1.3.5 半导体逻辑电路1.3.6 逻辑电路符号1.4 半导体数字集成电路1.4.1 集成电路发展1.4.2 集成电路构成1.4.3 集成电路版图1.5 基本逻辑门及特性1.5.1 基本逻辑门1.5.2 基本逻辑门集成电路1.5.3 逻辑门电路的传输特性1.5.4 不同逻辑门的连接1.6 逻辑代数理论1.6.1 逻辑代数中运算关系1.6.2 逻辑函数表达式1.7 逻辑表达式的化简1.7.1 使用运算律化简逻辑表达式1.7.2 使用卡诺图化简逻辑表达式1.7.3 不完全指定逻辑功能的化简1.7.4 输入变量的卡诺图表示1.8 毛刺产生及消除1.9 数字码制表示和转换1.9.1 数字码制表示1.9.2 数字码制转换第2章 数字逻辑电路2.1 组合逻辑电路2.1.1 编码器2.1.2 译码器2.1.3 码转换器2.1.4 多路选择器2.1.5 数字比较器2.1.6 加法器2.1.7 减法器2.1.8 加法器/减法器2.1.9 乘法器2.2 时序逻辑电路2.2.1 时序逻辑电路类型2.2.2 时序逻辑电路特点2.2.3 基本SR锁存器2.2.4 同步SR锁存器2.2.5 D锁存器2.2.6 D触发器2.2.7 其他触发器2.2.8 普通寄存器2.2.9 移位寄存器2.3 存储器2.3.1存储器的分类2.3.2存储器工作原理2.3.3易失性存储器2.3.4非易失性存储器2.4有限状态机2.4.1有限状态机的原理2.4.2状态图表示及实现2.4.3三位计数器的设计与实现第3章可编程逻辑器件原理3.1可编程逻辑器件发展历史3.2可编程逻辑器件工艺3.3可编程逻辑器件结构3.3.1PROM结构3.3.2PAL结构3.3.3PLA结构3.4复杂可编程逻辑器件结构3.4.1功能块3.4.2宏单元3.4.3快速连接开关阵列3.4.4输入/输出块3.5现场可编程门阵列结构3.5.1查找表结构原理3.5.2可配置的逻辑块3.5.3时钟管理资源3.5.4块存储器资源3.5.5互联资源3.5.6DSP切片3.5.7输入/输出块3.5.8XADC模块3.6Xilinx 7系列FPGA产品第4章Vivado集成开发环境设计流程4.1Vivado集成开发环境4.2创建新的设计工程4.3创建并添加一个新的设计文件4.4详细描述4.4.1详细描述的原理4.4.2详细描述的实现过程4.5设计行为级仿真4.6设计综合和分析4.6.1综合过程的关键问题4.6.2执行设计综合4.6.3查看综合报告4.7约束文件对话框4.7.1约束文件4.7.2I/O规划器的功能4.7.3实现约束4.8设计实现和分析4.8.1设计实现原理4.8.2设计实现及分析4.9设计时序仿真4.10生成并下载比特流文件4.10.1FPGA配置原理4.10.2生成比特流文件4.10.3下载比特流文件4.11生成并烧写PROM文件第5章Verilog HDL规范5.1Verilog HDL发展5.2Verilog HDL程序结构5.2.1模块声明5.2.2模块端口定义5.2.3逻辑功能定义5.3Verilog HDL描述方式5.3.1行为级描述5.3.2数据流描述5.3.3结构级描述5.3.4开关级描述5.4Verilog 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.5Verilog 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.11Verilog HDL名字空间5.6Verilog HDL表达式5.6.1操作符5.6.2操作数5.6.3延迟表达式5.6.4表达式的位宽5.6.5有符号表达式5.6.6分配和截断5.7Verilog HDL分配5.7.1连续分配5.7.2过程分配5.8Verilog HDL门级和开关级描述5.8.1门和开关声明5.8.2逻辑门5.8.3输出门5.8.4三态门5.8.5MOS开关5.8.6双向传输开关5.8.7CMOS开关5.8.8pull门5.9Verilog HDL用户自定义原语5.9.1UDP定义5.9.2组合电路UDP5.9.3电平触发的时序UDP5.9.4边沿触发的时序UDP5.9.5边沿和电平触发的混合行为5.10Verilog HDL行为描述语句5.10.1过程语句5.10.2过程连续分配5.10.3条件语句5.10.4case语句5.10.5循环语句5.10.6过程时序控制5.10.7语句块5.10.8结构化的过程5.11Verilog HDL任务和函数5.11.1任务和函数的区别5.11.2定义和使能任务5.11.3禁止命名的块和任务5.11.4声明和调用函数5.12Verilog HDL层次化结构5.12.1模块和模块例化5.12.2覆盖模块参数值5.12.3端口5.12.4生成结构5.12.5层次化的名字5.12.6向上名字引用5.12.7范围规则5.13Verilog HDL设计配置5.13.1配置格式5.13.2库5.13.3配置例子5.14Verilog HDL指定块5.14.1模块路径声明5.14.2为路径分配延迟5.14.3混合模块路径延迟和分布式延迟5.14.4驱动布线逻辑5.14.5脉冲过滤行为的控制5.15Verilog HDL时序检查5.15.1使用一个稳定窗口检查时序5.15.2时钟和控制信号的时序检查5.15.3边沿控制标识符5.15.4提示符:用户定义对时序冲突的响应5.15.5使能带有条件的时序检查5.15.6时序检查中的矢量信号5.15.7负时序检查5.16Verilog HDL SDF逆向注解5.16.1SDF注解器5.16.2映射SDF结构到Verilog5.16.3多个注解5.16.4多个SDF文件5.16.5脉冲限制注解5.16.6SDF到Verilog延迟值映射5.17Verilog HDL系统任务和函数5.17.1显示任务5.17.2文件I/O任务和函数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.18Verilog HDL的VCD文件5.18.1Vivado创建四态VCD文件5.18.2Verilog源创建四态VCD文件5.18.3四态VCD文件格式5.19Verilog HDL编译器指令5.19.1`celldefine和`endcelldefine5.19.2`default_nettype5.19.3`define和`undef5.19.4`ifdef、 `else、 `elsif、 `endif、 `ifndef5.19.5`include5.19.6`resetall5.19.7`line5.19.8`timescale5.19.9`unconnected_drive和`nounconnected_drive5.19.10`pragma5.19.11`begin_keywords和`end_keyword5.20Verilog 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脉冲宽度调制Verilog HDL描述6.4存储器Verilog HDL描述6.4.1ROM的Verilog HDL描述6.4.2RAM的Verilog HDL描述6.5有限自动状态机Verilog HDL描述6.5.1FSM设计原理6.5.2FSM的应用――序列检测器的实现6.5.3FSM的应用――交通灯的实现6.6算法状态机Verilog HDL描述6.6.1算法状态机原理6.6.2ASM到Verilog HDL的转换第7章复杂数字系统设计和实现7.1设计所用外设的原理7.1.1LED驱动原理7.1.2开关驱动原理7.1.37段数码管驱动原理7.1.4VGA显示器原理7.1.5通用异步接收发送器原理7.2系统中各个模块的功能7.3创建新的设计工程7.4Verilog HDL数字系统设计流程7.4.1创建divclk1.v文件7.4.2创建divclk2.v文件7.4.3创建divclk3.v文件7.4.4创建divclk4.v文件7.4.5创建pwm_led.v文件7.4.6创建counter4b.v文件7.4.7创建seg7display.v文件7.4.8创建uart.v文件7.4.9创建显示处理文件7.4.10创建top.v文件7.5添加XDC约束7.6设计下载和验证第8章数模混合系统设计8.1信号采集和处理的实现8.1.1XADC模块原理8.1.2XADC原语8.1.31602字符LCD模块原理8.1.4信号采集、处理和显示的实现8.2信号发生器的实现8.2.1DAC工作原理8.2.2函数信号产生原理8.2.3设计实现第9章片上嵌入式系统的构建和实现9.1ARM AMBA规范9.2Cortex-M1内部结构和功能9.2.1处理器内核及寄存器组9.2.2Cortex-M1存储空间及映射9.2.3系统控制寄存器9.2.4内核存储器接口9.2.5嵌套向量中断控制器9.2.6总线主设备9.2.7AHB-PPB9.2.8调试9.3Cortex-M1系统时钟和复位9.4Cortex-M1嵌入式系统硬件设计9.4.1建立新的嵌入式设计工程9.4.2定制7段数码管IP核9.4.3定制按键消抖IP核9.4.4设置IP核路径9.4.5连接IP构建嵌入式系统硬件9.4.6对块设计进行预处理9.5Cortex-M1指令系统9.5.1Thumb指令集9.5.2汇编语言格式9.5.3寄存器访问指令――MOVE9.5.4寄存器访问指令――LOAD9.5.5存储器访问指令――STORE9.5.6多个数据访问指令9.5.7堆栈访问指令9.5.8算术运算指令9.5.9逻辑操作指令9.5.10移位操作指令9.5.11逆序操作指令9.5.12扩展操作指令9.5.13程序流控制指令9.5.14存储器屏障指令9.5.15异常相关指令9.5.16休眠相关的指令9.5.17其他指令9.6Cortex-M1嵌入式系统软件设计9.6.1建立嵌入式软件工程9.6.2设置选项9.6.3添加汇编文件9.6.4添加头文件9.6.5添加主文件9.6.6生成HEX文件9.7处理并验证设计第10章图像采集、处理系统的构建和实现10.1图像传感器的原理和驱动10.1.1传感器结构和功能10.1.2传感器引脚功能定义10.1.3SCCB接口驱动时序10.1.4SCCB接口驱动的实现10.2Sobel算子基本原理和实现方法10.3RGB444数据捕获原理及实现10.4系统整体结构和子模块设计10.4.1Vivado中的系统整体结构10.4.2时钟发生器的配置10.4.3片内RAM模块的配置10.4.4VGA驱动模块10.4.5行缓存模块 上一篇: 电子科学与技术专业英语 微电子技术分册 修订版 陈伟平,田丽主编(哈尔滨工业大学航天学院) 2007 下一篇: 电子线路 线性部分 第4版 谢嘉奎主编 1999年版