书籍详情
勇敢的芯伴你玩转Xilinx FPGA
作者:吴厚航
出版社:清华大学出版社
出版时间:2017-12-01
ISBN:9787302474272
定价:¥59.00
购买这本书可以去
内容简介
暂缺《勇敢的芯伴你玩转Xilinx FPGA》简介
作者简介
者简介吴厚航[网名:特权同学]有近10年的FPGA工程实践经历,擅长记录、分析并总结FPGA开发中的经验与技巧,也非常乐于分享。活跃于各大电子技术网站的FPGA社区或版块,多年来笔耕不辍、风雨无阻,不断地发表FPGA相关文章,其总点击量超过300万。著有多本FPGA技术相关图书,其诙谐的文字、贴近读者实际需求的知识点与经验技巧分享,赢得了广大读者的一致认可。【目录】 Contents目录 第1章FPGA开发入门 1.1FPGA基础入门 1.2FPGA的优势在哪里 1.3FPGA应用领域 1.4FPGA开发流程 第2章实验平台“勇敢的芯”板级电路详解 2.1板级电路整体架构 2.2电源电路 2.3复位与时钟电路 2.3.1关于FPGA器件的时钟 2.3.2关于FPGA器件的复位 2.3.3实验平台电路解析 2.4FPGA下载配置电路 2.5SRAM接口电路 2.6ADC/DAC芯片电路 2.7UART接口电路 2.8RTC接口电路 2.9导航按键电路 2.10VGA显示接口电路 2.11蜂鸣器、数码管、流水灯、拨码开关电路 2.12超声波接口、外扩LCD接口电路 第3章逻辑设计基础 3.10和1——精彩世界由此开始 3.2表面现象揭秘——逻辑关系3.3内里本质探索——器件结构 第4章软件安装与配置 4.1ISE 14.6软件安装 4.1.1安装文件复制与解压缩 4.1.2虚拟光驱或解压缩安装 4.1.3ISE 14.6安装 4.2Modelsim SE 10.1安装 4.2.1安装文件复制与解压缩 4.2.2Modelsim SE安装 4.3文本编辑器Notepad安装 4.4ISE中使用Notepad的关联设置 4.5ISE与Modelsim联合仿真库编译 4.5.1操作系统确认 4.5.2Xilinx库编译 4.6ISE与Modelsim联合仿真关联设置 4.6.1modelsim.ini内容复制与粘贴 4.6.2ISE设置 4.7Platform Cable USB驱动安装 4.8串口芯片驱动安装 4.8.1驱动安装 4.8.2设备识别 勇敢的芯伴你玩转Xilinx FPGA第5章基于仿真的*个工程实例 5.1新建工程 5.2Verilog源码文件创建与编辑 5.2.1Verilog源码文件创建 5.2.2Verilog源码文件编辑 5.3Verilog语法检查 5.4Modelsim仿真验证 5.4.1ISE基本设置 5.4.2测试脚本创建与编辑 5.4.3调用Modelsim仿真 第6章基于板级调试的第二个工程实例 6.1PWM蜂鸣器驱动之功能概述 6.1.1功能概述 6.1.2设计源码 6.2PWM蜂鸣器驱动之引脚分配 6.2.1工程移植 6.2.2PlanAhead引脚分配 6.2.3脚本直接引脚分配 6.3PWM蜂鸣器驱动之综合、实现与配置文件产生 6.4PWM蜂鸣器驱动之FPGA在线下载配置 6.4.1开启iMPACT 6.4.2初始化下载线缆 6.4.3下载配置 6.5PWM蜂鸣器驱动之FPGA配置芯片固化 6.5.1PROM烧录文件生成 6.5.2固化PROM 6.6PWM蜂鸣器驱动之复位与FPGA重配置功能 6.6.1复位功能 6.6.2在线重配置功能 6.6.3配置状态指示灯 第7章基础入门实例 7.1蜂鸣器开关实例 7.1.1功能简介 7.1.2代码解析 7.1.3打开工程 7.1.4下载配置操作 7.2流水灯实例 7.2.1功能简介 7.2.2代码解析 7.2.3下载配置 7.33?8译码器实验 7.3.1功能简介 7.3.2代码解析 7.3.3板级调试 7.4按键消抖与LED开关实例 7.4.1按键消抖原理 7.4.2功能简介 7.4.3代码解析 7.4.4板级调试 7.5经典模式流水灯实验 7.5.1功能简介 7.5.2代码解析 7.5.3板级调试 7.6基于PLL分频计数的LED闪烁实例 7.6.1PLL概述 7.6.2功能简介 7.6.3新建IP核文件 7.6.4PLL配置 7.6.5模块化设计概述 7.6.6模块化设计实践 7.6.7代码解析 7.6.8板级调试 7.7数码管驱动实例 7.7.1数码管驱动原理 7.7.2功能概述 7.7.3代码解析 7.7.4板级调试 7.8SRAM读写测试 7.8.1SRAM读写时序解读 7.8.2功能简介 7.8.3代码解析 7.8.4Xilinx库设置 7.8.5功能仿真 7.8.6FPGA在线配置 7.8.7触发采样波形 7.9UART loopback测试 7.9.1功能概述 7.9.2代码解析 7.9.3板级调试 7.10VGA驱动ColorBar显示 7.10.1VGA概述 7.10.2功能简介 7.10.3代码解析 7.10.4板级调试 7.11LCD基本驱动实例 7.11.1LCD驱动时序 7.11.2功能简介 7.11.3代码解析 7.11.4装配 7.11.5板级调试 7.12LCD字符显示驱动 7.12.1字符取模 7.12.2ROM初始化文档创建 7.12.3新建源文件 7.12.4IP选择 7.12.5ROM配置 7.12.6功能简介 7.12.7代码解析 7.12.8板级调试 第8章FPGA片内资源应用实例 8.1基于ChipScope的超声波测距调试 8.1.1超声波测距原理 8.1.2功能简介 8.1.3代码解析 8.1.4硬件装配 8.1.5ChipScope源文件创建 8.1.6ChipScope配置 8.1.7ChipScope调试 8.2FPGA片内ROM实例 8.2.1功能概述 8.2.2代码解析 8.2.3ROM初始化文档创建 8.2.4新建源文件 8.2.5IP选择 8.2.6ROM配置 8.2.7Xilinx库设置 8.2.8功能仿真 8.2.9FPGA在线调试 8.2.10触发采样波形 8.3FPGA片内RAM实例 8.3.1功能概述 8.3.2代码解析 8.3.3新建源文件 8.3.4IP选择 8.3.5RAM配置 8.3.6功能仿真 8.3.7FPGA在线调试 8.4FPGA片内FIFO实例 8.4.1功能概述 8.4.2代码解析 8.4.3新建源文件 8.4.4IP选择 8.4.5FIFO配置 8.4.6功能仿真 8.4.7FPGA在线调试 8.5FPGA片内异步FIFO实例 8.5.1功能概述 8.5.2代码解析 8.5.3新建源文件 8.5.4IP选择 8.5.5FIFO配置 8.5.6功能仿真 8.5.7FPGA在线调试 8.6FPGA片内ROM FIFO RAM联合实例之功能 8.6.1功能概述 8.6.2代码解析 8.6.3功能仿真 8.6.4FPGA在线调试 第9章综合进阶实例 9.1基于数码管显示的超声波测距回响脉宽计数 9.1.1功能简介 9.1.2代码解析 9.1.3板级调试 9.2基于均值滤波处理的超声波测距回响脉宽计数 9.2.1功能简介 9.2.2滤波算法与实现 9.2.3代码解析 9.2.4板级调试 9.3基于进制换算的超声波测距结果显示 9.3.1功能简介 9.3.2距离计算公式实现 9.3.3进制换算实现 9.3.4代码解析 9.3.5乘法器IP核创建、配置与例化 9.3.6除法器IP核创建、配置与例化 9.3.7板级调试 9.4倒车雷达实例 9.4.1倒车雷达应用背景 9.4.2功能简介 9.4.3代码解析 9.4.4板级调试 9.5基于SRAM批量读写的UARTbulk测试 9.5.1功能概述 9.5.2代码解析 9.5.3板级调试 9.6基于数码管显示的RTC读取 9.6.1RTC芯片解析 9.6.2功能简介 9.6.3代码解析 9.6.4板级调试 9.7基于UART发送的RTC读取 9.7.1功能简介 9.7.2代码解析 9.7.3板级调试 9.8基于UART收发的RTC读写 9.8.1功能简介 9.8.2代码解析 9.8.3板级调试 9.9基于UART控制的VGA多模式显示 9.9.1功能简介 9.9.2代码解析 9.9.3板级调试 9.10基于LED显示的D/A输出驱动实例 9.10.1D/A芯片概述 9.10.2功能简介 9.10.3代码解析 9.10.4板级调试 9.11基于按键调整和数码管显示的D/A输出实例 9.11.1功能简介 9.11.2代码解析 9.11.3板级调试 9.12波形发生器 9.12.1功能简介 9.12.2代码解析 9.12.3IP核CORDIC配置与例化 9.12.4Xilinx库设置 9.12.5功能仿真 9.12.6板级调试 9.13基于数码管显示的A/D采集实例 9.13.1A/D芯片接口概述 9.13.2功能简介 9.13.3代码解析 9.13.4板级调试 9.14A/D和D/A联合测试 9.14.1功能简介 9.14.2代码解析 9.14.3板级调试 9.15RTC时间的LCD显示和UART设置 9.15.1功能简介 9.15.2代码解析 9.15.3板级调试【前言】 Foreword 前言 FPGA技术在当前的电子设计领域越来越火热,虽然它的成本还是高高在上,但是它给电子系统所带来的不可限量的速度和带宽以及在灵活性、小型性方面的优势,越来越为对性能要求高、偏重定制化需求的开发者所青睐。因此,越来越多的电子工程师和电子专业在校学生希望能够掌握这门技术。而一门电子技能的掌握,单凭几本初级入门教材是很困难的。笔者结合自身的学习经历,为广大学习者量身打造了基于低成本、高性价比的Xilinx Spartan 6 FPGA器件的硬件开发学习平台。基于这个平台,配套本教材的各种基础概念阐释和例程讲解,相信可以帮助读者快速掌握这一门新技术。 本书共分为以下9章。 第1章是基础中的基础,讲述可编程器件的一些基本概念及其主要应用领域、相比于传统技术的优势和开发流程。第2章从FPGA开发平台的电路板设计入手,介绍FPGA板级硬件电路设计要点,以及本书配套开发平台的周边外围电路的设计。第3章从*基础的0和1开始回顾数字电路的基础,也会深入探讨读者所关心的可编程器件的内部架构和原理。 第4章讲述开发环境的搭建,包括Xilinx FPGA集成开发环境ISE、仿真工具Modelsim、文本编辑器Notepad以及下载器驱动和UART驱动安装,帮助读者快速搞定学习路上遇到的*棘手的“软”问题。 第5章和第6章完成*基本的工程创建、语法检查、仿真验证以及编译,甚至在线板级调试和代码固化,带领学习者初步掌握基于Xilinx ISE的FPGA开发流程。第7章手把手带领读者完成12个*基本的入门实例。第8章用6个实例帮助读者熟悉FPGA除了逻辑资源以外的丰富资源,如PLL,可配置为ROM、RAM、FIFO的内嵌存储器,在线逻辑分析仪ChipScope。 第9章的15个例程,是对前面一些例程的集成整合,力图通过大量例程实践,帮助读者熟练掌握FPGA的基本开发设计。 本书既有对基础理论知识专门的讲解,也有非常详细的实例演练和讲解,更多的是在实践中传递实用的设计技巧和方法,非常适合初学者。 本书配套例程下载链接: http://pan.baidu.com/s/1jGjAhEm。本书配套开发平台淘宝链接: http://myfpga.taobao.com/。 吴厚航(网名:特权同学)2017年8月于上海勇敢的芯伴你玩转Xilinx FPGA【免费在线读】第5章基于仿真的*个工程实例本章导读: 本章手把手引导读者建立*个属于自己的FPGA工程,包括工程新建,基本器件和工具配置,Verilog源码创建和编辑,Verilog语法检查以及进行Modelsim的仿真验证。5.1新建工程本节将一起动手使用ISE创建一个FPGA工程。首先,在硬盘中创建一个名为project的文件夹,注意这个文件夹所在的路径名称中不要有任何的中文和符号(下画线除外),即以数字和字母为主,例如,笔者的路径为“D:\myfpga\DK_SF_SP6\lesson”。打开ISE,进入主界面后,如图5.1所示,执行File→New Project…命令。图5.1New Project菜单在弹出的New Project Wizard中,分别做如下的设置。(1) Name一栏输入工程名称,这里建议输入sp6作为工程名称。(2) Location一栏输入工程所在的文件夹路径,“D:\myfpga\DK_SF_SP6\lesson\project”即前面创建的专用于存放FPGA实例工程的文件夹。其中*后一级的名称在输入Name后自动产生,即为“D:\myfpga\DK_SF_SP6\lesson\project\sp6”,建议*后一级自动创建的文件夹由sp6修改为“sp6ex1”。(3) Working Directory一栏的路径和Location一栏一致即可。(4) Top?level source type选择HDL,即以HDL方式作为设计工程的顶层模块。设置完成如图5.2所示。
目录
Contents
第1章FPGA开发入门
1.1FPGA基础入门
1.2FPGA的优势在哪里
1.3FPGA应用领域
1.4FPGA开发流程
第2章实验平台“勇敢的芯”板级电路详解
2.1板级电路整体架构
2.2电源电路
2.3复位与时钟电路
2.3.1关于FPGA器件的时钟
2.3.2关于FPGA器件的复位
2.3.3实验平台电路解析
2.4FPGA下载配置电路
2.5SRAM接口电路
2.6ADC/DAC芯片电路
2.7UART接口电路
2.8RTC接口电路
2.9导航按键电路
2.10VGA显示接口电路
2.11蜂鸣器、数码管、流水灯、拨码开关电路
2.12超声波接口、外扩LCD接口电路
第3章逻辑设计基础
3.10和1——精彩世界由此开始
3.2表面现象揭秘——逻辑关系
3.3内里本质探索——器件结构
第4章软件安装与配置
4.1ISE 14.6软件安装
4.1.1安装文件复制与解压缩
4.1.2虚拟光驱或解压缩安装
4.1.3ISE 14.6安装
4.2Modelsim SE 10.1安装
4.2.1安装文件复制与解压缩
4.2.2Modelsim SE安装
4.3文本编辑器Notepad 安装
4.4ISE中使用Notepad 的关联设置
4.5ISE与Modelsim联合仿真库编译
4.5.1操作系统确认
4.5.2Xilinx库编译
4.6ISE与Modelsim联合仿真关联设置
4.6.1modelsim.ini内容复制与粘贴
4.6.2ISE设置
4.7Platform Cable USB驱动安装
4.8串口芯片驱动安装
4.8.1驱动安装
4.8.2设备识别
勇敢的芯伴你玩转Xilinx FPGA
第5章基于仿真的*个工程实例
5.1新建工程
5.2Verilog源码文件创建与编辑
5.2.1Verilog源码文件创建
5.2.2Verilog源码文件编辑
5.3Verilog语法检查
5.4Modelsim仿真验证
5.4.1ISE基本设置
5.4.2测试脚本创建与编辑
5.4.3调用Modelsim仿真
第6章基于板级调试的第二个工程实例
6.1PWM蜂鸣器驱动之功能概述
6.1.1功能概述
6.1.2设计源码
6.2PWM蜂鸣器驱动之引脚分配
6.2.1工程移植
6.2.2PlanAhead引脚分配
6.2.3脚本直接引脚分配
6.3PWM蜂鸣器驱动之综合、实现与配置文件产生
6.4PWM蜂鸣器驱动之FPGA在线下载配置
6.4.1开启iMPACT
6.4.2初始化下载线缆
6.4.3下载配置
6.5PWM蜂鸣器驱动之FPGA配置芯片固化
6.5.1PROM烧录文件生成
6.5.2固化PROM
6.6PWM蜂鸣器驱动之复位与FPGA重配置功能
6.6.1复位功能
6.6.2在线重配置功能
6.6.3配置状态指示灯
第7章基础入门实例
7.1蜂鸣器开关实例
7.1.1功能简介
7.1.2代码解析
7.1.3打开工程
7.1.4下载配置操作
7.2流水灯实例
7.2.1功能简介
7.2.2代码解析
7.2.3下载配置
7.338译码器实验
7.3.1功能简介
7.3.2代码解析
7.3.3板级调试
7.4按键消抖与LED开关实例
7.4.1按键消抖原理
7.4.2功能简介
7.4.3代码解析
7.4.4板级调试
7.5经典模式流水灯实验
7.5.1功能简介
7.5.2代码解析
7.5.3板级调试
7.6基于PLL分频计数的LED闪烁实例
7.6.1PLL概述
7.6.2功能简介
7.6.3新建IP核文件
7.6.4PLL配置
7.6.5模块化设计概述
7.6.6模块化设计实践
7.6.7代码解析
7.6.8板级调试
7.7数码管驱动实例
7.7.1数码管驱动原理
7.7.2功能概述
7.7.3代码解析
7.7.4板级调试
7.8SRAM读写测试
7.8.1SRAM读写时序解读
7.8.2功能简介
7.8.3代码解析
7.8.4Xilinx库设置
7.8.5功能仿真
7.8.6FPGA在线配置
7.8.7触发采样波形
7.9UART loopback测试
7.9.1功能概述
7.9.2代码解析
7.9.3板级调试
7.10VGA驱动ColorBar显示
7.10.1VGA概述
7.10.2功能简介
7.10.3代码解析
7.10.4板级调试
7.11LCD基本驱动实例
7.11.1LCD驱动时序
7.11.2功能简介
7.11.3代码解析
7.11.4装配
7.11.5板级调试
7.12LCD字符显示驱动
7.12.1字符取模
7.12.2ROM初始化文档创建
7.12.3新建源文件
7.12.4IP选择
7.12.5ROM配置
7.12.6功能简介
7.12.7代码解析
7.12.8板级调试
第8章FPGA片内资源应用实例
8.1基于ChipScope的超声波测距调试
8.1.1超声波测距原理
8.1.2功能简介
8.1.3代码解析
8.1.4硬件装配
8.1.5ChipScope源文件创建
8.1.6ChipScope配置
8.1.7ChipScope调试
8.2FPGA片内ROM实例
8.2.1功能概述
8.2.2代码解析
8.2.3ROM初始化文档创建
8.2.4新建源文件
8.2.5IP选择
8.2.6ROM配置
8.2.7Xilinx库设置
8.2.8功能仿真
8.2.9FPGA在线调试
8.2.10触发采样波形
8.3FPGA片内RAM实例
8.3.1功能概述
8.3.2代码解析
8.3.3新建源文件
8.3.4IP选择
8.3.5RAM配置
8.3.6功能仿真
8.3.7FPGA在线调试
8.4FPGA片内FIFO实例
8.4.1功能概述
8.4.2代码解析
8.4.3新建源文件
8.4.4IP选择
8.4.5FIFO配置
8.4.6功能仿真
8.4.7FPGA在线调试
8.5FPGA片内异步FIFO实例
8.5.1功能概述
8.5.2代码解析
8.5.3新建源文件
8.5.4IP选择
8.5.5FIFO配置
8.5.6功能仿真
8.5.7FPGA在线调试
8.6FPGA片内ROM FIFO RAM联合实例之功能
8.6.1功能概述
8.6.2代码解析
8.6.3功能仿真
8.6.4FPGA在线调试
第9章综合进阶实例
9.1基于数码管显示的超声波测距回响脉宽计数
9.1.1功能简介
9.1.2代码解析
9.1.3板级调试
9.2基于均值滤波处理的超声波测距回响脉宽计数
9.2.1功能简介
9.2.2滤波算法与实现
9.2.3代码解析
9.2.4板级调试
9.3基于进制换算的超声波测距结果显示
9.3.1功能简介
9.3.2距离计算公式实现
9.3.3进制换算实现
9.3.4代码解析
9.3.5乘法器IP核创建、配置与例化
9.3.6除法器IP核创建、配置与例化
9.3.7板级调试
9.4倒车雷达实例
9.4.1倒车雷达应用背景
9.4.2功能简介
9.4.3代码解析
9.4.4板级调试
9.5基于SRAM批量读写的UART
bulk测试
9.5.1功能概述
9.5.2代码解析
9.5.3板级调试
9.6基于数码管显示的RTC读取
9.6.1RTC芯片解析
9.6.2功能简介
9.6.3代码解析
9.6.4板级调试
9.7基于UART发送的RTC读取
9.7.1功能简介
9.7.2代码解析
9.7.3板级调试
9.8基于UART收发的RTC读写
9.8.1功能简介
9.8.2代码解析
9.8.3板级调试
9.9基于UART控制的VGA多模式显示
9.9.1功能简介
9.9.2代码解析
9.9.3板级调试
9.10基于LED显示的D/A输出驱动实例
9.10.1D/A芯片概述
9.10.2功能简介
9.10.3代码解析
9.10.4板级调试
9.11基于按键调整和数码管显示的D/A输出实例
9.11.1功能简介
9.11.2代码解析
9.11.3板级调试
9.12波形发生器
9.12.1功能简介
9.12.2代码解析
9.12.3IP核CORDIC配置与例化
9.12.4Xilinx库设置
9.12.5功能仿真
9.12.6板级调试
9.13基于数码管显示的A/D采集实例
9.13.1A/D芯片接口概述
9.13.2功能简介
9.13.3代码解析
9.13.4板级调试
9.14A/D和D/A联合测试
9.14.1功能简介
9.14.2代码解析
9.14.3板级调试
9.15RTC时间的LCD显示和UART设置
9.15.1功能简介
9.15.2代码解析
9.15.3板级调试
猜您喜欢