套装2册:
基本信息
书名:FPGA自学笔记—设计与验证
:69.00元
作者:梅雪松,袁玉卓,曾凯锋
出版社:北京航空航天大学出版社
出版日期:2017-08-01
ISBN:9787512424746
字数:
页码:454
版次:1
装帧:平装
开本:16开
商品重量:0.4kg
编辑推荐
FPGA自学笔记—设计与验证
n这本书打破了重实验现象,轻仿真验证的学习误区,书中每一个实验,无论是zui基础的点亮 LED灯,还是综合的多模块数字系统设计,以及复杂的 SDRAM 控制器设计,都严格按照“设计+验证”的流程进行。 同时,本书由浅入深,全流程的讲解;先,通过知识背景的介绍,讲解设计中需要注意的问题;接着,一步一步地根据设计需求完成设计中的每一个部分;然后,编写Testbench文件,使用 ModelSim 软件对设计进行仿真验证;zui后,仿真验证通过后,再配置到 FPGA 器件中运行,如果板级运行不正确,则再回到仿真波形中查找可能的错误原因,在必要时使用板级验证工具如Signaltap Ⅱ进行板级调试。本书对于不同水平的技术人员,都是一本不错的自学和参考用书。
n内容提要
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目录
第1章 从头认识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章 FPG上专用资源使用 …………………………………………………… 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设计——基于大道至简的至简设计法
:45.00元
作者:潘文明,易文兵
出版社:北京航空航天大学出版社
出版日期:2017-05-01
ISBN:9787512424012
字数:
页码:
版次:1
装帧:平装
开本:16开
商品重量:0.4kg
编辑推荐
内容提要
手把手教你学FPGA设计——基于大道至简的至简设计法
n本书介绍利用硬件描述语言(VerilogHDL)设计数字系统的方法,提出计数器、状态机、FIFO的三大架构,采用理论与实践相结合的方式,详细介绍各个架构的实现步骤———“八步法”,并配以相应的项目练习。在书的后半部分,介绍模块划分的基本方法,总结并提出了模块间的交互架构,在项目实践中给出了温度监控系统、边缘检测系统等综合性项目的模式。本书可作为高等院校电子工程类、自动控制类、计算机类等专业的教材,亦可供FPGA相关行业的爱好者和从业人员自学与参考。
作为一个有几年FPGA开发经验的老兵,我一直对市面上的一些FPGA书籍感到有些审美疲劳。很多书都停留在理论堆砌,或者照搬器件厂商的例程,缺乏对工程实践的深入探讨。然而,“FPGA自学笔记—设计与验证”这个书名,让我看到了不一样的希望。它强调“自学笔记”,暗示了作者在总结自身学习和实践过程中的经验教训,这种接地气的分享往往更有价值。而“设计与验证”的组合,更是抓住了FPGA开发的精髓。我特别关心书中的验证部分,因为在我看来,充分而有效的验证是确保设计可靠性的关键。 我希望这本书能够提供一些实用的验证策略和方法,不仅仅是简单的功能仿真,更能触及到一些高级的验证技术,比如约束驱动验证、覆盖率分析等。同时,“大道至简的至简设计法”这个概念也引起了我的兴趣。在实际项目中,我们经常会遇到各种复杂的需求,如果能有一种设计哲学,帮助我们剥离不必要的复杂性,聚焦核心功能,那将极大地提高开发效率和设计质量。我期待这本书能提供一些切实可行的“至简”实践,比如如何进行模块化设计,如何优化代码结构,以及如何避免一些常见的“过度设计”陷阱。希望它能让我从一个“能用”的设计者,进阶到一个“精巧”的设计者。
评分我对FPGA技术一直抱有浓厚的兴趣,但苦于没有系统学习的途径。市面上的书籍良莠不齐,有些过于学术化,有些又过于 superficial。当我看到“FPGA自学笔记—设计与验证”这个书名时,眼前一亮。它传递出一种“亲民”的信号,仿佛是作者在用一种轻松、自然的方式,分享他学习FPGA的点点滴滴。我希望这本书能够用最直观、最生动的方式,把我从零开始带入FPGA的世界。 我期待书中能够详细介绍FPGA的开发流程,从硬件描述语言(如Verilog或VHDL)的基础语法,到如何利用开发板进行实际的硬件实现。最关键的是,我希望“设计与验证”这两部分能够有机结合,而不是割裂开来。例如,在讲解设计的时候,就能穿插相关的验证思路,这样我能更好地理解设计的意图和潜在的风险。而“大道至简的至简设计法”这个特别的副标题,让我充满了好奇。我希望它不是一个空洞的口号,而是能真正渗透到书中的设计案例和方法论里,教我如何用最简洁、最本质的方式去解决问题,避免不必要的复杂化。总而言之,我希望通过这本书,能够真正掌握FPGA的设计和验证技能,并且培养出良好的工程思维。
评分作为一名有一定FPGA开发经验的从业者,我一直在寻找能够帮助我提升设计思维和工程能力的读物。“FPGA自学笔记—设计与验证”这个书名,恰好击中了我的痛点。我常常觉得自己的设计能力停滞不前,缺乏一种系统性的方法论来指导我的工作。“自学笔记”的提法,意味着这本书可能包含了很多作者在实践中总结出来的、非教科书式的宝贵经验,这对我来说尤为珍贵。更重要的是,“设计与验证”的组合,表明这本书将全面涵盖FPGA开发的关键环节。 我尤其看重书中在“验证”方面的阐述。在我看来,一个高效的验证流程能够极大地缩短开发周期,并显著提高设计的质量和可靠性。我希望能在这本书中看到一些关于如何构建有效的验证环境、如何设计更具代表性的测试用例、以及如何利用仿真工具进行深入分析的技巧。而“大道至简的至简设计法”这个概念,则让我联想到在复杂的FPGA项目中,如何通过化繁为简的设计哲学来提高代码的可读性、可维护性和性能。我期待这本书能提供一些创新的设计理念和实践方法,帮助我打破思维定势,以更优雅、更高效的方式解决实际工程问题,从而在FPGA设计的道路上更进一步。
评分这套书简直是FPGA小白的救星!我一直对FPGA充满好奇,但又觉得入门门槛很高,各种概念和语言都像天书一样。看到这套书的名字,感觉就是为我量身定做的。“自学笔记”听起来就很亲切,像是经验丰富的前辈在分享心得,而不是生硬的教科书。“设计与验证”也点出了FPGA开发的两大核心环节,让我知道这本书会循序渐进地带我掌握整个流程。 我最看重的是它的“手把手教你学”这一点。这意味着书中的讲解会非常细致,从最基础的电路原理讲到具体的代码实现,再到最后的仿真调试,应该都会一步一步地演示。我希望它能有大量的实例,并且代码风格清晰易懂,最好还能配上一些图示,帮助我理解抽象的概念。对于“大道至简的至简设计法”,我充满了期待。我一直认为,复杂的问题往往有简单的解决方案,如果这本书能教会我如何用最简洁、最优雅的方式去设计FPGA,那简直太棒了。我希望它能提倡一种“少即是多”的设计理念,避免过度设计,让代码更容易维护和理解。总的来说,我希望这套书能让我从完全不懂FPGA,到能够独立完成一些基础的设计项目,并且建立起扎实的FPGA工程能力。
评分我是一名在校大学生,目前正在学习数字逻辑和微电子相关课程。FPGA作为实现这些理论知识的强大工具,对我来说具有极大的吸引力。然而,课堂上的教学内容往往比较理论化,缺乏实践的深度,而我迫切希望能够通过实际操作来加深理解。看到“FPGA自学笔记—设计与验证”这本书,我的第一反应就是它非常适合我这种希望自己动手、独立探索的学生。“自学笔记”的形式让我觉得非常亲切,仿佛是一位学长或学姐在毫无保留地分享他们的学习心得和踩过的坑,这对于初学者来说,能够少走很多弯路。 我特别关注书中的“设计与验证”这部分。我知道FPGA设计不仅仅是写代码,更重要的是如何确保设计的正确性。我希望这本书能详细讲解从RTL代码编写到综合、布局布线,再到仿真的整个流程,并且在仿真验证方面提供一些入门级的指导。例如,如何编写testbench,如何理解仿真波形,以及如何定位和修复bug。至于“大道至简的至简设计法”,我虽然不太明白具体是什么,但“至简”两个字听起来就非常吸引人。我希望这本书能用最容易理解的方式,把我带入FPGA设计的世界,让我能够通过这本书,掌握FPGA设计和验证的基本技能,为我未来的学习和项目打下坚实的基础。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有