新書推薦:
《
《日本文学史序说》讲演录
》
售價:NT$
332.0
《
无尽的海洋:美国海事探险与大众文化(1815—1860)
》
售價:NT$
454.0
《
治盗之道:清代盗律的古今之辨
》
售價:NT$
556.0
《
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
》
售價:NT$
959.0
《
甲骨文丛书·中华早期帝国:秦汉史的重估
》
售價:NT$
1367.0
《
欲望与家庭小说
》
售價:NT$
449.0
《
惜华年(全两册)
》
售價:NT$
320.0
《
甲骨文丛书·古代中国的军事文化
》
售價:NT$
454.0
|
編輯推薦: |
1,本书基于Intel Cyclone IV的野火征途系列FPGA开发板,由野火专家结合实战案例详解FPGA逻辑设计方法与开发实战,配有大量实验例程,并提供案例源代码。
2,本书内容翔实、由浅入深、案例丰富,适合FPGA逻辑设计与开发工程师的入门学习参考,也可供高校电子信息、自动控制等相关专业学生学习参考。
读者可到野火论坛(www.fireBBS.cn)下载本书配套的FPGA视频教程、电子版教程及后续例程的更新。
|
內容簡介: |
本书包括32个章节,按照先易后难的顺序进行讲解,分为硬件说明篇、软件安装篇、基础入门篇和学习强化篇四大板块。从基础的硬件介绍、软件安装到基本电路开发,手把手教学。考虑到大多数学习者为FPGA初学者,所以本书把操作中的每个步骤都尽可能详细的介绍和描述,并附上大量的截图以供学习者实操参考。
|
目錄:
|
前言硬件说明篇第1章 初识FPGA21.1 FPGA是什么21.1.1 名词解释21.1.2 FPGA发展历程21.2 FPGA的技术优势71.3 FPGA的应用方向9第2章 硬件开发平台详解152.1 开发板简介152.2 国内外FPGA产业现状192.3 选择Cyclone IV的理由202.4 Cyclone系列FPGA芯片的命名方法232.5 FPGA内部硬件结构简介242.6 FPGA内部硬件结构与代码的关系332.6.1 IO的映射342.6.2 组合逻辑映射432.6.3 时序逻辑映射452.6.4 指定PLL的映射位置56软件安装篇第3章 Quartus软件和USB-Blaster驱动安装663.1 Quartus II_13.0软件的安装663.2 添加器件库723.3 USB-Blaster驱动器的安装76第4章 ModelSim软件安装80第5章 Visio和Notepad++软件安装875.1 Visio软件的安装875.2 Notepad++软件的安装93第6章 实现Quartus和ModelSim、Notepad++软件关联996.1 Quartus II_13.0和ModelSim_10.5se软件的关联996.2 Quartus II_13.0和Notepad++软件的关联101基础入门篇第7章 初识Verilog HDL1067.1 为什么选择用Verilog HDL开发FPGA1067.1.1 Verilog HDL和VHDL的比较1067.1.2 Verilog HDL和C语言的比较1077.2 Verilog HDL语言的基础语法1077.2.1 标识符1077.2.2 逻辑值1087.2.3 常量1087.2.4 变量1097.2.5 参数1097.2.6 赋值语句1107.2.7 注释1107.2.8 关系运算符1117.2.9 归约运算符、按位运算符和逻辑运算符1117.2.10 移位运算符1127.2.11 条件运算符1127.2.12 优先级1127.2.13 位拼接运算符1137.2.14 if-else与case1137.2.15 inout双向端口1157.2.16 Verilog语言中的系统任务和系统函数1167.3 章末总结123第8章 点亮LED灯1248.1 正确的设计流程1248.2 工程文件夹的管理1248.3 一个完整的设计过程1268.3.1 功能简介1268.3.2 硬件资源1268.3.3 新建一个Visio文件及其配置1278.3.4 模块和端口信号划分1308.3.5 波形设计1318.3.6 新建工程1338.3.7 RTL代码的编写1408.3.8 代码的分析和综合1438.3.9 查看RTL视图1448.3.10 Testbench的原理1458.3.11 Testbench代码的编写1478.3.12 仿真设置1518.3.13 设置NativeLink1538.3.14 打开ModelSim观察波形1558.3.15 仿真波形分析1628.3.16 引脚约束1628.3.17 全编译1658.3.18 通过JTAG将网表下载到开发板1688.3.19 未使用引脚的默认设置1728.3.20 程序的固化1748.4 章末总结185第9章 简单组合逻辑1869.1 理论学习1869.1.1 多路选择器1869.1.2 译码器1869.1.3 半加器1879.2 实战演练—多路选择器1879.2.1 实验目标1879.2.2 硬件资源1879.2.3 程序设计1889.3 实战演练—译码器1989.3.1 实验目标1989.3.2 程序设计1989.4 实战演练—半加器2059.4.1 实验目标2059.4.2 硬件资源2059.4.3 程序设计2069.5 章末总结211第10章 层次化设计21310.1 理论学习21310.2 实战演练21510.2.1 实验目标21510.2.2 硬件资源21510.2.3 程序设计21510.3 章末总结225第11章 避免Latch的产生22611.1 Latch是什么22611.2 Latch的危害22611.3 几种产生Latch的情况22611.4 章末总结232第12章 时序逻辑的开始——寄存器23412.1 理论学习23412.2 实战演练23412.2.1 实验目标23412.2.2 硬件资源23512.2.3 程序设计23612.3 章末总结243第13章 阻塞赋值与非阻塞赋值24513.1 理论学习24513.2 阻塞赋值24613.3 非阻塞赋值24813.4 章末总结251第14章 计数器25214.1 理论学习25214.2 实战演练25214.2.1 实验目标25214.2.2 硬件资源25214.2.3 程序设计25314.3 章末总结262第15章 分频器26315.1 理论学习26315.2 实战演练一26315.2.1 实验目标26315.2.2 硬件资源26415.2.3 程序设计26415.3 实战演练二27015.3.1 实验目标27015.3.2 硬件资源27115.3.3 程序设计27115.4 章末总结278第16章 按键消抖模块的设计与验证27916.1 理论学习27916.1.1 硬件消抖28016.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信号发生器和电压表设计思想和方法的同时,对ADDA的相关知识也会有全面的了解;第26~28章通过诸多实例对VGA、HDMI、TFT-LCD的相关知识做了系统性的讲解;第29章和第30章讲解并实现了基于Sobel算法的边缘检测;此部分最重要的是第21、31和32章,在这3章中,我们从多个实例入手,对RS-232、SPI以及I2C通信协议做了非常系统的讲解。希望初学者能够按照本书的编写顺序,循序渐进地进行FPGA的学习,切莫好高骛远、眼高手低。学完本书后,希望你能掌握正确、
|
|