本书以VHDL语言为蓝本,结合Quartus II软件,通过丰富的实例从实验、实践、实用的角度,详细叙述了FPGA在数字系统中的应用。本书共10章,主要内容包括FPGA硬件结构知识、VHDL语言编程基础、硬件开发工具Quartus II的使用、门电路设计与实现、常用组合逻辑电路的设计、常用时序逻辑电路与状态机的设计、FPGA的显示及键盘控制、FPGA在数字系统设计中的应用、FPGA在数字信号处理中的应用、宏功能模块与SOPC技术的应用。
本书以VHDL语言为蓝本,结合Quartus II软件,通过丰富的实例从实验、实践、实用的角度,详细叙述了FPGA在数字系统中的应用。
陈忠平,湖南工程职业技术学院讲师,具有丰富的单片机原理、EDA技术、电子技术等课程的教学经验,著有《基于Proteus的51系列单片机设计与仿真》、《基于项目驱动式的C51单片机程序设计与应用》、《基于Proteus的AVR单片机C语言程序设计与仿真》、《基于Proteus的PIC单片机C语言程序设计与仿真》和《基于Quartus II的FPGA/CPLD设计与应用》等。
第1章 FPGA硬件结构知识
1.1 CPLD/FPGA概述
1.2 FPGA体系结构
1.2.1 FPGA基本结构
1.2.2 FPGA的结构特点
1.3 FPGA编程与配置
1.3.1 FPGA的下载接口
1.3.2 FPGA的JTAG在线配置
1.3.3 FPGA专用配置器件
1.3.4 使用单片机在线配置
1.3.5 使用CPLD配置FPGA
1.4 FPGA常用芯片与选用
1.4.1 FPGA常用芯片
1.4.2 FPGA器件的选用
第2章 VHDL语言编程基础
2.1 系统的表示方法和硬件描述语言特点
2.1.1 FPGA系统的VHDL表示方法
2.1.2 VHDL硬件描述语言特点
2.2 VHDL语言结构与要素
2.2.1 VHDL语言结构
2.2.2 VHDL语言要素
2.3 VHDL基本语句
2.3.1 VHDL顺序语句
2.3.2 VHDL并行语句
第3章 硬件开发工具Quartus II的使用
3.1 Quartus II软件综述
3.1.1 Quartus II软件的特点及其支持的器件
3.1.2 Quartus II软件工具及功能简介
3.1.3 Quartus II软件的用户界面
3.1.4 Quartus II支持文件类型
3.2 Quartus II软件开发流程
3.3 Quartus II的安装
3.4 Quartus II的使用
3.4.1 创建Quartus II项目
3.4.2 设计输入
3.4.3 项目配置及时序约束
3.4.4 编译
3.4.5 仿真
3.4.6 器件编程和配置
第4章 门电路设计与实现
4.1 基本门电路与组合门电路
4.1.1 基本门电路
4.1.2 组合逻辑门电路
4.2 三态门和总线缓冲器
4.2.1 三态门
4.2.2 单向总线缓冲器
4.2.3 双向总线缓冲器
第5章 常用组合逻辑电路的设计
5.1 编码器
5.1.1 普通编码器
5.1.2 优先编码器
5.2 译码器
5.2.1 二进制译码器
5.2.2 十进制译码器
5.2.3 七段译码器
5.3 数据选择器和数据分配器
5.3.1 数据选择器
5.3.2 数据分配器
5.4 数值比较器和奇偶校验器
5.4.1 数值比较器
5.4.2 奇偶校验器
5.5 运算器
5.5.1 加法器
5.5.2 减法器
5.5.3 乘法器
5.5.4 除法器
第6章 常用时序电路与状态机的设计
6.1 触发器
6.1.1 R-S触发器
6.1.2 D触发器
6.1.3 J-K触发器
6.1.4 T触发器
6.2 计数器
6.2.1 常用二进制计数器
6.2.2 可逆计数器
6.3 锁存器和寄存器
6.3.1 锁存器
6.3.2 基本寄存器
6.3.3 移位寄存器
6.4 存储器
6.4.1 ROM只读存储器
6.4.2 RAM随机存储器
6.4.3 FIFO存储器
6.4.4 LIFO存储器
6.5 分频器
6.5.1 偶数分频器
6.5.2 奇数分频器
6.5.3 2n分频器
6.5.4 占空比可调分频器
6.5.5 半整数分频器
6.5.6 数控分频器
6.6 状态机的设计
6.6.1 状态机的结构、分类及特点
6.6.2 一般状态机
6.6.3 Moore状态机
6.6.4 Mealy状态机
6.7 序列信号发生器与检测器
6.7.1 序列信号检测器的设计
6.7.2 m序列信号发生器的设计
6.7.3 计数型序列信号发生器的设计
第7章 FPGA的显示及键盘控制
7.1 LED广告灯设计
7.1.1 LED控制原理
7.1.2 闪烁广告灯的设计
7.1.3 流水广告灯的设计
7.1.4 拉幕式与闭幕式广告灯的设计
7.1.5 复杂广告灯的设计
7.2 LED数码管显示控制
7.2.1 单个LED数码管显示设计
7.2.2 8位LED数码管动态显示设计
7.2.3 8位LED数码管移位显示设计
7.3 键盘控制
7.3.1 键盘控制原理
7.3.2 按键计数控制
7.3.3 查询式按键设计
7.3.4 矩阵式键盘控制设计
7.3.5 简单拨号键盘设计
7.4 字符式LCD显示控制
7.4.1 LCD液晶显示原理
7.4.2 字符式LCD静态显示
7.4.3 字符式LCD移位显示
第8章 FPGA在数字系统设计中的应用
8.1 交通信号灯控制器
8.1.1 交通信号灯的控制要求
8.1.2 交通信号灯的硬件连接
8.1.3 交通信号灯的程序设计
8.1.4 交通信号灯控制器的波形仿真
8.1.5 交通信号灯的引脚锁定与硬件验证
8.2 MIDI音乐发生器
8.2.1 MIDI音乐发生器的控制要求
8.2.2 MIDI音乐发生器的播放原理
8.2.3 MIDI音乐发生器的硬件连接
8.2.4 MIDI音乐发生器的程序设计
8.2.5 MIDI音乐发生器的波形仿真
8.2.6 MIDI音乐发生器的引脚锁定与硬件验证
8.3 智力抢答器
8.3.1 智力抢答器的控制要求
8.3.2 智力抢答器的硬件连接
8.3.3 智力抢答器的程序设计
8.3.4 智力抢答器的波形仿真
8.3.5 智力抢答器的引脚锁定与硬件验证
8.4 可调数字钟
8.4.1 可调数字钟的控制要求
8.4.2 可调数字钟的硬件连接
8.4.3 可调数字钟的程序设计
8.4.4 可调数字钟的波形仿真
8.4.5 可调数字钟的引脚锁定与硬件验证
8.5 VGA彩条信号发生器
8.5.1 VGA彩条信号发生器的控制要求
8.5.2 VGA彩条信号发生器的基本知识
8.5.3 VGA彩条信号发生器的硬件连接
8.5.4 VGA彩条信号发生器的程序设计
8.5.5 VGA彩条信号发生器的波形仿真
8.5.6 VGA彩条信号发生器的引脚锁定与硬件验证
8.6 电梯控制器
8.6.1 电梯控制器的控制要求
8.6.2 电梯控制器的硬件连接
8.6.3 电梯控制器的程序设计
8.6.4 电梯控制器的波形仿真
8.6.5 电梯控制器的引脚锁定与硬件验证
第9章 FPGA在数字信号处理中的应用
9.1 CORDIC算法的应用设计
9.1.1 CORDIC算法的基本理论
9.1.2 CORDIC算法的设计思路
9.1.3 CORDIC算法的程序设计
9.1.4 CORDIC算法的波形仿真
9.2 FIR滤波器的设计
9.2.1 FIR滤波器的原理
9.2.2 直接形式的FIR滤波器设计
9.2.3 转置结构的FIR滤波器设计
9.3 IIR滤波器的设计
9.3.1 IIR滤波器的基本理论
9.3.2 直接型IIR滤波器设计
9.3.3 级联型IIR滤波器设计
第10章 宏功能模块与SOPC技术的应用
10.1 宏功能模块的应用
10.1.1 LPM_COUNTER在数控分频器中的应用
10.1.2 LPM_ROM在4位乘法器中的应用
10.1.3 LPM_RAM随机存储器在FPGA中的读/写控制
10.1.4 LPM_FIFO先入先出存储器在FPGA中的读/写控制
10.1.5 ALTPLL锁相环在倍频/分频中的应用
10.2 SOPC技术的应用
10.2.1 SOPC的设计流程与系统架构
10.2.2 LED流水灯的设计
参考文献