内容简介
本书根据EDA课程教学要求,以提高数字设计能力为目标,系统阐述FPGA设计开发的相关知识,主要内括EDA技术概述、FPGA/CPLD器件结构、Verilog硬件描述语言及设计案例等。全书以Vivado、ModelSim软件为工具,以Verilog-1995和Verilog-2001标准为依据,以可综合的设计为,以EGO1“口袋实验板”作为目标板,通过诸多设计案例,系统阐述数字系统设计方法与设计思想,由浅入深地介绍Verilog工程开发的手段与技能。本书着眼于实用,紧密联系教学科研实际,实例丰富。全书深入浅出,概念清晰。 本书可作为电子、通信、微电子、信息、电路与系统、通信与信息系统及测控技术与仪器等专业本科生和研究生的教学用书,也可供从事电路设计和系统开发的工程技术人员阅读参考。
目录
第1章 EDA技术概述 1.1 EDA技术及其发展 1.2 Top-down设计与IP核复用 1.2.1 Top-down设计 1.2.2 Bottom-up设计 1.2.3 IP复用技术与SoC 1.3 EDA设计的流程 1.3.1 设计输入 1.3.2 综合 1.3.3 布局布线 1.3.4 时序分析与时序约束 1.3.5 能仿真与时序仿真 1.3.6 编程与配置 1.4 常用的EDA工具软件 1.5 EDA技术的发展趋势 第2章 FPGA/CPLD 2.1 PLD概述 2.1.1 PLD的发展历程 2.1.2 PLD的分类 2.2 PLD的基本原理与结构 2.2.1 PLD的基本结构 2.2.2 PLD电路的表示方法 2.3 低密度PLD的原理与结构 2.4 CPLD的原理与结构 2.4.1 宏单元结构 2.4.2 CPLD的结构 2.5 FPGA的原理与结构 2.5.1 查找表结构 2.5.2 FPGA的结构 2.5.3 Artix-7系列FPGA 2.6 FPGA/CPLD的编程元件 2.7 边界扫描测试技术 2.8 FPGA/CPLD的编程与配置 2.8.1 在系统可编程 2.8.2 Artix-7器件的配置 2.9 Xilinx的FPGA器件 2.10 FPGA/CPLD的发展趋势 第3章 Vivado使用指南 3.1 Vivado流水灯设计 3.1.1 流水灯设计输入 3.1.2 行为仿真 3.1.3 综合与引脚的约束 3.1.4 生成比特流文件并下载 3.1.5 将配置数据烧写Flash中 3.2 IP核的创建和封装 3.3 基于IP集成的计数器设计 3.4 Vivado的综合策略与优化设置 第4章 Verilog语言初步 4.1 Verilog模块的结构 4.2 Verilog基本电路设计 4.2.1 Verilog组合电路设计 4.2.2 Verilog时序电路设计 4.3 Verilog语言要素 4.4 常量 4.4.1 整数 4.4.2 实数 4.4.3 字符串 4.5 数据类型 4.5.1 型 4.5.2 variable型 4.6 参数 4.6.1 参数parameter 4.6.2 Verilog-2001中的参数声明 4.6.3 参数的传递 4.6.4 关键字localparam 4.7 向量 4.8 运算符 第5章 Verilog语句语法 5.1 过程语句 5.1.1 always过程语句 5.1.2 initial过程语句 5.2 块语句 5.2.1 串行块begin-end 5.2.2 并行块fork-join 5.3 赋值语句 5.3.1 持续赋值与过程赋值 5.3.2 阻塞赋值与非阻塞赋值 5.4 条件语句 5.4.1 if-else语句 5.4.2 case语句 5.5 循环语句 5.5.1 for语句 5.5.2 repeat、while、forever语句 5.6 编译指示语句 5.7 任务与函数 5.7.1 任务 5.7.2 函数 5.8 Verilog-2001语言标准 5.8.1 Verilog-2001和增强的语法结构 5.8.2 属及PLI接口 第6章 Verilog设计的层次与风格 6.1 Verilog设计的层次 6.2 门级结构描述 6.2.1 Verilog门元件 6.2.2 门级结构描述 6.3 数据流描述与行为描述 6.4 不同描述风格的设计 6.4.1 半加器设计 6.4.21 位全加器设计 6.4.3 加法器的级联 6.5 多层次结构电路的设计 6.5.1 模块例化 6.5.2 用paramete行参数传递 6.5.3 用defpara行参数重载 6.6 Verilog组合逻辑设计 6.7 Verilog时序逻辑设计 6.8 三态逻辑设计 第7章 Verilog有限状态机设计 7.1 有限状态机 7.2 有限状态机的Verilog描述 7.2.1 用三个always块描述 7.2.2 用两个过程描述 7.2.3 单过程描述方式 7.3 状态编码 7.3.1 常用的编码方式 7.3.2 状态编码的定义 7.4 有限状态机设计要点 7.4.1 复位和起始状态的选择 7.4.2 多余状态的处理 7.5 有限状态机应用实例 7.5.1 用有限状态机控制彩灯 7.5.2 用有限状态机控制A/D采样 第8章 Verilog驱动常用I/O外设 8.14 ×4矩阵键盘 8.2 数码管 8.3 标准PS/2键盘 8.4 字符液晶 8.5 汉字图形点阵液晶 8.6 VGA显示器 8.6.1 VGA显示原理与时序 8.6.2 VGA彩条信号发生器 8.6.3 VGA图像显示与控制 8.7 乐曲演奏电路 第9章 Verilog设阶 9.1 设计的可综合 9.2 流水线设计技术 9.3 资源共享 9.4 阻塞赋值与非阻塞赋值 9.5 加法器设计 9.5.1 行位加法器 9.5.2 超位加法器 9.5.3 流水线加法器 9.6 乘法器设计 9.6.1 并行乘法器 9.6.2 布斯乘法器 9.6.3 查找表乘法器 9.7 奇数分频与小数分频 9.7.1 奇数分频 9.7.2 半整数分频 9.7.3 小数分频 第10章 Verilog设计实例 10.1 脉宽调制与电动机驱动 10.1.1 PWM信号 10.1.2 用PWM驱动蜂鸣器 10.1.3 用PWM驱动电动机 10.2 超声波测距 10.3 整数开方运算 10.4 频率测量 10.5 Cordic算法及其实现 10.5.1 Cordic算法原理 10.5.2 Cordic算法的实现 10.6 UART异步串口通信 10.7 蓝牙通信 10.8 用XADC实现模/数转换 10.8.1 7系列FPG内集成ADC概述 10.8.2 XADC的使用 0第11章 Verilog Test Bench仿真 11.1 系统任务与系统函数 11.2 用户自定义元件 11.2.1 组合电路UDP元件 11.2.2 时序逻辑UDP元件 11.3 延时模型的表示 11.3.1 时间标尺定义`timescale 11.3.2 延时的表示与延时说明块 11.4 测台 11.5 组合和时序电路的仿真 11.6 ModelSim SE仿真实例 11.6.1 图形界能仿真 11.6.2 命令行方能仿真 11.6.3 时序仿真 1附录A Verilog HDL(IEEE Std 1364)关键字附录B EGO1开发板参考文献




