本篇主要提供FPGA自学笔记—设计与验证梅雪松,袁玉卓,曾凯锋北京航空航天电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
图书基本信息 | |
图书名称 | FPGA自学笔记—设计与验证 |
作者 | 梅雪松,袁玉卓,曾凯锋 |
定价 | 69元 |
出版社 | 北京航空航天大学出版社 |
ISBN | 9787512424746 |
出版日期 | 2017-08-01 |
字数 | |
页码 | 454 |
版次 | |
装帧 | 平装 |
开本 | 16开 |
商品重量 |
内容提要 | |
FPGA自学笔记—设计与验证 n本书以Intel CycloneⅣ E系列FPGA 为例,系统介绍了FPGA 的硬件结构、电路设计以及逻辑设计和验证流程。书中以若干个具有工程实用意义的案例为背景,详细介绍了FPGA 数字逻辑设计中常见的功能模块设计思路、FPGA 片上资源的使用方法、开发软件中各种调试工具的使用,包括SignaltapⅡ、ISystem Sources and Probes Editor、ISystem Memory Content Editor。本书 后通过若干个综合性实例,讲解了复杂数字系统的设计方法和验证思路。作为实用型FPGA 教程,本书的每一个实验都有完整的仿真和验证过程,即强调了仿真验证在FPGA设计中的重要作用。 n本书可作为工程应用类、电子信息类专业本科生以及相关专业专科生的EDA 基础类课程的教材;也可作为FPGA自学人员,以及从事FPGA开发的工程技术人员的培训教材和参考用书。 n |
目录 | |
章 从头认识FPGA ……………………………………………………………… 1 n1.1 CycloneⅣ EFPGA原理与应用 ……………………………………………… 1 n1.1.1 CycloneⅣ E概述 ………………………………………………………… 1 n1.1.2 CycloneⅣ E扩展资源介绍 ……………………………………………… 4 n1.1.3 重点电路设计 ……………………………………………………………… 5 n1.2 IntelFPGA开发环境 ………………………………………………………… 17 n1.2.1 Quartus软件的发展史 …………………………………………………… 18 n1.2.2 QuartusPrime的下载 …………………………………………………… 18 n1.2.3 QuartusPrime的安装 …………………………………………………… 21 n1.2.4 QuartusPrime软件的基本使用 ………………………………………… 27 n第2章 FPGA开发软硬件平台介绍 ………………………………………………… 39 n2.1 AC620开发套件………………………………………………………………… 39 n2.1.1 AC620开发板的功能特点 ………………………………………………… 39 n2.1.2 AC620开发板的使用 ……………………………………………………… 43 n2.2 IntelFPGA开发流程 ………………………………………………………… 57 n2.2.1 建立工程 …………………………………………………………………… 57 n2.2.2 设计输入 …………………………………………………………………… 61 n2.2.3 分析和综合 ………………………………………………………………… 61 n2.2.4 功能仿真 …………………………………………………………………… 62 n2.2.5 综合与布局布线 …………………………………………………………… 66 n2.2.6 时序仿真 …………………………………………………………………… 66 n2.2.7 I/O分配以及生成配置文件 ……………………………………………… 67 n2.2.8 配置FPGA下载…………………………………………………………… 67 n2.3 FPGA设计的烧写与投产 ……………………………………………………… 68 n2.3.1 FPGA固件存储方案 ……………………………………………………… 68 n2.3.2 CycloneⅣ EFPGA固件烧写方案 ……………………………………… 69 n2.3.3 烧写文件JIC的产生 ……………………………………………………… 70 n第3章 FPGA基本数字逻辑设计 …………………………………………………… 74 n3.1 组合逻辑电路设计———译码器 ………………………………………………… 74 n3.1.1 译_码器工作原理 …………………………………………………………… 74 n3.1.2 译码器Verilog实现 ……………………………………………………… 75 n3.1.3 激励创建及仿真测试 ……………………………………………………… 76 n3.2 时序逻辑电路设计———计数器 ………………………………………………… 79 n3.2.1 计数器工作原理 …………………………………………………………… 80 n3.2.2 计数器Verilog实现 ……………………………………………………… 81 n3.2.3 仿真及板级验证 …………………………………………………………… 82 n3.3 IP核应用———计数器 ………………………………………………………… 85 n3.3.1 IP核创建流程 ……………………………………………………………… 85 n3.3.2 仿真及板级验证 …………………………………………………………… 89 n3.3.3 已生成IP核的参数修改 ………………………………………………… 90 n3.3.4 QuartusⅡ中IP核参数的修改…………………………………………… 94 n3.4 BCD计数器设计与验证 ……………………………………………………… 95 n3.4.1 BCD码原理 ………………………………………………………………… 95 n3.4.2 BCD计数器的 Verilog实现 ……………………………………………… 96 n3.4.3 激励创建及仿真测试 ……………………………………………………… 97 n3.4.4 级联BCD计数器设计与仿真 …………………………………………… 98 n3.5 阻塞赋值与非阻塞赋值原理分析 …………………………………………… 103 n3.5.1 不同赋值方式的对比与实现 …………………………………………… 103 n3.5.2 不同赋值方式的仿真及测试 …………………………………………… 105 n3.6 状态机设计实例 ……………………………………………………………… 108 n3.6.1 状态机工作原理 ………………………………………………………… 108 n3.6.2 字符串检测状态机实现 ………………………………………………… 110 n3.6.3 激励创建及仿真测试 …………………………………………………… 113 n3.7 独立按键消抖设计与验证 …………………………………………………… 115 n3.7.1 按键的物理结构及电路设计 …………………………………………… 115 n3.7.2 硬件电路实现按键消抖 ………………………………………………… 116 n3.7.3 状态机实现按键消抖 …………………………………………………… 118 n3.7.4 激励创建及仿真测试 …………………………………………………… 124 n3.7.5 任务及函数的使用 ………………………………………………… 125 n3.8 模块化设计基础———加减法计数器 ………………………………………… 129 n3.8.1 模块功能划分 …………………………………………………………… 129 n3.8.2 模块功能设计 …………………………………………………………… 129 n3.8.3 仿真及板级验证 ………………………………………………………… 132 n3.9 8位7段数码管驱动设计与验证 …………………………………………… 134 n3.9.1 数码管驱动原理 ………………………………………………………… 134 n3.9.2 三线制数码管电路设计 ………………………………………………… 137 n3.9.3 数码管动态扫描驱动设计 ……………………………………………… 138 n3.9.4 ISSP生成及使用 ………………………………………………………… 145 n3.9.5 板级调试与验证 ………………………………………………………… 149 n3.9.6 QuartusⅡ中ISSP的使用方法 ………………………………………… 152 n3.10 串口发送模块设计与验证 …………………………………………………… 153 n3.10.1 异步串行通信原理及电路设计 ………………………………………… 154 n3.10.2 UART异步串行通信发送模块设计与实现…………………………… 157 n3.10.3 激励创建及仿真测试 …………………………………………………… 162 n3.10.4 按键控制串口发送设计 ………………………………………………… 163 n3.11 串口接收模块的设计与验证 ………………………………………………… 165 n3.11.1 串口接收原理分析 ……………………………………………………… 166 n3.11.2 UART异步串行通信接收模块设计与实现…………………………… 167 n3.11.3 仿真及板级验证 ………………………………………………………… 171 n第4章 FPGA片上专用资源使用 …………………………………………………… 176 n4.1 嵌入式RAM 的使用———双端口RAM …………………………………… 176 n4.1.1 CycloneⅣ体系结构及嵌入式存储器原理 ……………………………… 176 n4.1.2 IP核使用———dpram …………………………………………………… 178 n4.1.3 激励创建及仿真测试 …………………………………………………… 182 n4.2 搭建串口收发与双口RAM 存储的简易应用系统 ………………………… 185 n4.2.1 系统模块功能划分及接口设计 ………………………………………… 185 n4.2.2 顶层文件设计 …………………………………………………………… 185 n4.2.3 控制模块设计 …………………………………………………………… 186 n4.2.4 仿真及板级验证 ………………………………………………………… 187 n4.3 嵌入式RAM 的使用———ROM ……………………………………………… 190 n4.3.1 IP核使用———ROM ……………………………………………………… 191 n4.3.2 激励创建及仿真测试 …………………………………………………… 193 n4.3.3 SignaTapⅡ使用及板级验证 …………………………………………… 195 n4.4 嵌入式块RAM 的使用———FIFO …………………………………………… 201 n4.4.1 FIFO的相关知识 ………………………………………………………… 202 n4.4.2 IP核的使用———FIFO…………………………………………………… 204 n4.5 PLL锁相环介绍与简单应用 ………………………………………………… 213 n4.5.1 PLL相关知识 …………………………………………………………… 213 n4.5.2 IP核使用———PLL ……………………………………………………… 215 n4.5.3 仿真及板级验证 ………………………………………………………… 219 n第5章 FPGA进阶数字逻辑设计 …………………………………………………… 223 n5.1 无源蜂鸣器驱动设计与验证 ………………………………………………… 223 n5.1.1 无源蜂鸣器电路设计 …………………………………………………… 223 n5.1.2 无源蜂鸣器驱动原理 …………………………………………………… 224 n5.1.3 PWM 发生器模块设计…………………………………………………… 225 n5.1.4 仿真及板级验证 ………………………………………………………… 227 n5.2 线性序列机与串行接口DAC驱动设计与验证……………………………… 232 n5.2.1 DAC芯片概述及电路设计 ……………………………………………… 232 n5.2.2 TLV5618型DAC芯片输出电压计算原理 …………………………… 234 n5.2.3 TLV5618型DAC接口时序 …………………………………………… 235 n5.2.4 线性序列机设计思想与接口时序设计 ………………………………… 236 n5.2.5 基于线性序列机的DAC驱动设计 ……………………………………… 238 n5.2.6 仿真及板级测试 ………………………………………………………… 241 n5.3 线性序列机与串行接口ADC驱动设计与验证……………………………… 243 n5.3.1 ADC芯片概述及电路设计 ……………………………………………… 244 n5.3.2 ADC128S022型ADC接口时序 ………………………………………… 245 n5.3.3 ADC128S022接口时序设计 …………………………………………… 247 n5.3.4 基于线性序列机的ADC驱动设计 ……………………………………… 249 n5.3.5 仿真及板级测试 ………………………………………………………… 252 n5.4 HT6221红外遥控解码设计与验证 ………………………………………… 257 n5.4.1 红外遥控系统组成及电路设计 ………………………………………… 257 n5.4.2 红外遥控协议分析(NEC协议)………………………………………… 258 n5.4.3 红外解码模块设计 ……………………………………………………… 260 n5.4.4 仿真及板级验证 ………………………………………………………… 265 n5.5 TFT显示屏驱动设计与验证 ………………………………………………… 267 n5.5.1 TFT触摸屏驱动电路设计 ……………………………………………… 268 n5.5.2 RGB接口TFT屏扫描方式……………………………………………… 270 n5.5.3 RGB接口TFT屏时序分析……………………………………………… 271 n5.5.4 RGB接口TFT屏驱动设计……………………………………………… 272 n5.5.5 仿真及板级验证 ………………………………………………………… 275 n第6章 FPGA综合数字系统设计 …………………………………………………… 280 n6.1 八通道数字电压表 …………………………………………………………… 280 n6.1.1 数字电压表功能划分 …………………………………………………… 280 n6.1.2 按键输入模块 …………………………………………………………… 281 n6.1.3 通道选择模块 …………………………………………………………… 281 n6.1.4 ADC控制模块———ADC128S022 ……………………………………… 282 n6.1.5 数据预处理模块 ………………………………………………………… 282 n6.1.6 码制转换模块 …………………………………………………………… 284 n6.1.7 数码管驱动模块 ………………………………………………………… 287 n6.1.8 顶层设计 ………………………………………………………………… 288 n6.1.9 基于查找表的数据电压换算 …………………………………………… 289 n6.2 双通道幅频相可调DDS信号发生器 ………………………………………… 292 n6.2.1 DDS原理与实现 ………………………………………………………… 293 n6.2.2 数/模转换器(DAC)驱动模块设计 ……………………………………… 299 n6.2.3 串口命令接收与解析 ……………………………………………………303 n6.2.4 信号发生器顶层设计 …………………………………………………… 315 n6.2.5 系统测试 ………………………………………………………………… 316 n6.3 串口读/写EEPROM ………………………………………………………… 317 n6.3.1 I2C基本概念 ……………………………………………………………… 317 n6.3.2 I2C协议时序介绍 ………………………………………………………… 318 n6.3.3 I2C器件地址 ……………………………………………………………… 319 n6.3.4 I2C存储器地址 …………………………………………………………… 320 n6.3.5 I2C写时序 ………………………………………………………………… 321 n6.3.6 I2C单字节读时序 ………………………………………………………… 323 n6.3.7 I2C读/写器件控制器设计 ……………………………………………… 325 n6.3.8 I2C控制器仿真验证 ……………………………………………………… 335 n6.3.9 串口读/写EEPROM 系统设计 ………………………………………… 341 n6.3.10 串口读/写 EEPROM 仿真验证 ……………………………………… 351 n6.3.11 串口读/写EEPROM 板级验证 ……………………………………… 355 n6.4 基于串口猎人的虚拟示波器 ………………………………………………… 359 n6.4.1 系统结构 ………………………………………………………………… 359 n6.4.2 模块详解 ………………………………………………………………… 361 n6.4.3 仿真验证 ………………………………………………………………… 375 n6.4.4 基于串口猎人的板级验证 ……………………………………………… 385 n6.5 SDRAM 控制器设计 ………………………………………………………… 391 n6.5.1 SDRAM 基本概念………………………………………………………… 391 n6.5.2 SDRAM 存取原理………………………………………………………… 392 n6.5.3 SDRAM 器件引脚说明…………………………………………………… 394 n6.5.4 SDRAM 特性 …………………………………………………………… 395 n6.5.5 SDRAM 操作命令介绍…………………………………………………… 396 n6.5.6 SDRAM 操作时序………………………………………………………… 403 n6.5.7 SDRAM 控制器设计……………………………………………………… 418 n6.5.8 SDRAM 控制器仿真验证………………………………………………… 425 n6.5.9 SDRAM 控制器设计优化………………………………………………… 430 n6.5.10 优化控制器仿真验证 ……………………………………………………436 n6.6 串口传图帧缓存设计 ………………………………………………………… 440 n6.6.1 系统结构 ………………………………………………………………… 440 n6.6.2 仿真验证 ………………………………………………………………… 446 n6.6.3 板级验证 ………………………………………………………………… 450 n参考文献………………………………………………………………………………… 454 |
作者介绍 | |
梅雪松,网名“小梅哥”,拥有多年电子设计经验,擅长知识的总结和传播,有《小梅哥和你一起深入学习FPGA》、《小梅哥FPGA学习笔记》两个系列网络博文;并推出了手把手式视频教程《FPGA设计思想与验证方法视频教程》,该教程在各大视频点击平台备受好评,网友称其为学习FPGA基础与提高教学视频的。同时,开设FPGA实地培训班,正式开始网络和实地FPGA培训,培训课程以其系统的知识讲解和生动的实例分析,得到了学员的一致肯定。 n袁玉卓,山东大学博士,集成电路设计专业,知识面广,专业技术背景深厚。长期从事于FPGA技术的分享和交流,拥有丰富的项目科研和实践经验, n曾凯锋,杭州电子科技大学硕士,主要研究方向为FPGA与嵌入式系统设计,长期活跃于FPGA技术交流群,著有多篇FPGA设计和验证文章。 n |
编辑推荐 | |
FPGA自学笔记—设计与验证 n这本书打破了重实验现象,轻仿真验证的学习误区,书中每一个实验,无论是基础的点亮 LED灯,还是综合的多模块数字系统设计,以及复杂的 SDRAM 控制器设计,都严格按照“设计+验证”的流程进行。 同时,本书由浅入深,全流程的讲解;首先,通过知识背景的介绍,讲解设计中需要注意的问题;接着,一步一步地根据设计需求完成设计中的每一个部分;然后,编写Testbenc件,使用 ModelSim 软件对设计进行仿真验证;后,仿真验证通过后,再配置到 FPGA 器件中运行,如果板级运行不正确,则再回到仿真波形中查找可能的错误原因,在必要时使用板级验证工具如Signaltap Ⅱ进行板级调试。本书对于不同水平的技术人员,都是一本不错的自学和参考用书。 n |