浅谈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确实是改变世界的一项技术。
最新文章
- dbcp数据源配置杂谈
- Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)
- 翻译:Knockout 轻松上手 - 1 Knockout 是什么?
- CodeForces 176C Playing with Superglue 博弈论
- PAT (Basic Level) 1004. 成绩排名 (20)
- Android 避免APP启动闪黑屏的解决办法(Theme和Style)
- Python计算机视觉3:模糊,平滑,去噪
- 多项式ADT的数组实现
- bzoj 3594: [Scoi2014]方伯伯的玉米田
- 命令行的目录栈(pushd指令与popd指令)
- C#设计模式之二十二访问者模式(Visitor Pattern)【行为型】
- 可以让你神操作的手机APP推荐 个个都是爆款系列
- DIV内文字两端对齐
- L1-Day11
- 记一次nginx强制将https请求重定向http
- sql需注意事项
- 手机布局rem的使用(rem)
- spring3 hibernate4整合后无法查询数据库
- 如何量化考核技术人的 KPI?
- Android-startService后台运行