浅谈FPGA
浅谈FPGA
前言
生活中永远都不会缺少「 为什么 」,于最近就被合胜学长了,问了一个看似简单却又极具意义的问题,为什么需要FPGA?FPGA与单片机的区别是什么?瞬间刷新了我入门三天FPGA的冲击感,虽然之前有一知半解,一时间竟无法回答上来,经历了一番查资料以及咨询建云学长,至此对此问题有一个浅显的认识,后续将会随着认识的提高,不断补充此篇博客。
FPGA
啥叫FPGA?「 Field Programmable Gate Array 」,领域可编程门阵列,依然是晦涩难懂,对于一个CS的学生来说,相对醒目的还是”Programmable“这个词。相对于以往的Python、PHP、C、C++、C#、Java、JavaScript,等等之类的编程语言来说,我们一直都是基于CPU在编程,由高级语言转换为汇编语言,再进一步转化为机器语言,最后才能成为让CPU看得懂的机器码。我们始终都是基于CPU编程,CPU内部的电路结构,顺序执行指令的方式永远都不会变化。
而FPGA则是基于电路编程,通过硬件描述语言,像Verilog HDL、VHDL对硬件的电路进行描述,通过各大公司的集成设计环境,如XilinX的ISE以及Vivado一样,转化为相应的电路,并烧写到FPGA板卡中,进而实现所需功能。
因而,可以总结类似Python、C等等之类的高级程序语言是软件编程,而Verilog HDL等硬件描述语言则为硬件编程。
FGPA之于单片机
| FPGA | 单片机 | |
|---|---|---|
| 芯片 | FPGA | CPU |
| 应用领域 | 通信、图像处理、 芯片验证等 | 控制 |
| 执行速度 | 快 | 慢 |
| 串行/并行 | 并行 | 串行 |
小弟大胆设想,通过FPGA可以实现出CPU。深入解剖CPU来说,CPU内部无非是一些门电路,而通过FPGA恰巧可以设计出各种各样的电路,虽然通过FPGA实现的CPU性能方面肯定会比专用CPU性能差上几个级别,这也恰巧体现了FPGA可以用于芯片验证的特点。在设计芯片的过程中,之与以往直接上硬件的验证方式,成本消耗巨大,而FPGA的出现大大降低的研发成本,不得不说FPGA确实是改变世界的一项技术。
浅谈FPGA的更多相关文章
- 浅谈FPGA资源评估
在使用FPGA过程中,通常需要对资源做出评估,下面简单谈谈如何评估FPGA的资源. FF和LUT的数目: 这个在写出具体代码之前,初学者通常没法估算,但资深FPGA工程师会估算出一个数量级.通常的做法 ...
- 浅谈FPGA的选型
工欲善其事必先利其器,开发FPGA的第一步,当然是选择一片符合设计需求的芯片. 器件特色 选片第一个关注的应该是FPGA器件的专用资源. 例如是否需要高速接口,如果需要的话,需要多少个通道,各个通道需 ...
- 浅谈FPGA有限状态机
状态机几乎可以实现一切时序电路. 有限状态机(FiniteStateMachine, FSM),根据状态机的输出是否与输入有关,可分为Moore型状态机和Mealy型状态机.Moore型状态机输出仅仅 ...
- 浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真
浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真 工作内容: Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业 ...
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
- 浅谈 LayoutInflater
浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...
- 浅谈Java的throw与throws
转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...
- 浅谈SQL注入风险 - 一个Login拿下Server
前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...
- 浅谈WebService的版本兼容性设计
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
随机推荐
- C#控件中的KeyDown、KeyPress 与 KeyUp事件浅谈
研究了一下KeyDown,KeyPress 和 KeyUp 的学问.让我们带着如下问题来说明: 1.这三个事件的顺序是怎么样的? 2.KeyDown 触发后,KeyUp是不是一定触发? 3.三个事件的 ...
- testNG参数化
听说testNG比junit更好用,记录下 环境:springboot2.0+testNG6.8+maven+myeclipse 一 安装 (1)m'yeclipse安装testNg包,下载testN ...
- Blog Contents
This page is intently left for contents catalog of my articles. |----------------------------------- ...
- Python2.7-re模块
re模块 1.正则表达式的语法 '.' 匹配任意字符,若指定了re.S,则可以匹配换行符'^' 匹配行首,即字符串的开头,若指定了re.M,会自动匹配每行开头'$' 匹配行尾,同上'*' 匹配大于等于 ...
- extern C的用法解析
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同.作为一种欲与C兼容的语言,C++保留了一部分过程式语 ...
- mybatis的mapper代理,SqlMapConfig.xml中配置,输入和输出映射使用案例
public class User { private int id; private String username;// 用户姓名 private String sex;// 性别 private ...
- HDU 1827 Summer Holiday(tarjan求强连通分量+缩点构成新图+统计入度+一点贪心思)经典缩点入门题
Summer Holiday Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- 关于Altium Designer 提示发送错误报告解决方法
提示是这样子,,,,,, 稍微有点问题就提示,,,复制也提示,,,,移动也提示,,,,,,算是服了这个软件了.......真是忍无可忍,那就无需再忍,解决掉 以前是安装上一个虚拟的打印机就好了,,,其 ...
- Linux下离线安装Docker
Linux下离线安装Docker 一.基础环境 1.操作系统:CentOS 7.3 2.Docker版本:18.06.1 官方下载地址(打不开可能需要***) 3.百度云Docker 18.06.1地 ...
- noi.ac 257 B
链接 题目 区间[l,r]是连续满足,[l,r]中的数字的权值区间是一段连续的.多次询问可以完包含一个区间的连续区间.区间长度尽量小,如果有多个输出左端点靠左的. 分析: [l,r]区间是连续的,当且 ...