你一定想知道的关于FPGA的那些事
首先,如果您从未接触过FPGA(现场可编程门阵列),或者有过一点基础想要继续深入了解这个行业,在这里,会向您介绍FPGA,并且向您解释FPGA都能解决什么问题,如何解决这些问题,并讨论如何将设计进行优化等等。
在FPGA四个英文字母中,F代表着Field,即现场,那什么是现场呢?FPGA中的现场,是一种广义上的现场,既有指代产品所处之地,又体现的是FPGA的一种“即时性”;而P是Programmable,代表着可编程;G为Gate,门,也就是数字电路之中的逻辑门;A为Array,指由逻辑门组成的阵列。将四个英文单词组合,就是我们常说的现场可编程逻辑门阵列——FPGA。
与其他搭建硬件平台的方式相比,FPGA做了两件事,首先,它使你能够自由地搭建你需要的硬件平台,取代了从前使用ASIC(专用集成电路)时所不得不承担的长开发时间、高额开发经费以及设计风险,另外一点,相比于其它的硬件构成,它允许你构建你所需要的硬件而不需要ASIC,而且比采用微处理器内核更简单、快速、省电。
FPGA又能做什么?
编程自由度高
FPGA貌似在数字世界里无所不能,它就像乐高的积木一样可以搭建各种不同的功能模块,实现你所希望的各种功能,当然,首先你必须掌握最基本的数字逻辑知识,学会一种用来构建各种功能的工具语言(在这里我们推荐广受欢迎的Verilog),再次你要动脑(考验的是你的逻辑思维是否清晰),一个优秀的建筑师的作品是在脑子里勾画出来的,而不是拿积木碰运气拼凑出来的。
开发周期短:“现场可编程”
FPGA可以使你去对产品进行“现场”编程,这使得调试周期缩短,产品也就能够迅速适应新的工艺标准。并且产品在已经在现场安装上了之后依然可以对其硬件进行直接配置,也就是我们所说的“现场可编程”。
如果你能够对简单的逻辑门进行合理配置或者将你想要的硬件系统描述出来,你就能利用这些简单的逻辑做些更有意义的事情。而在你的技术还没有成熟时,FPGA允许你进行多变化的设计,并且在设计流程中不用承担高额的经费以及和一些不得不面对的设计风险。
高速
FPGA的高速体现在两个方面:并行性,PLL锁相环
第一点是FPGA的并行性,相比于传统的MCU,程序规模越大,越能体现出FPGA的优势。也许简单的“流水灯”程序看不出差别,但是如果是大型系统,存在大量的数据流,FPGA就可以调用内部的FIFO核进行高速处理,最终能够与MCU系统能够相差出数十毫秒到数百毫秒——这对于通讯行业以及航天、军工行业是极为致命的。
第二点就是PLL锁相环,MCU上同样含有PLL锁相环,但它受到的限制非常大,通常只能进行几个档位的倍频,而FPGA上的PLL倍频自由度较高,以Altera公司生产的MAX10为例,50MHz的时钟通常在芯片允许的情况下外部时钟可倍频到470MHz左右,而内部时钟可倍频到1.3GHz。
举个汽车的倒车摄像头的例子,如果摄像头完成从视频捕捉到视频显示共花费了250ms的延时时间,而国家要求的延时时间不得超过100ms,你就可以用FPGA去取代传统MCU去处理图像信息,来满足政府的延时要求。
高集成度
当半导体行业产品集成度越来越高的同时,编程者门也意识到可以在FPGA中建立整个子系统,而不是只局限于使用ASIC(专用集成电路),他们可以将更多的设备放在相同大小的封装里——并且允许实现更多样的功能和更复杂的算法,计算速度上升的同时,功耗也会更小。
可嵌入IP硬核
FPGA可以内置IP核,提供丰富强大的功能,使开发者无需浪费时间去重复的构建同一种功能模块。同时,也会减少资源的消耗并且节约很多资金,目前FPGA的存储块可以嵌入很多个IP核,例如,计算电路,收发器,协议控制器,甚至嵌入一个MCU,然而,重要的是要记住,IP核不是像FPGA的其他逻辑单元一样可以重复编程,但是它是一个为了实现某一功能而定制出现的模块,也就是说对于IP核,我们不用每次都去重构它,这是在做无用功,我们直接调用即可。
因为IP核的这一特性,FPGA制造商可以将编写完成的IP硬核以商品的形式进行销售,也是因为这一原因,大多数的电子系统趋向了标准化。
版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处
作者:杭州卿萃科技ALIFPGA
原文地址:杭州卿萃科技FPGA极客空间 微信公众号
扫描二维码关注杭州卿萃科技FPGA极客空间
你一定想知道的关于FPGA的那些事的更多相关文章
- FPGA学习之基本结构
如何学习FPGA中提到第一步:学习.了解FPGA结构,FPGA到底是什么东西,芯片里面有什么,不要开始就拿个开发板照着别人的东西去编程.既然要开始学习FPGA,那么就应该从其基本结构开始.以下内容是我 ...
- FPGA知识大梳理(一)对FPGA行业的一点感言
今天想开始把这FPGA行业的知识点做一个大整理,从个人感想,到语法,到器件基础,难点攻克,到项目应用.把自己这几年接触到的知识做一个全面的回顾,看看自己这几年走过的路. 人生无常,几年的跌跌撞撞勉强算 ...
- FPGA选型
工欲善其事必先利其器,开发FPGA的第一步,当然是选择一片符合你设计需求的芯片. 但是芯片种类那么多,老板又要你越省越好,硬件工程师也天天问你到底该用哪块芯片,怎么办? 今天正好可以跟大家聊聊这些问题 ...
- 转-----FPGA工程师:持守梦想or屈于现实
昨晚无意间看到一段新闻频道对最近炒得火热的“史上最年轻教授”的专访,倒是他的一位同学对于梦想的“现实版”解说颇有些耐人寻味.大体意思是说“拼了老命考上一所梦寐以求的大学,父母辛辛苦苦交了学费,我们却 ...
- 浅谈FPGA的选型
工欲善其事必先利其器,开发FPGA的第一步,当然是选择一片符合设计需求的芯片. 器件特色 选片第一个关注的应该是FPGA器件的专用资源. 例如是否需要高速接口,如果需要的话,需要多少个通道,各个通道需 ...
- FPGA论剑
今天走在街上,听到了久违的<光辉岁月>,想起6月30号那天,街边所有的餐厅.小店都在播放beyond的经典之作,那天是香港殿堂级乐队beyond乐队主唱兼吉他手黄家驹先生的忌日.黄家驹先生 ...
- SATA主机协议的FPGA实现之物理层设计
SATA主机协议的FPGA实现之物理层设计 接上一篇文章,这里讲解SATA主机协议的物理层的实现过程. 下图是标准SATA协议文档中给出的物理层结构.可以看到它包含控制模块.时钟数据提取单元.同步 ...
- RTLviewer与TechnologyMapViewer的区别?
区别: 1.QUARTUS II 中往往要查看RTL Viewer,其实RTLview是编译后的结果,显示的图形都是调用标准单元的结果,这是和思维有关联的显示结果,跟工艺库,FPGA类型,都没有关系: ...
- 入职9月,旷视孙剑106分钟讲述CV创业科研的5大区别
雷锋网按:本文为旷视科技首席科学家孙剑日前在 CCF-ADL上做的题为<如何在大公司和创业公司做好计算机视觉研究>的分享,主要介绍了近期计算机视觉的发展现状,ResNet基本原理和设计,旷 ...
随机推荐
- SQL 按照多个字段为标准的重复数据处理
表结构:T1 id int Uncheckedname nchar(10) Checkedvalue nchar(10) Checked 数据: 1 a a1 2 a a1 3 b b1 4 b b2 ...
- poj21516
首先对于一种商品 如果这种货不足需求就直接输出-1 剩下的就是KM算法 分k次分别计算每种商品的最小权值匹配 代码: #include<cstdio> #include<cstrin ...
- CF445
题解: xjb乱判断一下就可以了 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; int n, ...
- javax.servlet-api.jar
servlet.jar 是servlet 3.0 版本之前的地址 javax.servlet-api.jar 是servlet 3.0 版本之后的地址
- php5.4.0以后加入trait实现代码复用【摘录】
在http://www.php.net/manual/zh/language.oop5.traits.php 查看了一下5.4.0提供的特性trait顺便做一个标记(总结): 首先要明确trait和类 ...
- Python基础学习----元组
# 元组和列表的区别: # 相同点: # 1.表示多个元素的序列 # 2.数据之间用 , 分开 # 3.索引都是[0]开始 # # 不同点: # 1.列表创建是[],元组是()表示 # 2.元组元素一 ...
- php-resque 简单的php消息队列
摘要: 消息队列是个好东西,各种×××MQ很多.然而看一下它们的文档,你得吓尿,什么鬼,我只是想用它触发个短信接口而已. 幸好也有简单的.这次是php-resque 安装 首先这货需要在linux下跑 ...
- 表单隐藏域与display:none
有时候前端进行表单填写是分步骤的,每一步的时候其他步骤相关的表单视图不可见: 针对"不可见",以下有两种处理方式: ①display:none 这种方式呢,比较简单,就是将三个步骤 ...
- Windbg 调试工具32位/64位版本下载
最新的Windbg调试工具32位/64位版本越来越不好下载了,这里通过CSDN的渠道给大家一个下载地址,帮助大家更好下载工具: https://github.com/EasyDarwin/Tools/ ...
- LNMP架构基础搭建
LNMP架构+wordpress博客 环境: centos6.7 2.6.32-573.el6.x86_64 nginx-1.6.3 mysql-5.5.49 php-5.3.27 wordpress ...