《FPGA自学笔记—设计与验证梅雪松,袁玉卓,曾凯锋北京航空航天》[83M]百度网盘|pdf下载|亲测有效
《FPGA自学笔记—设计与验证梅雪松,袁玉卓,曾凯锋北京航空航天》[83M]百度网盘|pdf下载|亲测有效

FPGA自学笔记—设计与验证梅雪松,袁玉卓,曾凯锋北京航空航天 pdf下载

出版社 万卷出版公司图书专营店
出版年 2017-08
页数 390页
装帧 精装
评分 9.3(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供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

n

1.1 CycloneⅣ EFPGA原理与应用 ……………………………………………… 1

n

1.1.1 CycloneⅣ E概述 ………………………………………………………… 1

n

1.1.2 CycloneⅣ E扩展资源介绍 ……………………………………………… 4

n

1.1.3 重点电路设计 ……………………………………………………………… 5

n

1.2 IntelFPGA开发环境 ………………………………………………………… 17

n

1.2.1 Quartus软件的发展史 …………………………………………………… 18

n

1.2.2 QuartusPrime的下载 …………………………………………………… 18

n

1.2.3 QuartusPrime的安装 …………………………………………………… 21

n

1.2.4 QuartusPrime软件的基本使用 ………………………………………… 27

n

第2章 FPGA开发软硬件平台介绍 ………………………………………………… 39

n

2.1 AC620开发套件………………………………………………………………… 39

n

2.1.1 AC620开发板的功能特点 ………………………………………………… 39

n

2.1.2 AC620开发板的使用 ……………………………………………………… 43

n

2.2 IntelFPGA开发流程 ………………………………………………………… 57

n

2.2.1 建立工程 …………………………………………………………………… 57

n

2.2.2 设计输入 …………………………………………………………………… 61

n

2.2.3 分析和综合 ………………………………………………………………… 61

n

2.2.4 功能仿真 …………………………………………………………………… 62

n

2.2.5 综合与布局布线 …………………………………………………………… 66

n

2.2.6 时序仿真 …………………………………………………………………… 66

n

2.2.7 I/O分配以及生成配置文件 ……………………………………………… 67

n

2.2.8 配置FPGA下载…………………………………………………………… 67

n

2.3 FPGA设计的烧写与投产 ……………………………………………………… 68

n

2.3.1 FPGA固件存储方案 ……………………………………………………… 68

n

2.3.2 CycloneⅣ EFPGA固件烧写方案 ……………………………………… 69

n

2.3.3 烧写文件JIC的产生 ……………………………………………………… 70

n

第3章 FPGA基本数字逻辑设计 …………………………………………………… 74

n

3.1 组合逻辑电路设计———译码器 ………………………………………………… 74

n

3.1.1 译_码器工作原理 …………………………………………………………… 74

n

3.1.2 译码器Verilog实现 ……………………………………………………… 75

n

3.1.3 激励创建及仿真测试 ……………………………………………………… 76

n

3.2 时序逻辑电路设计———计数器 ………………………………………………… 79

n

3.2.1 计数器工作原理 …………………………………………………………… 80

n

3.2.2 计数器Verilog实现 ……………………………………………………… 81

n

3.2.3 仿真及板级验证 …………………………………………………………… 82

n

3.3 IP核应用———计数器 ………………………………………………………… 85

n

3.3.1 IP核创建流程 ……………………………………………………………… 85

n

3.3.2 仿真及板级验证 …………………………………………………………… 89

n

3.3.3 已生成IP核的参数修改 ………………………………………………… 90

n

3.3.4 QuartusⅡ中IP核参数的修改…………………………………………… 94

n

3.4 BCD计数器设计与验证 ……………………………………………………… 95

n

3.4.1 BCD码原理 ………………………………………………………………… 95

n

3.4.2 BCD计数器的 Verilog实现 ……………………………………………… 96

n

3.4.3 激励创建及仿真测试 ……………………………………………………… 97

n

3.4.4 级联BCD计数器设计与仿真 …………………………………………… 98

n

3.5 阻塞赋值与非阻塞赋值原理分析 …………………………………………… 103

n

3.5.1 不同赋值方式的对比与实现 …………………………………………… 103

n

3.5.2 不同赋值方式的仿真及测试 …………………………………………… 105

n

3.6 状态机设计实例 ……………………………………………………………… 108

n

3.6.1 状态机工作原理 ………………………………………………………… 108

n

3.6.2 字符串检测状态机实现 ………………………………………………… 110

n

3.6.3 激励创建及仿真测试 …………………………………………………… 113

n

3.7 独立按键消抖设计与验证 …………………………………………………… 115

n

3.7.1 按键的物理结构及电路设计 …………………………………………… 115

n

3.7.2 硬件电路实现按键消抖 ………………………………………………… 116

n

3.7.3 状态机实现按键消抖 …………………………………………………… 118

n

3.7.4 激励创建及仿真测试 …………………………………………………… 124

n

3.7.5 任务及函数的使用 ………………………………………………… 125

n

3.8 模块化设计基础———加减法计数器 ………………………………………… 129

n

3.8.1 模块功能划分 …………………………………………………………… 129

n

3.8.2 模块功能设计 …………………………………………………………… 129

n

3.8.3 仿真及板级验证 ………………………………………………………… 132

n

3.9 8位7段数码管驱动设计与验证 …………………………………………… 134

n

3.9.1 数码管驱动原理 ………………………………………………………… 134

n

3.9.2 三线制数码管电路设计 ………………………………………………… 137

n

3.9.3 数码管动态扫描驱动设计 ……………………………………………… 138

n

3.9.4 ISSP生成及使用 ………………………………………………………… 145

n

3.9.5 板级调试与验证 ………………………………………………………… 149

n

3.9.6 QuartusⅡ中ISSP的使用方法 ………………………………………… 152

n

3.10 串口发送模块设计与验证 …………………………………………………… 153

n

3.10.1 异步串行通信原理及电路设计 ………………………………………… 154

n

3.10.2 UART异步串行通信发送模块设计与实现…………………………… 157

n

3.10.3 激励创建及仿真测试 …………………………………………………… 162

n

3.10.4 按键控制串口发送设计 ………………………………………………… 163

n

3.11 串口接收模块的设计与验证 ………………………………………………… 165

n

3.11.1 串口接收原理分析 ……………………………………………………… 166

n

3.11.2 UART异步串行通信接收模块设计与实现…………………………… 167

n

3.11.3 仿真及板级验证 ………………………………………………………… 171

n

第4章 FPGA片上专用资源使用 …………………………………………………… 176

n

4.1 嵌入式RAM 的使用———双端口RAM …………………………………… 176

n

4.1.1 CycloneⅣ体系结构及嵌入式存储器原理 ……………………………… 176

n

4.1.2 IP核使用———dpram …………………………………………………… 178

n

4.1.3 激励创建及仿真测试 …………………………………………………… 182

n

4.2 搭建串口收发与双口RAM 存储的简易应用系统 ………………………… 185

n

4.2.1 系统模块功能划分及接口设计 ………………………………………… 185

n

4.2.2 顶层文件设计 …………………………………………………………… 185

n

4.2.3 控制模块设计 …………………………………………………………… 186

n

4.2.4 仿真及板级验证 ………………………………………………………… 187

n

4.3 嵌入式RAM 的使用———ROM ……………………………………………… 190

n

4.3.1 IP核使用———ROM ……………………………………………………… 191

n

4.3.2 激励创建及仿真测试 …………………………………………………… 193

n

4.3.3 SignaTapⅡ使用及板级验证 …………………………………………… 195

n

4.4 嵌入式块RAM 的使用———FIFO …………………………………………… 201

n

4.4.1 FIFO的相关知识 ………………………………………………………… 202

n

4.4.2 IP核的使用———FIFO…………………………………………………… 204

n

4.5 PLL锁相环介绍与简单应用 ………………………………………………… 213

n

4.5.1 PLL相关知识 …………………………………………………………… 213

n

4.5.2 IP核使用———PLL ……………………………………………………… 215

n

4.5.3 仿真及板级验证 ………………………………………………………… 219

n

第5章 FPGA进阶数字逻辑设计 …………………………………………………… 223

n

5.1 无源蜂鸣器驱动设计与验证 ………………………………………………… 223

n

5.1.1 无源蜂鸣器电路设计 …………………………………………………… 223

n

5.1.2 无源蜂鸣器驱动原理 …………………………………………………… 224

n

5.1.3 PWM 发生器模块设计…………………………………………………… 225

n

5.1.4 仿真及板级验证 ………………………………………………………… 227

n

5.2 线性序列机与串行接口DAC驱动设计与验证……………………………… 232

n

5.2.1 DAC芯片概述及电路设计 ……………………………………………… 232

n

5.2.2 TLV5618型DAC芯片输出电压计算原理 …………………………… 234

n

5.2.3 TLV5618型DAC接口时序 …………………………………………… 235

n

5.2.4 线性序列机设计思想与接口时序设计 ………………………………… 236

n

5.2.5 基于线性序列机的DAC驱动设计 ……………………………………… 238

n

5.2.6 仿真及板级测试 ………………………………………………………… 241

n

5.3 线性序列机与串行接口ADC驱动设计与验证……………………………… 243

n

5.3.1 ADC芯片概述及电路设计 ……………………………………………… 244

n

5.3.2 ADC128S022型ADC接口时序 ………………………………………… 245

n

5.3.3 ADC128S022接口时序设计 …………………………………………… 247

n

5.3.4 基于线性序列机的ADC驱动设计 ……………………………………… 249

n

5.3.5 仿真及板级测试 ………………………………………………………… 252

n

5.4 HT6221红外遥控解码设计与验证 ………………………………………… 257

n

5.4.1 红外遥控系统组成及电路设计 ………………………………………… 257

n

5.4.2 红外遥控协议分析(NEC协议)………………………………………… 258

n

5.4.3 红外解码模块设计 ……………………………………………………… 260

n

5.4.4 仿真及板级验证 ………………………………………………………… 265

n

5.5 TFT显示屏驱动设计与验证 ………………………………………………… 267

n

5.5.1 TFT触摸屏驱动电路设计 ……………………………………………… 268

n

5.5.2 RGB接口TFT屏扫描方式……………………………………………… 270

n

5.5.3 RGB接口TFT屏时序分析……………………………………………… 271

n

5.5.4 RGB接口TFT屏驱动设计……………………………………………… 272

n

5.5.5 仿真及板级验证 ………………………………………………………… 275

n

第6章 FPGA综合数字系统设计 …………………………………………………… 280

n

6.1 八通道数字电压表 …………………………………………………………… 280

n

6.1.1 数字电压表功能划分 …………………………………………………… 280

n

6.1.2 按键输入模块 …………………………………………………………… 281

n

6.1.3 通道选择模块 …………………………………………………………… 281

n

6.1.4 ADC控制模块———ADC128S022 ……………………………………… 282

n

6.1.5 数据预处理模块 ………………………………………………………… 282

n

6.1.6 码制转换模块 …………………………………………………………… 284

n

6.1.7 数码管驱动模块 ………………………………………………………… 287

n

6.1.8 顶层设计 ………………………………………………………………… 288

n

6.1.9 基于查找表的数据电压换算 …………………………………………… 289

n

6.2 双通道幅频相可调DDS信号发生器 ………………………………………… 292

n

6.2.1 DDS原理与实现 ………………………………………………………… 293

n

6.2.2 数/模转换器(DAC)驱动模块设计 ……………………………………… 299

n

6.2.3 串口命令接收与解析 ……………………………………………………303

n

6.2.4 信号发生器顶层设计 …………………………………………………… 315

n

6.2.5 系统测试 ………………………………………………………………… 316

n

6.3 串口读/写EEPROM ………………………………………………………… 317

n

6.3.1 I2C基本概念 ……………………………………………………………… 317

n

6.3.2 I2C协议时序介绍 ………………………………………………………… 318

n

6.3.3 I2C器件地址 ……………………………………………………………… 319

n

6.3.4 I2C存储器地址 …………………………………………………………… 320

n

6.3.5 I2C写时序 ………………………………………………………………… 321

n

6.3.6 I2C单字节读时序 ………………………………………………………… 323

n

6.3.7 I2C读/写器件控制器设计 ……………………………………………… 325

n

6.3.8 I2C控制器仿真验证 ……………………………………………………… 335

n

6.3.9 串口读/写EEPROM 系统设计 ………………………………………… 341

n

6.3.10 串口读/写 EEPROM 仿真验证 ……………………………………… 351

n

6.3.11 串口读/写EEPROM 板级验证 ……………………………………… 355

n

6.4 基于串口猎人的虚拟示波器 ………………………………………………… 359

n

6.4.1 系统结构 ………………………………………………………………… 359

n

6.4.2 模块详解 ………………………………………………………………… 361

n

6.4.3 仿真验证 ………………………………………………………………… 375

n

6.4.4 基于串口猎人的板级验证 ……………………………………………… 385

n

6.5 SDRAM 控制器设计 ………………………………………………………… 391

n

6.5.1 SDRAM 基本概念………………………………………………………… 391

n

6.5.2 SDRAM 存取原理………………………………………………………… 392

n

6.5.3 SDRAM 器件引脚说明…………………………………………………… 394

n

6.5.4 SDRAM 特性 …………………………………………………………… 395

n

6.5.5 SDRAM 操作命令介绍…………………………………………………… 396

n

6.5.6 SDRAM 操作时序………………………………………………………… 403

n

6.5.7 SDRAM 控制器设计……………………………………………………… 418

n

6.5.8 SDRAM 控制器仿真验证………………………………………………… 425

n

6.5.9 SDRAM 控制器设计优化………………………………………………… 430

n

6.5.10 优化控制器仿真验证 ……………………………………………………436

n

6.6 串口传图帧缓存设计 ………………………………………………………… 440

n

6.6.1 系统结构 ………………………………………………………………… 440

n

6.6.2 仿真验证 ………………………………………………………………… 446

n

6.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