内容简介
第1章 概述
1.1EDA技术及其发展
1.2EDA技术实现的目标
1.3硬件描述语言Verilog HDL
1.4其他常用硬件描述语言
1.5HDL综合
1.6基于HDL的自顶向下设计方法
1.7EDA技术的优势
1.8EDA的发展趋势
习题
第2章 EDA设计流程及其工具
2.1FPGA/CPLD开发流程
2.1.1设计输入(原理图/HDL文本编辑)
2.1.2综合
2.1.3适配
2.1.4时序仿真与功能仿真
2.1.5编程下载
2.1.6硬件测试
2.2ASIC及其设计流程
2.2.1ASIC设计方法简介
2.2.2一般ASIC设计的流程
2.3常用EDA工具
2.3.1设计输入编辑器
2.3.2HDL综合器
2.3.3仿真器
2.3.4适配器
2.3.5下载器
2.4Quartus Ⅱ简介
2.5IP核简介
习题
第3章 FPGA/CPLD结构与应用
3.1概述
3.1.1可编程逻辑器件的发展历程
3.1.2可编程逻辑器件的分类
3.2简单PLD原理
3.2.1电路符号表示
3.2.2PROM
3.2.3PLA
3.2.4PAL
3.2.5GAL
3.3CPLD的结构与工作原理
3.4FPGA结构与工作原理
3.4.1查找表逻辑结构
3.4.2Cyclone Ⅲ系列器件的结构与原理
3.5硬件测试技术
3.5.1内部逻辑测试
3.5.2JTAG边界扫描测试
3.5.3嵌入式逻辑分析仪
3.6FPGA/CPLD产品概述
3.6.1Lattice公司的CPLD器件系列
3.6.2Xilinx公司的FPGA和CPLD器件系列
3.6.3Altera公司的FPGA和CPLD器件系列
3.6.4Actel公司的FPGA器件
3.6.5Altera公司的FPGA配置方式与配置器件
3.7编程与配置
3.7.1使用JTAG的CPLD在系统编程
3.7.2使用JTAG在线配置FPGA
3.7.3FPGA专用配置器件
3.7.4使用单片机配置FPGA
3.7.5使用CPLD配置FPGA
习题
第4章 Verilog HDL设计初步
4.1组合电路的Verilog HDL描述
4.1.14选1多路选择器及其Verilog HDL描述1
4.1.24选1多路选择器及其Verilog HDL描述2
4.1.34选1多路选择器及其Verilog HDL描述3
4.1.44选1多路选择器及其Verilog HDL描述4
4.1.5简单加法器及其Verilog HDL描述
4.2时序电路的Verilog HDL描述
4.2.1边沿触发型D触发器及其Verilog描述
4.2.2电平触发型锁存器及其Verilog描述
4.2.3含异步清0和时钟使能结构的D触发器及其Verilog描述
4.2.4含同步清0结构的D触发器及其Verilog描述
4.2.5含异步清0的锁存器及其Verilog描述
4.2.6Verilog的时钟过程描述注意要点
4.2.7异步时序电路
4.3计数器的Verilog HDL设计
4.3.14位二进制加法计数器及其Verilog描述
4.3.2功能更全面的计数器设计
习题
第5章 Quartus Ⅱ应用初步
5.1基本设计流程
5.1.1建立工作库文件夹和编辑设计文件
5.1.2创建工程
5.1.3编译前设置
5.1.4全程编译
5.1.5时序仿真
5.1.6应用RTL电路图观察器
5.2引脚设置与硬件验证
5.2.1引脚锁定
5.2.2编译文件下载
5.2.3AS模式编程
5.2.4JTAG间接模式编程配置器件
5.2.5USB-Blaster编程配置器件使用方法
5.2.6其他的锁定引脚方法
5.3嵌入式逻辑分析仪使用方法
5.4编辑SignalTap Ⅱ的触发信号
5.5原理图输入设计方法
5.5.1层次化设计流程
5.5.2应用宏模块的多层次原理图设计
5.5.374系列宏模块逻辑功能真值表查询
习题
实验与设计
5-1设计含异步清0、同步加载与时钟使能的计数器
5-24选1多路选择器设计实验
5-3采用原理图输入法设计8位全加器
5-4十六进制7段数码显示译码器设计
5-5采用原理图输入法设计8位十进制显示的频率计
5-6数码扫描显示电路设计
第6章 Verilog HDL设计进阶
6.1过程结构中的赋值语句
6.1.1过程中的阻塞式赋值
6.1.2过程中的非阻塞式赋值
6.1.3进一步了解阻塞式和非阻塞式赋值的内在规律
6.2过程语句归纳
6.3移位寄存器之Verilog HDL设计
6.3.1含同步并行预置功能的8位移位寄存器设计
6.3.2移位模式可控的8位移位寄存器设计
6.3.3使用移位操作符设计移位寄存器
6.3.4使用循环语句设计乘法器
6.4if语句概述
6.5双向和三态电路设计
6.5.1三态控制电路设计
6.5.2双向端口设计
6.5.3三态总线电路设计
6.6不同类型的分频电路设计
6.6.1同步加载分频电路设计
6.6.2异步加载分频电路设计
6.6.3异步清0分频电路设计
6.6.4同步清0分频电路设计
6.7半整数与奇数分频电路设计
6.8Verilog HDL的RTL表述
6.8.1行为描述
6.8.2数据流描述
6.8.3结构描述
习题
实验与设计
6-1半整数与奇数分频器设计
6-2简易分频器设计
6-3VGA彩条信号显示控制电路设计
6-4基于时序电路的移位相加型8位硬件乘法器设计
6-5移位寄存器设计
6-6串/并转换数码静态显示控制电路设计
6-7并/串转换扩展输入口电路设计
第7章 宏功能模块与IP应用
7.1宏功能模块概述
7.1.1知识产权核的应用
7.1.2使用MegaWizard Plug-In Manager
7.1.3在Quartus Ⅱ中对宏功能模块进行例化
7.2LPM计数器模块使用方法
7.2.1LPM COUNTER计数器模块文本文件的调用
7.2.2LPM计数器程序与参数传递语句
7.2.3创建工程与仿真测试
7.3基于LPM的流水线乘法累加器设计
7.3.1LPM加法器模块设置调用
7.3.2LPM乘法器模块设置调用
7.3.3乘法累加器的仿真测试
7.3.4乘法器的Verilog文本表述和相关属性设置
7.4LPM随机存储器的设置和调用
7.4.1存储器初始化文件生成
7.4.2LPM RAM的设置和调用
7.4.3对LPM RAM仿真测试
7.4.4Verilog的存储器描述及相关属性
7.5LPM ROM的定制和使用示例
7.5.1LPM ROM的定制、调用和测试
7.5.2LPM存储器模块取代设置
7.5.3简易正弦信号发生器设计
7.5.4正弦信号发生器硬件实现和测试
7.6在系统存储器数据读写编辑器应用
7.7FIFO定制
7.8LPM嵌入式锁相环调用
7.8.1建立嵌入式锁相环元件
7.8.2联合设计与测试
7.8.3测试锁相环
7.9NCO核数控振荡器使用方法
7.10使用IP Core设计FIR滤波器
7.118051单片机IP核应用
7.12DDS实现原理与应用
7.12.1DDS实现原理
7.12.2DDS信号发生器设计
习题
实验与设计
7-1查表式硬件运算器设计
7-2简易正弦信号发生器设计
7-38位数码显示频率计设计
7-4简易逻辑分析仪设计
7-5DDS信号发生器设计
7-6DDS移相信号发生器设计
7-74×4阵列键盘键信号检测电路设计
7-88051单片机IP核SOC片上系统设计实验
7-9VGA简单图像显示控制模块设计
第8章 Verilog有限状态机设计
8.1Verilog HDL状态机的一般形式
8.1.1为什么要使用状态机
8.1.2一般有限状态机的结构
8.1.3状态机设计初始控制与表述
8.2Moore型有限状态机的设计
8.2.1ADC采样控制设计及多过程结构型状态机
8.2.2序列检测器之状态机设计
8.3Mealy型有限状态机的设计
8.4SystemVerilog的枚举类型应用
8.5状态机图形编辑设计方法
8.6状态编码
8.6.1直接输出型编码
8.6.2宏定义命令语句′define
8.6.3顺序编码
8.6.4一位热码状态编码
8.6.5状态编码设置
8.7非法状态处理
8.7.1程序直接导引法
8.7.2状态编码监测法
8.7.3借助EDA优化控制工具生成安全状态机
8.8硬件数字技术排除毛刺
8.8.1延时方式去毛刺
8.8.2逻辑方式去毛刺
8.8.3定时方式去毛刺
习题
实验与设计
8-1序列检测器设计
8-2并行ADC采样控制电路实现与硬件验证
8-3数据采集模块和简易存储示波器设计
8-45功能智能逻辑笔设计
8-5比较器加DAC器件实现ADC转换功能电路设计
8-6通用异步收发器UART设计
8-7点阵型与字符型液晶显示器驱动控制电路设计
8-8串行ADC/DAC采样或信号输出控制电路设计
8-9数字温度传感器DS18B20测控电路设计
8-10AM幅度调制信号发生器设计
8-11硬件消抖动电路设计
第9章 Verilog HDL基本要素与语句
9.1Verilog HDL文字规则
9.2Verilog HDL数据类型
9.2.1网线类型(Net型)
9.2.2寄存器类型(Register型)
9.2.3存储器类型
9.3操作符
9.4Verilog HDL语句
9.4.1initial过程语句
9.4.2forever循环语句
9.4.3编译指示语句
9.4.4任务和函数语句
9.5基于库元件的结构描述
习题
实验与设计
9-1硬件乐曲演奏电路设计
9-2直流电机综合测控系统设计
9-3等精度频率/脉宽/占空比/相位多功能测试仪设计
9-4正交幅度调制与解调系统实现
9-5PC机键盘经UART串口控制模型电子琴电路设计
9-6基于M9K RAM型LPM移位寄存器设计
9-7单片全数字型DDS函数信号发生器设计
9-8PS2键盘控制模型电子琴电路设计
9-9乒乓球游戏电路设计
第10章 系统优化、时序分析和Synplify应用
10.1资源优化
10.1.1资源共享
10.1.2逻辑优化
10.1.3串行化
10.2速度优化
10.2.1流水线设计
10.2.2寄存器配平
10.2.3关键路径法
10.2.4乒乓操作法
10.2.5加法树法
10.3优化设置与时序分析
10.3.1Settings设置
10.3.2HDL版本设置及Analysis&Synthesis功能
10.3.3Analysis&Synthesis的优化设置
10.3.4适配器Fitter设置
10.3.5SignalProbe使用方法
10.3.6增量布局布线控制设置
10.3.7使用Design Assistant检查设计可靠性
10.3.8时序设置与分析
10.3.9查看时序分析结果
10.3.10适配优化设置示例
10.3.11LogicLock优化技术
10.4Chip Planner应用
10.4.1Chip Planner应用实例
10.4.2Chip Planner功能说明
10.4.3利用Change Manager检测底层逻辑
10.5Synplify Pro的应用及其与Quartus Ⅱ接口
10.5.1Synplify Pro设计指南
10.5.2Synplify Pro与Quartus Ⅱ的接口方法
习题
实验与设计
10-1SPWM脉宽调制控制系统设计
10-2基于DES数据加密标准的加解密系统设计
10-3采用流水线技术设计高速数字相关器
10-4线性反馈移位寄存器设计
10-5步进电机细分控制电路设计
10-6基于Verilog表述的流水线乘法器设计
10-7基于CPLD的 FPGA PS模式编程配置控制电路设计
10-8基于FT245BM的USB通信控制模块设计
10-9数字彩色液晶显示控制电路设计
10-10GPS应用的通信电路设计
10-11VGA动画图像显示控制电路设计
10-12状态机控制串/并转换8数码静态显示
10-13SignalProbe/Synplify应用等的综合实验
第11章 Verilog仿真验证
11.1Verilog仿真方法与仿真流程
11.2使用ModelSim进行仿真
11.3系统任务、系统函数和预编译语句
11.3.1系统任务、系统函数
11.3.2预编译语句
11.4基本元件与用户自定义元件(UDP)
11.4.1基本元件及其用法
11.4.2用户自定义元件(UDP)
11.5延时模型
11.5.1赋值延时
11.5.2门延时
11.5.3延时说明块
11.6Verilog其他仿真语句
11.6.1initial语句
11.6.2fork-join块语句
11.6.3wait语句
11.6.4force、release语句
11.6.5deassign语句
11.7仿真激励信号的产生
11.8Verilog Test Bench(测试基准)
11.9Verilog数字系统仿真
习题
实验与设计
11-1在ModelSim上进行4位计数器仿真
11-2在ModelSim上进行16位累加器设计仿真
第12章 SOPC技术
12.1Nios Ⅱ嵌入式CPU核
12.1.1Nios Ⅱ处理器
12.1.2Nios Ⅱ系统的优势
12.2Nios Ⅱ设计流程及外围接口
12.2.1Nios Ⅱ系统设计流程
12.2.2Avalon总线外设
12.2.3DMA内核
12.2.4自定制硬件指令
12.3.Nios Ⅱ系统设计流程
12.3.1Nios Ⅱ硬件系统设计流程
12.3.2Nios Ⅱ软件设计流程
12.4Nios Ⅱ系统深入设计
12.4.1用户自定义组件设计
12.4.2用户自定义指令设计
12.4.3IDE Flash编程下载
12.5SOPC综合设计
实验与设计
12-1多功能数字钟
12-2彩色液晶显示控制电路设计
12-3基于Nios Ⅱ的直流电机控制
12-4自定制硬件乘法器
12-5乐曲演播控制
12-6基于UART的I2C总线传输
12-7基于Nios Ⅱ的等进度频率计程序设计
附录A EDA开发系统相关软硬件简介
A.1KX 7C5E+型EDA开发系统配置及实验简介
A.2辅助开发板A使用简介
A.3辅助开发板B使用简介
A.4KX PK4等系列EDA实验开发系统实验图
A.5MIF文件生成器使用方法
参考文献