Xilinx FPGA设计与实践教程
作者: 赵吉成、王智勇
出版时间:2012年1月
出版社:西安电子科技大学出版社
- 西安电子科技大学出版社
- 9787560626291
- 43028
- 2012年1月
本书系统讲述了FPGA的软硬件开发知识,并以Spartan-3开发套件为硬件平台,配合经典的实例应用,使读者能够从硬件设计、软件开发和系统设计等方面系统掌握FPGA的使用方法。
本书共四篇16章。第一篇为FPGA设计基础与ISE开发基本流程,共2章,内容包括PLD技术基础,Xilinx FPGA的开发、仿真以及实现整个流程。第二篇为数字电路设计基础与Verilog HDL描述,共5章,介绍了基于VerilogHDL的数字电路基础、同步电路设计思想和高级技巧。第三篇为基于FPGA的接口开发,共5章,结合Xilinx FPGA开发板,详细讲述了UART串口通信控制器、PS/2键盘,鼠标接口控制器、VGA图形图像显示控制器以及RAM接口控制器等案例的设计、开发以及验证。第四篇为基于FPGA的软核微控制器PicoBlaze,共4章,以Pico Blaze为例,介绍了PicoBlaze微处理器的软硬件开发、中断设计等。
本书可作为电子类、计算机类、自动化类等相关专业研究生和高年级本科生教材或参考书,也可作为数字电路设计人员以及FPGA爱好者的参考书。
第一篇 FPGA设计基础与ISE开发基本流程
第一章 FPGA设计基础
1.1 FPGA的基本概念
1.2 可编程逻辑技术发展简介
1.2.1 可编程技术发展演变过程
1.2.2 FPGA技术
1.3 FPGA器件编程技术
1.3.1 熔丝互连编程技术
1.3.2 基于反熔丝的编程技术
1.3.3 基于SRAM的可编程技术
1.3.4 基于FLASH或E2PROM的可编程技术
1.4 通用FPGA的构成结构
1.4.1 现代FPGA的基本逻辑单元
1.4.2 XilinxSpartan-3FPGA的基本结构
1.5 XilinxFPGA的开发流程
1.6 FPGA技术的未来发展
本章小结
思考与练习
第二章 ISE12.1 开发环境与S3开发板
2.1 ISE12.1 软件综述
2.1.1 ISE12.1 套件分类
2.1.2 ISE12.1 功能介绍
2.1.3 ISE12.1 用户界面和菜单操作
2.2 S3开发板简介
2.3 ISE开发流程
2.3.1 创建工程和设计输入
2.3.2 创建TestBench并进行RTL仿真
2.3.3 添加约束
2.3.4 综合与实现
2.3.5 生成配置文件并对FPGA进行配置
2.4 第三方开发工具
2.4.1 ModeISim介绍
2.4.2 在ModelSim中编译Xilinx的器件库
2.4.3 ModeISim功能仿真举例
2.4.4 SynplifyPro介绍
2.4.5 关联ISE和SynplifyPro
2.4.6 SynplifyPro使用流程
本章小结
思考与练习
第二篇 数字电路设计基础与VerilogHDL描述
第三章 VerilogHDL语言基础
3.1 基本知识介绍
3.2 模块结构和编程框架
3.2.1 模块的结构
3.2.2 编程框架
3.3 数据类型和基本元素
3.3.1 基本概念
3.3.2 基本数据类型值
3.3.3 数据类型
3.3.4 常量
3.4 结构化描述
3.5 TestBench简介
本章小结
思考与练习
第四章 组合逻辑设计
4.1 基本操作符
4.1.1 算术操作符
4.1.2 移位操作符
4.1.3 关系运算符与相等运算符
4.1.4 位操作、复制和逻辑操作运算符
4.1.5 连接与复制运算符
4.1.6 条件运算符
4.1.7 位宽调整操作
4.1.8 关于Z和X的综合
4.2 组合逻辑描述
4.2.1 使用always模块描述组合逻辑
4.2.2 使用赋值语句描述组合逻辑
4.2 3 举例说明
4.3 条件控制语句
4.3.1 if-else语句
4.3.2 case语句
4.3.3 casez和casex语句
4.3.4 “fullcase”和“parallelcase语句”
4.4 条件控制语句的布线结构
4.4.1 优先级布线网络
4.4.2 多路选择布线网络
4.5 always语句的编程指导
4.6 工程实践
4.6.1 十六进制数到七段数码管译码器
4.6.2 带符号加法器设计
4.6.3 桶形移位器设计
本章小结
思考与练习
第五章 时序逻辑设计
5.1 时序电路基础
5.1.1 时序电路基本存储单元
5.1.2 同步时序电路
5.1.3 时序电路分类
5.2 时序电路基本单元的HDL描述
5.2.1 D触发器
5.2.2 寄存器
5.2.3 寄存器文件
5.3 简单例程
5.3.1 移位寄存器
5.3.2 二进制计数器和变量
5.4 时序电路的Test Bench
5.5 工程实践
5.5.1 LED时序动态选择电路
5.5.2 秒表设计
5.5.3 FIFO缓冲器设计
本章小结
思考与练习
第六章 时序状态机设计
6.1 有限状态机
6.1.1 Moore和Mealy状态机
6.1.2 有限状态机的描述方式
6.1.3 有限状态机的HDL开发
6.2 状态机设计实例
6.2.1 上升沿检测电路
6.2.2 按键防抖动电路
6.2.3 电路硬件验证
6.3 带数据路径的状态机(FSMD)
6.3.1 简单寄存器传输操作
6.3.2 FSMD状态描述
6.3.3 FSMD的模块框图
6.4 FSMD的HDL代码开发
6.4.1 基于FSMD描述的按键防抖动电路
6.4.2 显性描述数据路径
6.4.3 隐含描述数据路径
6.5 设计举例
……
第三篇 基于FPGA的接口开发
第四篇 基于FPGA的软核微控制器PicoBlaze
参考文献