FPGAVerilog开发实战指南:基于IntelCycloneIV(基础篇)pdf下载pdf下载

FPGAVerilog开发实战指南:基于IntelCycloneIV(基础篇)百度网盘pdf下载

作者:
简介:本篇主要提供FPGAVerilog开发实战指南:基于IntelCycloneIV(基础篇)pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2021-03
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐

适读人群 :适合入门学习FPGA逻辑设计与开发的工程师参考阅读,也可供高校电子信息、自动控制等相关专业学生学习参考
1,本书基于Intel Cyclone IV的野火征途系列FPGA开发板,由野火专家结合实战案例详解FPGA逻辑设计方法与开发实战,配有大量实验例程,并提供案例源代码。
2,本书内容翔实、由浅入深、案例丰富,适合FPGA逻辑设计与开发工程师的入门学习参考,也可供高校电子信息、自动控制等相关专业学生学习参考。
读者可到野火论坛(www fireBBS cn)下载本书配套的FPGA视频教程、电子版教程及后续例程的更新。

内容简介

本书包括32个章节,按照先易后难的顺序进行讲解,分为硬件说明篇、软件安装篇、基础入门篇和学习强化篇四大板块。从基础的硬件介绍、软件安装到基本电路开发,手把手教学。考虑到大多数学习者为FPGA初学者,所以本书把操作中的每个步骤都尽可能详细的介绍和描述,并附上大量的截图以供学习者实操参考。

目录

前言 硬件说明篇 第1章 初识FPGA 2 1 1 FPGA是什么 2 1 1 1 名词解释 2 1 1 2 FPGA发展历程 2 1 2 FPGA的技术优势 7 1 3 FPGA的应用方向 9 第2章 硬件开发平台详解 15 2 1 开发板简介 15 2 2 国内外FPGA产业现状 19 2 3 选择Cyclone IV的理由 20 2 4 Cyclone系列FPGA芯片的命名方法 23 2 5 FPGA内部硬件结构简介 24 2 6 FPGA内部硬件结构与代码的关系 33 2 6 1 I/O的映射 34 2 6 2 组合逻辑映射 43 2 6 3 时序逻辑映射 45 2 6 4 指定PLL的映射位置 56 软件安装篇 第3章 Quartus软件和USB-Blaster驱动安装 66 3 1 Quartus II_13 0软件的安装 66 3 2 添加器件库 72 3 3 USB-Blaster驱动器的安装 76 第4章 ModelSim软件安装 80 第5章 Visio和Notepad++软件安装 87 5 1 Visio软件的安装 87 5 2 Notepad++软件的安装 93 第6章 实现Quartus和ModelSim、Notepad++软件关联 99 6 1 Quartus II_13 0和ModelSim_10 5se软件的关联 99 6 2 Quartus II_13 0和Notepad++软件的关联 101 基础入门篇 第7章 初识Verilog HDL 106 7 1 为什么选择用Verilog HDL开发FPGA 106 7 1 1 Verilog HDL和VHDL的比较 106 7 1 2 Verilog HDL和C语言的比较 107 7 2 Verilog HDL语言的基础语法 107 7 2 1 标识符 107 7 2 2 逻辑值 108 7 2 3 常量 108 7 2 4 变量 109 7 2 5 参数 109 7 2 6 赋值语句 110 7 2 7 注释 110 7 2 8 关系运算符 111 7 2 9 归约运算符、按位运算符和逻辑运算符 111 7 2 10 移位运算符 112 7 2 11 条件运算符 112 7 2 12 优先级 112 7 2 13 位拼接运算符 113 7 2 14 if-else与case 113 7 2 15 inout双向端口 115 7 2 16 Verilog语言中的系统任务和系统函数 116 7 3 章末总结 123 第8章 点亮LED灯 124 8 1 正确的设计流程 124 8 2 工程文件夹的管理 124 8 3 一个完整的设计过程 126 8 3 1 功能简介 126 8 3 2 硬件资源 126 8 3 3 新建一个Visio文件及其配置 127 8 3 4 模块和端口信号划分 130 8 3 5 波形设计 131 8 3 6 新建工程 133 8 3 7 RTL代码的编写 140 8 3 8 代码的分析和综合 143 8 3 9 查看RTL视图 144 8 3 10 Testbench的原理 145 8 3 11 Testbench代码的编写 147 8 3 12 仿真设置 151 8 3 13 设置NativeLink 153 8 3 14 打开ModelSim观察波形 155 8 3 15 仿真波形分析 162 8 3 16 引脚约束 162 8 3 17 全编译 165 8 3 18 通过JTAG将网表下载到开发板 168 8 3 19 未使用引脚的默认设置 172 8 3 20 程序的固化 174 8 4 章末总结 185 第9章 简单组合逻辑 186 9 1 理论学习 186 9 1 1 多路选择器 186 9 1 2 译码器 186 9 1 3 半加器 187 9 2 实战演练—多路选择器 187 9 2 1 实验目标 187 9 2 2 硬件资源 187 9 2 3 程序设计 188 9 3 实战演练—译码器 198 9 3 1 实验目标 198 9 3 2 程序设计 198 9 4 实战演练—半加器 205 9 4 1 实验目标 205 9 4 2 硬件资源 205 9 4 3 程序设计 206 9 5 章末总结 211 第10章 层次化设计 213 10 1 理论学习 213 10 2 实战演练 215 10 2 1 实验目标 215 10 2 2 硬件资源 215 10 2 3 程序设计 215 10 3 章末总结 225 第11章 避免Latch的产生 226 11 1 Latch是什么 226 11 2 Latch的危害 226 11 3 几种产生Latch的情况 226 11 4 章末总结 232 第12章 时序逻辑的开始——寄存器 234 12 1 理论学习 234 12 2 实战演练 234 12 2 1 实验目标 234 12 2 2 硬件资源 235 12 2 3 程序设计 236 12 3 章末总结 243 第13章 阻塞赋值与非阻塞赋值 245 13 1 理论学习 245 13 2 阻塞赋值 246 13 3 非阻塞赋值 248 13 4 章末总结 251 第14章 计数器 252 14 1 理论学习 252 14 2 实战演练 252 14 2 1 实验目标 252 14 2 2 硬件资源 252 14 2 3 程序设计 253 14 3 章末总结 262 第15章 分频器 263 15 1 理论学习 263 15 2 实战演练一 263 15 2 1 实验目标 263 15 2 2 硬件资源 264 15 2 3 程序设计 264 15 3 实战演练二 270 15 3 1 实验目标 270 15 3 2 硬件资源 271 15 3 3 程序设计 271 15 4 章末总结 278 第16章 按键消抖模块的设计与验证 279 16 1 理论学习 279 16 1 1 硬件消抖 280 16 1

前言/序言

一、编写目的
随着社会的发展和科技的进步,普通电子技术和微电子领域的景象也日新月异,FPGA(Field Programmable Gate Array,现场可编程门阵列)越来越被人们所熟知,生产生活中人们对FPGA的需求不断增加。近年来,FPGA在人工智能、机器学习的浪潮中又火了一把。得益于IC(集成电路)技术和生产工艺的进步,更大规模集成度的FPGA得以实现,一枚小小的FPGA在融合了可编程逻辑单元、ARM硬核、MPU等异构多核处理单元后,功能越来越强大。
基于此,很多人纷纷加入学习FPGA的行列。当前许多高校在电子领域相关专业都会开设EDA相关课程,这无疑为大家学习FPGA拓宽了道路,但是又有多少同学真正学会了该工具的使用方法呢?
我们不禁要问:导致这一状况的原因是什么?首先,学校的课程安排在时间上是有限制的,学生没有足够的时间去思考、练习,这样就很难巩固知识、提高水平;其次,课本中大多是关于理论知识的讲解,很难培养学生的学习兴趣,没有兴趣爱好作为动力和支撑,在学习FPGA的道路上很难坚持下去;再次,学校的教学内容和最新的工程应用存在差距,学生所学的代码往往也不是按照最新的工程应用标准规范来编写的,而是沿袭了旧的甚至是错误的方法。笔者见过很多FPGA工程和代码,但在这些工程和代码中,有的要么是使用传统原理图的设计方法,要么是直接嫁接、搬移各种思想,要么是两者的任意结合,这无疑是一件十分悲哀的事情。
上述诸多因素导致了一种严重的情况,那就是学生学习课程后,不会使用FPGA这个强大的工具来解决诸多实际问题。虽然很多高校极力推进教学模式的改革,但想要改变这种局面,还是有很长的路要走。
面对这一现状,不少圈内人却早已发现了商机,林林总总的FPGA培训班和各种视频、教程层出不穷。培训班的出现的确解决了一部分高校教育和社会工程应用脱节的问题,但也耗费了学生大量的时间和金钱。
特别是近年来,随着FPGA的崛起,市面上关于FPGA的资料越来越多,但这些资料大多存在着各种各样的问题,比如内容不系统、重点不突出、方法不详细,没有详细介绍编写代码的思想方法,或者作者并没有站在学习者的角度上来编写,使学习者无法真正地掌握各种方法。我们见过不少学了很久FPGA的同学依然停留在只会移植、修改别人代码的入门阶段,甚至连一个串口回环都无法独立完成,这并不是我们想要的结果。
所以我们要做的就是尽最大努力,站在初学者的角度上,从最基础的内容开始逐步深入地讲解FPGA,并希望把FPGA最核心的东西—设计方法和思想传递给学习者,使学习者可以独立编写优秀、规范的Verilog代码。
二、本书内容体系
本书共32章,包含硬件说明篇、软件安装篇、基础入门篇和学习强化篇,按照先易后难、由浅入深的顺序进行讲解。从最基础的软件安装和软件操作开始,手把手教学。考虑到大多数学习者为FPGA初学者,所以书中对操作中的每个步骤都尽可能详细地进行了描述,并附上大量的截图以供学习者参考,具体内容介绍如下。
硬件说明篇:包括第1~2章。第1章主要介绍FPGA的相关知识,包括FPGA简介、FPGA的技术优势及应用方向等内容;第2章主要对本书各实验中所用的开发板“征途Pro”的硬件资源做了系统性介绍,并以“征途Pro”开发板主控芯片为例,对FPGA的内部结构和资源做了简介。
软件安装篇:包括第3~6章,主要是对FPGA开发软件Quartus II、ModelSim、Notepad++、Visio的安装,以及Quartus软件与ModelSim、Notepad++的关联方法做了详细介绍。
基础入门篇:包括第7~20章,在这一部分我们才真正开始学习FPGA。第7章对FPGA编程语言Verilog HDL做了系统性的讲解;第8章通过“点亮LED灯”的实验工程,详细说明了FPGA的完整的、正确的设计流程;第9章和第12章使用若干实例对FPGA中的常用组合逻辑、时序逻辑做了介绍;在第10、11、13章中,我们介绍了层次化设计的设计思想,说明了避免Latch产生的具体方法,并对阻塞赋值和非阻塞赋值的概念做了详细讲解;在第14~19章中,我们由浅入深地引入了若干个开发例程,帮助读者掌握计数器、分频器、状态机等的使用,并实现了开发板部分外设的驱动控制;在第20章中,我们介绍了FPGA快速开发的法宝—IP核,并通过实例对常用的PLL、FIFO、RAM、ROM这 4种IP核的调用及参数配置做了解释说明。
学习强化篇:包括第21~32章,在这一部分我们引入了诸多工程实例供读者学习。第22章介绍了如何使用SignalTap II嵌入式逻辑分析仪对实验工程进行在线调试;第23章介绍等精度频率计的设计思想和实现方法;学习完第24章和第25章,读者在掌握DDS信号发生器和电压表设计思想和方法的同时,对AD/DA的相关知识也会有全面的了解;第26~28章通过诸多实例对VGA、HDMI、TFT-LCD的相关知识做了系统性的讲解;第29章和第30章讲解并实现了基于Sobel算法的边缘检测;此部分最重要的是第21、31和32章,在这3章中,我们从多个实例入手,对RS-232、SPI以及I2C通信协议做了非常系统的讲解。
希望初学者能够按照本书的编写顺序,循序渐进地进行FPGA的学习,切莫好高骛远、眼高手低。学完本书后,希望你能掌握正确、