本书采用教、学、做相结合的教学模式,以提高实际工程应用能力为目的,通过实例引入,深入浅出地介绍EDA技术、Verilog硬件描述语言、FPGA开发应用及相关知识,并给出了丰富的EDA设计实例,使读者通过学习本书并完成推荐的实训,能初步了解和掌握EDA的基本内容及实用技术。
本书内容分四部分,第一部分简要介绍了EDA技术背景知识、常用的EDA基本工具使用方法和目标器件的结构原理;第二部分通过实例,以向导的形式介绍了三种不同的设计输入方法;第三部分对Verilog HDL的设计作了介绍;第四部分详细讲述了基于EDA技术的典型的设计项目。各章都给出了教学目标,并安排了相应的习题和有较强针对性的实训项目。为了方便本课程的授课和实训指导,本书配有与各章节内容完全对应的教学课件,下载网站www.abook.cn。
本书实用性强,可作为高职高专院校电子工程、通信、工业自动化、计算机应用技术、仪器仪表等专业的教材,也可作为相关专业技术人员的自学参考书。
样章试读
目录
- 第1章 概述
教学目标
1.1 EDA技术
1.2 EDA技术应用对象
1.3 硬件描述语言Verilog HDL
1.4 EDA技术的优势
1.5 面向FPGA的EDA开发流程
1.5.1 设计输入
1.5.2 综合
1.5.3 适配(布线布局)
1.5.4 仿真
1.6 可编程逻辑器件
1.6.1 PLD的分类
1.6.2 PROM可编程原理
1.6.3 GAL
1.7 CPLD的结构与可编程原理
1.8 FPGA的结构与工作原理
1.8.1 查找表逻辑结构
1.8.2 Cyclone Ⅲ系列器件的结构与原理
1.9 硬件测试技术
1.9.1 内部逻辑测试
1.9.2 JTAG边界扫描测试
1.10 FPGA/CPLD产品概述
1.10.1 Lattice公司的PLD器件
1.10.2 Xilinx公司的PLD器件
1.10.3 Altera公司的PLD器件
1.11 编程与配置
1.12 Quartus Ⅱ
1.13 IP核
1.14 EDA的发展趋势
习题
第2章 原理图输入法逻辑电路设计技术
教学目标
2.1 原理图输入设计方法的特点
2.2 数字频率计设计任务导入
2.3 原理图输入方式基本设计流程
2.3.1 建立工作库文件夹和存盘原理图空文件
2.3.2 创建工程
2.3.3 功能简要分析
2.3.4 编译前设置
2.3.5 全程编译
2.3.6 时序仿真测试电路功能
2.4 引脚设置和编程下载
2.4.1 引脚锁定
2.4.2 配置文件下载
2.4.3 AS模式直接编程配置器件
2.4.4 JTAG间接模式编程配置器件
2.4.5 USB-Blaster编程配置器安装方法
2.5 层次化设计
2.6 6位十进制频率计设计
2.6.1 时序控制器设计
2.6.2 顶层电路设计与测试
习题
实训项目
2-1 用原理图输入法设计8位全加器
2-2 用原理图输入法设计频率计
2-3 计时系统设计
第3章 应用VerilogHDL设计数字系统
教学目标
3.1 组合电路的Verilog描述和设计
3.1.1 2选1多路选择器设计任务导入
3.1.2 2选1多路选择器的Verilog描述和设计
3.1.3 4选1多路选择器设计任务导入
3.1.4 4选1多路选择器的Verilog描述和设计
3.1.5 4选1多路选择器的数据流描述方式
3.1.6 4选1多路选择器的if语句描述方式
3.1.7 全加器设计任务导入
3.1.8 加法器的Verilog描述和设计
3.2 时序电路的Verilog描述和设计
3.2.1 边沿触发型触发器设计任务导入
3.2.2 边沿触发型触发器的Verilog描述和设计
3.2.3 电平触发型锁存器设计任务导入
3.2.4 电平触发型锁存器的Verilog描述
3.2.5 含异步复位/时钟使能型触发器设计任务导入
3.2.6 含异步复位/时钟使能型触发器的Verilog描述
3.2.7 同步复位型触发器设计任务导入
3.2.8 同步复位型触发器的Verilog描述和设计
3.2.9 异步复位型锁存器设计任务导入
3.2.10 异步复位型锁存器的Verilog描述和设计
3.2.11 Verilog的时钟过程表述的特点和规律
3.2.12 异步时序模块的Verilog描述
3.3 计数器的Verilog描述和设计
3.3.1 4位二进制计数器设计任务导入
3.3.2 4位二进制计数器的Verilog表述和设计
3.3.3 功能更全面的计数器设计
3.4 Verilog的描述风格
3.4.1 RTL描述
3.4.2 行为描述
3.4.3 数据流描述
3.4.4 结构描述
3.5 基于HDL文本输入的硬件设计技术
3.5.1 编辑和输入设计文件
3.5.2 创建工程和全程编译前约束项目设置
3.5.3 全程综合与编译
3.5.4 仿真测试
3.5.5 RTL图观察器应用
3.5.6 引脚锁定
3.5.7 利用引脚属性定义方式锁定引脚
3.6 嵌入式逻辑分析仪使用方法
习题
实训项目
3-1 计数器设计
3-2 多路选择器设计
3-3 十六进制7段数码显示译码器设计
3-4 移位相加型8位硬件乘法器设计
第4章 Verilog HDL设计技术深入
教学目标
4.1 过程中的两类赋值语句
4.1.1 阻塞式赋值语句
4.1.2 非阻塞式赋值语句
4.1.3 深入认识阻塞式赋值和非阻塞式赋值的特点
4.2 过程语句结构总结
4.3 移位寄存器设计
4.3.1 含同步预置功能的移位寄存器设计
4.3.2 模式可控的移位寄存器设计
4.3.3 使用移位操作符设计移位寄存器
4.4 乘法器设计任务及相关语句应用
4.4.1 参数定义关键词parameter
4.4.2 整数型寄存器类型定义
4.4.3 for语句用法
4.4.4 repeat语句用法
4.4.5 while语句用法
4.5 if语句一般用法
4.6 三态与双向端口设计
4.6.1 三态控制电路设计
4.6.2 双向端口设计
4.6.3 三态总线控制电路设计
4.7 半整数与奇数分频电路设计
4.8 文字规则
4.9 操作符
习题
实训项目
4-1 半整数与奇数分频器设计
4-2 VGA彩条信号显示控制电路设计
4-3 4×4阵列键盘键信号检测电路设计
4-4 串行静态显示控制电路设计
第5章 宏功能模块使用方法
教学目标
5.1 基于LPM模块的计数器设计
5.1.1 计数器LPM模块文本文件的调用
5.1.2 LPM计数器程序与参数传递语句
5.1.3 创建工程与仿真测试
5.2 流水线乘法累加器设计
5.2.1 LPM加法器模块设置
5.2.2 LPM乘法器模块设置
5.2.3 仿真乘法累加器
5.2.4 乘法器的Verilog文本表述和相关属性设置
5.3 LPM_RAM模块的设置
5.3.1 初始化文件生成
5.3.2 LPM_RAM设置和调用
5.3.3 测试LPM_RAM
5.3.4 存储器的Verilog文本描述及相关属性应用
5.4 LPM_ROM的定制和使用
5.4.1 LPM_ROM定制和测试
5.4.2 LPM存储器模块替代设置
5.4.3 正弦信号发生器设计
5.4.4 硬件实现和测试
5.5 在系统存储器数据读写编辑器应用
5.6 嵌入式锁相环ALTPLL调用
5.6.1 嵌入式锁相环参数设置
5.6.2 锁相环调用注意事项
5.7 DDS实现原理与应用
5.7.1 DDS原理
5.7.2 DDS信号发生器设计
习题
实训项目
5-1 查表式硬件运算器设计
5-2 正弦信号发生器设计
5-3 基于Verilog表述的频率计设计
5-4 DDS正弦信号发生器设计
5-5 移相信号发生器设计
5-6 VGA简单图像显示控制模块设计
5-7 乐曲硬件演奏电路设计
5-8 数码扫描显示电路设计
第6章 实用状态机设计技术
教学目标
6.1 Verilog状态机的一般形式
6.1.1 状态机的特点与优势
6.1.2 Verilog状态机的一般结构
6.1.3 初始控制与表述
6.2 Moore型状态机设计
6.2.1 多过程结构型状态机
6.2.2 序列检测器及其状态机设计
6.3 Mealy型状态机设计
6.4 不同编码类型的状态机
6.4.1 直接输出型编码
6.4.2 用宏定义语句定义状态编码
6.4.3 宏定义命令语句
6.4.4 顺序编码
6.4.5 一位热码编码
6.4.6 状态编码设置
6.5 状态机容错技术
6.5.1 状态导引法
6.5.2 状态编码监测法
6.5.3 借助EDA工具自动生成安全状态机
6.6 硬件数字技术排除毛刺
6.6.1 延时方式去毛刺
6.6.2 逻辑方式去毛刺
6.6.3 定时方式去毛刺
习题
实训项目
6-1 序列检测器设计
6-2 ADC采样控制电路设计
6-3 五功能智能逻辑笔设计
6-4 点阵型与字符型液晶显示器驱动控制电路设计
6-5 硬件消抖动电路设计
6-6 数字彩色液晶显示控制电路设计
6-7 PS2键盘控制模型电子琴电路设计
6-8 状态机控制串/并转换8数码静态显示
附录 EDA开发系统使用简介
主要参考文献