本书以Xilinx ISE开发系统为开发环境,以范例执行的方式逐步介绍使用FPGA设计数字电路,并下载至FPGA开发板上验证。读者只要依照范例的操作步骤执行,一定可以了解如何进入FPGA的设计领域。
本书适用于广大工科院校电子、电机、应用工程系的“FPGA数字电路设计”相关课程,也适合广大爱好者自学。
样章试读
目录
- Chapter 1 使用FPGA芯片设计数字电路的方法
1.1 什么是FPGA
1.2 FPGA芯片的发展过程及其基本架构
1.2.1 PLD的基本架构
1.2.2 PLD的种类
1.3 Xilinx FPGA的基本架构
1.3.1 Xilinx Spartan-3AN FPGA的基本架构
1.4 Xilinx Spartan 3AN FPGA芯片型号代表的意义
1.5 数字电路的传统设计方法
1.6 使用FPGA设计数字电路的方法
1.6.1 使用绘图方式设计数字电路的方法
1.6.2 使用VHDL硬件描述语言设计数字电路的方法
1.6.3 使用Verilog硬件描述语言设计数字电路的方法
1.6.4 使用状态机方式设计数字电路的方法
1.7 Xilinx ISE开发系统功能简介
1.8 使用Xilinx ISE开发系统设计FPGA及CPLD操作方式的差异
1.9 Xilinx ISim Simulator简介
1.10 ModelSim模拟器简介
Chapter 2 Xilinx ISE WebPACK及ModelSim XE模拟器的下载及安装
2.1 ISE WebPACK软件的下载
2.1.1 登录Xilinx公司网站
2.1.2 进行注册
2.1.3 下载ISE WebPACK软件
2.1.4 ISE WebPACK更新文件的下载
2.1.5 License文件的产生及下载
2.2 ISE WebPACK软件的安装
2.3 Xilinx ISE WebPACK的更新
2.4 ModelSim XE模拟器的下载及安装
2.4.1 ModelSim XE模拟器的下载
2.4.2 ModelSim XE模拟器的安装
2.4.3 ModelSim License文件的下载及安装
2.5 ISE WebPACK License文件的更新方法
Chapter 3 FPGA芯片开发板
3.1 概述
3.2 依元素XC3S200AN_FT256 FPGA芯片开发板
3.3 依元素XC3S200AN_FT256开发板外围装置与FPGA芯片引脚
3.3.1 电源装置
3.3.2 输入装置
3.3.3 输出装置
3.3.4 RS232传输接口
3.3.5 Xilinx Spartan 3AN XC3S200AN-FTG256 FPGA芯片
3.3.6 J1 Connector
3.3.7 J2 Connector
3.4 XC3S200AN_FT256开发板的下载方式
Chapter 4 Xilinx ISE的简易操作步骤
4.1 如何进入ISE Project Navigator窗口
4.2 如何新建工程
4.3 如何离开所建立的工程
4.4 Project Navigator窗口功能介绍
4.5 如何打开一个旧的工程
4.6 基本逻辑门介绍
4.6.1 非门的电路符号、布尔代数式及真值表
4.6.2 或门的电路符号、布尔代数式及真值表
4.6.3 与门的电路符号、布尔代数式及真值表
4.6.4 异或门的电路符号、布尔代数式及真值表
4.7 基本逻辑门设计方法
4.7.1 取出逻辑门组件
4.7.2 缓冲器组件的取出
4.7.3 执行连线的动作
4.7.4 加入输入/输出端
4.7.5 定义输入/输出端名称
4.8 基本逻辑门功能模拟的执行
4.8.1 TestBench的产生
4.8.2 TestBench语法的检查
4.8.3 使用ISim模拟器的模拟方法
4.8.4 模拟时间的设定
4.8.5 使用ModelSim模拟器的模拟方法
4.9 设计执行
4.9.1 Implementation ConstraintsFile的设定
4.9.2 Implement Design的执行
4.10 使用FPGA Editor查看芯片布局与布线
4.11 FPGA芯片资源利用报告的查看
4.12 Configuration Data的产生
4.13 时序模拟的执行
4.13.1 使用ModelSim执行时序模拟的方法
4.13.2 使用Xilinx ISim Simulator执行时序模拟的方法
4.14 Configuration的执行
4.14.1 直接下载至FPGA芯片
4.14.2 下载至FPGA芯片内部的Flash Memory
4.14.3 USB下载线的连接方法
4.14.4 直接下载至FPGA与下载至FPGA Flash的差异
4.15 以HDL硬件描述语言设计数字电路的方法
Chapter 5 组合逻辑设计实例
5.1 编码器
5.1.1 十进制对二进制编码器
5.1.2 使用绘图方式的设计方法
5.1.3 功能模拟的执行
5.1.4 ModelSim模拟器的简易操作
5.1.5 将十进制对二进制编码器设计成组件模块使用
5.1.6 十进制对二进制编码器组件模块的模拟及下载
5.2 如何将建立的组件模块用于别的工程
5.3 BCD译码器
5.3.1 BCD译码器的基本电路
5.3.2 使用绘图方式的设计方法
5.3.3 将BCD译码器组成组件模块使用
5.3.4 再使用ModelSim模拟电路的功能
5.3.5 执行及下载
5.4 2对4译码器
5.5 多路分配器
5.5.1 1对4多路分配器
5.6 多路选择器
5.6.1 4对1多路选择器
5.7 一位全加器的设计
5.7.1 一位半加器
5.7.2 一位全加器
5.8 二位全加器的设计
5.9 BCD七段显示器译码器的设计
5.9.1 七段显示器的基本架构
5.9.2 七段显示器译码器的真值表
5.9.3 布尔代数式
5.9.4 逻辑电路图
5.9.5 使用Xilinx ECS绘图
5.9.6 使用ModelSim执行电路功能模拟
5.9.7 将七段显示器译码器设计成组件模块使用
5.9.8 再使用ModelSim模拟电路的功能
5.9.9 Implementation Constraints File的执行
5.9.10 Implement Design的执行
5.9.11 时序模拟的执行
5.9.12 Configuration的执行
Chapter 6 时序逻辑电路设计
6.1 四位异步加法计数器的设计
6.2 不同频率时钟脉冲产生电路的设计
6.3 具有七段显示器译码器的四位异步加法计数器的设计
Chapter 7 VHDL硬件描述语言设计方法
7.1 使用VHDL硬件描述语言设计数字电路
7.1.1 使用ISE HDL Text Editor编辑VHDL硬件描述语言设计电路
7.1.2 使用ISE语言样板设计VHDL硬件描述语言的方法
7.2 VHDL硬件描述语言的基本架构组成
7.2.1 Library声明的格式
7.2.2 Use声明的格式
7.2.3 Entity电路实体的描述格式
7.2.4 Architecture结构体的描述格式
7.2.5 Structure声明所使用的格式及范例
7.2.6 Dataflow描述的格式及范例
7.2.7 Behavioral行为描述的格式及范例
7.2.8 组成声明描述的格式及范例
Chapter 8 VHDL硬件描述语言的描述规则
8.1 VHDL硬件描述语言指令的命名规则
8.1.1 VHDL的批注
8.2 VHDL语句的描述形式
8.3 VHDL的常用指令
8.3.1 IF条件式
8.3.2 WHEN...ELSE语句
8.3.3 CASE...IS...WHEN...WHEN OTHERS语句
8.3.4 WITH...SELECT...WHEN...WHEN OTHERS语句
8.3.5 LOOP语句
8.3.6 NEXT语句
8.3.7 WAIT语句
8.4 VHDL中所使用的运算符
8.5 VHDL的保留字
Chapter 9 VHDL设计实例
9.1 3对8译码器
9.2 十六进制加减计数器
9.2.1 分频器的设计
9.2.2 十六进制加减计数器的设计
9.2.3 多路选择器
9.2.4 七段显示器译码器的设计
9.2.5 十六进制加减计数器完整电路的设计
9.3 BCD加减计数器
9.3.1 BCD加减计数器的设计方法
9.3.2 分频器、多路选择器、七段显示器译码器模块的导入
9.3.3 BCD加减计数电路的完整设计
9.4 跑马灯
9.4.1 八位右移寄存器的设计
9.4.2 完整跑马灯的设计
Chapter 10 VHDL专题设计
10.1 8×8点阵LED
10.1.1 基本架构
10.1.2 设计方法
10.1.3 合成及下载
10.2 液晶显示
10.2.1 液晶显示模块基本架构
10.2.2 LCM工作原理
10.2.3 设计方法
10.2.4 VHDL设计
10.2.5 合成及下载
10.2.6 LCD由右向左移位显示的设计
10.3 键盘
10.3.1 键盘读取基本原理
10.3.2 设计方法一
10.3.3 设计方法二
10.4 蜂鸣器
10.4.1 蜂鸣器发音的基本原理
10.4.2 设计方法
10.5 RS232接口
10.5.1 打开一个新工程
10.5.2 VHDL设计
10.5.3 合成及下载
10.5.4 计算机超级终端的设置
参考文献