FPGA学习】的更多相关文章

01.特权同学倾情奉献海量FPGA学习资料 http://pan.baidu.com/s/1pJIb32F…
如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA   基础知识       FPGA已成为现今的技术热点之一,无论学生还是工程师都希望跨进FPGA的大门.网络上各种开发板.培训班更是多如牛毛,仿佛在告诉你不懂FPGA你就OUT啦.那么我们要玩转FPGA必须具备哪些基础知识呢?下面我们慢慢道来. (一) 要了解什么是FPGA 既然要玩转FPGA,那我们首先最重要的当然是要了解什么FPGA.FPGA(Field-Programmabl…
芯航线FPGA学习套件之4*4矩阵键盘模块测试手册   本手册以简明扼要的方式介绍芯航线FPGA学习套件提供的矩阵键盘模块的测试方法:   连接开发板,如下所示: 2.将矩阵键盘模块与开发板按如下图所示连接: 具体连接线序,可参看下图: 打开测试工程NEW_Key_Board,如下图所示: 烧写NEW_Key_Board.sof文件到开发板中 按下任意按键,核对当前按键值与LED灯状态是否一致,下图所示: 上图,按下按键A,LED[0:3]对应状态为亮灭亮灭,因为0使能LED亮,1关闭LED灯,…
芯航线FPGA学习套件之多通道串行ADDA模块测试手册   本手册以简明扼要的方式介绍芯航线FPGA学习套件提供的ADDA模块的测试方法:   连接开发板,如下所示: 2.将ADDA V1.1模块与开发板按如下图所示连接: 打开测试工程DA_AD_v1.1,如下图所示: 烧写DA_AD.sof文件到开发板中   打开SignalTap II 文件,如下图所示: 运行SignalTap II,观察窗口中波形:   如果整个波形能够如上图,即1544和5620的两路数据都呈正弦波,则表明ADDA模块…
如何学习FPGA中提到第一步:学习.了解FPGA结构,FPGA到底是什么东西,芯片里面有什么,不要开始就拿个开发板照着别人的东西去编程.既然要开始学习FPGA,那么就应该从其基本结构开始.以下内容是我学习过程中的整理的一些东西.主要来自:Xilinx中文网站,博客LAY Trust Jesus,博文FPGA学习笔记 ,博文FPGA基本结构 1.可编程逻辑器件 从PLD的发展历程来看,按照结构区分,前后共有4种可编程逻辑器件类型:PLA.PAL.CPLD和FPGA.PLA——PAL——CPLD是继…
古语云:知己知彼,百战不殆.那么既然选择了FPGA之路,欲练此功,必先-- 必先了解清楚,FPGA的特点,FPGA善于/不善于解决什么类型问题,以及FPGA应用的方向,FPGA学习的要素等等. 一.FPGA的特点 理论上,通用MCU/CPU和数字ASIC能够做的事,FPGA都能做,甚至可以利用FPGA内部资源实现一个CPU,也即是通常所说"软核".但这几个既然能够共存,实际上都有各自适合和不适合的领域.CPU/MCU为通用任务设计,能够胜任大量常规的控制.计算任务,但是对一些特殊的任务…
###### [该随笔部分内容转载自小梅哥]       ######### 一.FPGA学习路线 工具使用 -> 语法学习 -> 逻辑设计 -> IP使用 ->接口设计 -> 时序分析 -> 片上系统 1.工具使用 Altera:Quartus II Xlinx: Vivado 2.语法学习 Verilog HDL(FPGA设计的是电路) 3. 逻辑设计 组合逻辑:多路选择器.加法器.译码器.乘法器 ······· 时序逻辑:计数器.分频器.移位寄存器.定时器 ···…
1.  OPENCORES.ORG这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到.进入后,选择project或者由 http//www.opencores.org/browse.cgi/by_category进入.对于想了解这个行业动态人可以看看它的投票调查.http://www.opencores.org/polls.cgi/listOpenCores is a loose collection of people who are interested in develop…
转载自网络,作者不详. 我常年担任多个有关FPGA学习研讨的QQ群管理员,长期以来很多新入群的菜鸟们总是在重复的问一些非常简单但是又让新手困惑不解的问题.作为管理员经常要给这些菜鸟们普及基础知识,但是非常不幸的是很多菜鸟怀着一种浮躁的心态来学习FPGA,总是急于求成.再加上国内大量有关FPGA的垃圾教材的误导,所以很多菜鸟始终无法入门.为什么大量的人会觉得FPGA难学?作为著名FPGA提供商Altera授权的金牌培训师,本管理员决心开贴来详细讲一下菜鸟觉得FPGA难学的几大原因. 1.不熟悉FP…
我是安徽工程大学电子信息科学与技术专业的学生刘美花,在v3学院的培训结束了,这十几天的培训对我来说还是挺有意义的,不过中间也有一些波折.还记得刚开始的时候和老师还有各个学校的学生不太熟,心中有诸多不满,(可能是因为我对fpga没有太高的热情吧)不过想着既来之,则安之,不能半途而废,总要学点东西回去,所以来后两三天我都在努力和老师还有身边同学熟络起来,遇到难题或者不懂的积极问老师,老师每一次的耐心解答,都激励了我学习fpga的热情.而且老师说现在fpga很受欢迎,很多公司都需要掌握FPGA技术的人…
概要 由于VHDL编程实现数字电路具有很高的灵活性,为多种不同的思路编写实现同一种功能提供了可能.这些不同的设计思路,在耗费资源,可靠性,速度上也有很大的差异,往往需要我们根据实际需求和资源条件选择适合的设计思路. 正文 本文以十进制1k计数器作为例子,阐述不同的思路最终形成的数字电路的差异性.该十进制的需求输入输出信号如图 作为硬件设计的初学者,可能还会利用软件设计的思路来编写VHDL代码.假设我们在一个高级语言(相对应机器语言)的环境下,实现一个这样的计数器对于程序员来说,最简单不过了.维护…
既然选择了远方,便不顾风雨兼程,一路走下去. —韩彬 在看bingo的书时,看到这样写到.做什么事情都不容易,学习也是,所以一个词很重要不忘初心.作为一名大二的学生,我很高兴能够将自己学习FPGA的过程记录下来,一是方便自己以后回头看的时候能够有所感触,而是想分享自己初学入门是的一些经验给予初学者,能尽量少走弯路. 我是大一暑假开始学习FPGA的,我是微电子专业,学校大三才开数电,大一的时候受老师推荐进了一个实验室,但是没有好好珍惜机会.最后便不退自出.大二学校FPGA创新实验室纳新,我非常想加…
高级的嵌入式市场主要分为以下三类:ARM.DSP 和 FPGA. 其中 ARM 是行业内的佼佼者,目前几乎所有的安卓智能手机都使用 ARM 授权的 CPU架构:而 DSP(数字信号处理器) 早年就被大面积的应用与电话.DVD.通讯基站等领域.DSP 与 ARM 的区别在于,ARM 是通用 CPU,DSP 则是专用 CPU.FPGA 则与他们不同,FPGA 的名称的由来是由于 FPGA 功能的成型是在实验室等通常工作环境下进行的:区别与专有集成电路 (ASIC)在晶圆工厂的制造,所以 FPGA 被…
讲到这篇时,组合逻辑就告一段落了,下面是一些总结: 描述组合逻辑时,always 语句中的敏感信号列表中需要列出全部的可能影响输出的变量 描述组合逻辑时,always 语句中的赋值总是使用阻塞赋值符号 = 组合逻辑是描述输入和输出关系的功能块,由于延时的原因,输出可能会有毛刺,为避免避免毛刺需要引入冗余逻辑. if..else case 语句只能用在 always 语句中,而且分支条件必须健全,否则会引入不必要的锁存器. 新的 SystemVerilog 语言中强化了 always 的功能:Sy…
在第 3 篇中讲到了如何使用图形进行仿真激励输入,图形输入法尽管简单易学,但如若要求复杂的仿真输入激励.较长的仿真时间或是要求打印输出信息乃至输出文件日志则显得不够用了. 本篇以上一篇的 3-8 译码器为基础,讲一下 Modelsim 仿真工具的使用方法.在 Modelsim 中不再提供图形的激励输入方法,取而代之的testbench 测试脚本.testbench 简称 tb,虽然名字听起来很专业,但掌握却没什么难度.tb 的语法与 verilog 高度类似:但由于 tb 脚本是在 PC 上运行…
关于 Quartus 的操作可以使用 Quartus 自带的帮助,帮助中带有全套的操作教程. 中文网络教程链接(链接至 altera中文官网,点击观看) Quartus II 软件设计系列:基础 Quartus II 软件中的原理图设计 SignalTap II 嵌入式逻辑分析器 使用 Nios II 处理器 系统控制台 Nios II 处理器开发软件:设计流程 Nios II 处理器开发软件:MMU 和 MPU 无论是英文帮助还是网络中文教程,他们的前提是 你是有基础的,这些教程之会教给你我们…
从大学就开始使用stm32,工作之后,仍然没有摆脱,从f1系列,到f4系列,然后又到L1系列,尽管可以满足工作需要,但还是希望可以摆脱束缚,尝试学习FPGA,希望能够遇到一个好机遇.…
做FPGA主要是要有电路的思想,作为初学者,往往对器件可能不是熟悉,那么应该要对数字电路的知识熟悉. FPGA中是由触发器和查找表以及互联线等基本结构组成的,其实在逻辑代码里面能够看到的就是与非门以及触发器. 不要把verilog和c语言等同起来,根本就是不同的东西,没有什么可比性,在写一句程序的时候应该想到出来的是一个什么样的电路. 计数器选择器 三态门等等,理解时序,逻辑是一拍一拍的东西,在设计初期想的不是很清楚的时候可以画画时序图,这样思路会更加的清晰. 还有就是仿真很重要,不要写完程序就…
不管是学FPGA还是C语言,任何一种代码的学习都离不开大量的代码阅读,也就是多看,多学习别人的代码.初学者在学习的过程中更为重要的是模仿,模仿别人的代码算法怎么去处理的,模仿多了,代码看的多了,能力自然就有所提升了. 说到这里不免有人问,那是不是去抄袭别人的代码啊,这种行为多可耻啊.个人认为,如果有这种高尚的想法的话,一定要尽早的放弃IT行业.对于初学者来说,要学习的东西很多都是技术成熟的了,相关网站上有很多开源代码进行参考的,我们不是直接拿过来用,而是要读懂它的每一行,他是怎么处理的.只有这样…
1.参考FPGA厂商的参考资料,将某系列FPGA所有芯片资料下载下来,有针对性的做参考. 2.参考FPGA厂商开发板以及相应的参考设计,在开发板里有众多的外围接口电路,基本涵盖了常用的应用场合.同时也要参考外围电路芯片的数据手册,仔细体会设计的细节和应用方法. 3.动手调一块板子(开发板),将板子上面所有的硬件外设调通,并参照类似的开发板,独立完成FPGA厂商官方的参考设计. 参考资料 1.<FPGA实用开发教程>田耘等编辑 2.RickySu的博客 www.rickysu.com 3.FPG…
在fpga工程应用设计中,随处可见加法器,乘法器等等.现在将一些常用模块和心得体会先记录下来,以便日后使用. 一位半加器: module halfadder(cout,sum,a,b); outputcout,sum; //不申明,默认是wire变量 input  a,b; assign{cout,sum}=a+b;//cout为进位,sum为和 endmodule 一位全加器: module fulladder(a,b,cin,cout,sum); inputa,b,cin; outputco…
FPGA设计的是数字逻辑,在开始用HDL设计之前,需要先了解一下基本的数字逻辑设计-- 一门抽象的艺术. 现实世界是一个模拟的世界,有很多模拟量,比如温度,声音······都是模拟信号,通过对模拟信号进行约束,我们就会抽象出来高电平和低电平,也就是0和1,用来构建整个数字逻辑世界,这个约束就是电平规则约束,比如常见的有以下几种: 电平约束 VDD/VCC 0 1 CMOS 3~8V 0~0.3VDD 0.7~1VDD TTL 5V±5% 0~0.7 2.4~5 LVCMOS 3.3 0~0.9…
###### [该随笔部分内容转载自小梅哥]       ######### FPGA(Field-Programmable Gate Array,现场可编程门阵列),正如其名,FPGA内部有大量的可编程逻辑功能块,使用verilog HDL(硬件描述语言)实现设计. 玩过单片机的小伙伴刚接触FPGA可能会有点困惑,其实FPGA与单片机最大的区别就在于:FPGA设计的是电路,单片机设计的是程序.单片机只有一个CPU在工作时钟的驱动下顺序的执行程序(取指.译码.执行),所以工作速度较慢,而FPGA…
FPGA设计中,最重要的设计思想就是状态机的设计思想!状态机的本质就是对具有逻辑顺序和时序规律的事件的一种描述方法,它有三个要素:状态.输入.输出:状态也叫做状态变量(比如可以用电机的不同转速作为状态),输出指在某一个状态的特定输出,输入指状态机中进入每个状态的条件.根据状态机的输出是否和输入有关,可分为摩尔(Moore)型状态机和米勒型(Mealy)状态机:摩尔型状态机的输出只取决于当前状态,而米勒型状态机的输出不仅取决于当前状态,还与当前输入有关.通常,我们描述状态机有三种方法:状态转移图.…
PWM 是一种调节输出功率的技术(俗称调压),其原理在于改变输出方波的占空比,具体输出见下图: 输出信号为电压值,当负载为恒阻时,上图中的输出功率分别为 25%.50%.75%. 实现方法如下: 设置一个计数器,上图中的第一行就是个 4 位的计数器,每满 15 自动变为 0.那么可以得到输出频率等于时钟的 1/16. 当计数器的值小于某个值的时候输出 0,高于或者等于某个值的时候输出 1. 假设控制的是一个小灯为 1/8 功率输出,那么我们需要的值就是 13 (4'hD),当计数器小于等于 13…
初学 FPGA 的时候,我们总是存在很多疑问,比如:xilinx 和 altera 的 FPGA 那种比较好.verilog 语言被如何综合成具体硬件电路.RTL 级电路是什么意思等等.现在我们就不会迷惑于那些基本的概念问题,是时候来写一个小小的项目了.我决定编写一个没有日期功能的电子钟,还可以来复习以前学过的模块. 这个项目有些复杂,一次不太可能成功,所以我们先写一个秒表,秒表的组成大概如下: 秒增加信号产生模块. 时间计数模块1,当增加信号为 1 时加 1,满 60 清零,并产生分增加信号.…
按键是一个输入设备,在理论上可以归为开关一类,理想的按键波形如下: 然而由于按键的机械特性,断开和闭合动作是不可能在一瞬间完成的,实际的波形如下: 抖动期间电平处于临界值,由于晶振的频率相当的高,数字电路会判断到许多个变化的值,数字波形图大致如下: 根据经验总结,按键抖动的时间一般在 5 ~ 10ms 之间,消抖可以使用低通滤波法,但 FPGA 设计中要求使用同步设计,这次我们使用延时模块来实现消抖电路,代码如下: 实验现象被设计为每当按键弹起一次,就反转一次 LED 的电平,通过判断 LED…
数码管是一种常见的用于显示的电子器件,根据数码管大致可以分为共阴极和共阳极两种,下图所示的是一个共阳极的数码管的电路图(摘自金沙滩工作室的 51 开发板电路图),我的 AX301 开发板与这张图的情况类似,几乎所有的教科书上都会讲到数码管的原理,这里我就不再详述了. 由于多个数码管的段选信号(下图中的 DB0~DB7)是共用的,想要显示多个数字需要用到动态扫描,动态扫描电路需要使用时钟.冒然的使用时钟会使得初学者不知所措,所以在这篇基础的组合逻辑电路中只点亮单个数码管,这样就不必涉及到时钟了.时…
2-10 进制码,也称为 BCD 码,它的编码方式则是通过一个 4 位二进制来表示一个 10 进制数,部分十进制对应的 BCD 码如下 十进制数 | BCD 码 13 --> 0001_0011 14 --> 0001_0100 19 --> 0001_1001 20 --> 0010_0000 99 --> 1001_1001 对于任意的三位十进制整数存在以下公式: (ABC) 10  = A*102 + B*101 + C*100 显然,对于任意一个三位数分离它的百位.十…
在上一篇中详细的介绍了怎样创建原理图工程,这篇同样使用原理图工程新建一个多路选择器,目的是学习使用图形输入的仿真工具输入仿真激励. 新建工程,并绘制以下的原理图. 编译项目,会多出一个警告: Critical Warning (169085): No exact pin location assignment(s) for 4 pins of 4 total pins,其大致意思是在目标器件上有四个引脚没有被分配,由于这次我们只用到仿真,不需要下载文件到板子上,因此没有必要去分配管脚. 编译成功…