首先,如果您从未接触过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的那些事的更多相关文章

  1. FPGA学习之基本结构

    如何学习FPGA中提到第一步:学习.了解FPGA结构,FPGA到底是什么东西,芯片里面有什么,不要开始就拿个开发板照着别人的东西去编程.既然要开始学习FPGA,那么就应该从其基本结构开始.以下内容是我 ...

  2. FPGA知识大梳理(一)对FPGA行业的一点感言

    今天想开始把这FPGA行业的知识点做一个大整理,从个人感想,到语法,到器件基础,难点攻克,到项目应用.把自己这几年接触到的知识做一个全面的回顾,看看自己这几年走过的路. 人生无常,几年的跌跌撞撞勉强算 ...

  3. FPGA选型

    工欲善其事必先利其器,开发FPGA的第一步,当然是选择一片符合你设计需求的芯片. 但是芯片种类那么多,老板又要你越省越好,硬件工程师也天天问你到底该用哪块芯片,怎么办? 今天正好可以跟大家聊聊这些问题 ...

  4. 转-----FPGA工程师:持守梦想or屈于现实

     昨晚无意间看到一段新闻频道对最近炒得火热的“史上最年轻教授”的专访,倒是他的一位同学对于梦想的“现实版”解说颇有些耐人寻味.大体意思是说“拼了老命考上一所梦寐以求的大学,父母辛辛苦苦交了学费,我们却 ...

  5. 浅谈FPGA的选型

    工欲善其事必先利其器,开发FPGA的第一步,当然是选择一片符合设计需求的芯片. 器件特色 选片第一个关注的应该是FPGA器件的专用资源. 例如是否需要高速接口,如果需要的话,需要多少个通道,各个通道需 ...

  6. FPGA论剑

    今天走在街上,听到了久违的<光辉岁月>,想起6月30号那天,街边所有的餐厅.小店都在播放beyond的经典之作,那天是香港殿堂级乐队beyond乐队主唱兼吉他手黄家驹先生的忌日.黄家驹先生 ...

  7. SATA主机协议的FPGA实现之物理层设计

    SATA主机协议的FPGA实现之物理层设计   接上一篇文章,这里讲解SATA主机协议的物理层的实现过程. 下图是标准SATA协议文档中给出的物理层结构.可以看到它包含控制模块.时钟数据提取单元.同步 ...

  8. RTLviewer与TechnologyMapViewer的区别?

    区别: 1.QUARTUS II 中往往要查看RTL Viewer,其实RTLview是编译后的结果,显示的图形都是调用标准单元的结果,这是和思维有关联的显示结果,跟工艺库,FPGA类型,都没有关系: ...

  9. 入职9月,旷视孙剑106分钟讲述CV创业科研的5大区别

    雷锋网按:本文为旷视科技首席科学家孙剑日前在 CCF-ADL上做的题为<如何在大公司和创业公司做好计算机视觉研究>的分享,主要介绍了近期计算机视觉的发展现状,ResNet基本原理和设计,旷 ...

随机推荐

  1. volatile关键字解析(二)

    volatile详解接下来,我们详细讲述一下volatile关键字volatile关键字具有两重语义 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这个新值对其他线程来说是 ...

  2. Django中通过定时任务触发页面静态化的方式

    安装 pip install django-crontab 添加应用 INSTALLED_APPS = [ ... 'django_crontab', # 定时任务 ... ] 设置任务的定时时间 在 ...

  3. L151

    In Toothy Prequel, Piranha-Like Fish Menaced Jurassic Seas You can call it a prehistoric prequel.Sci ...

  4. L146 Space Station Hole Cause Will Be Determined

    The head of the U.S. space agency said Tuesday he's sure that investigators will determine the cause ...

  5. Linux:join命令详解

    join 处理两个文件之间的数据,并且将两个文件中有相同的数据的那一行加在一起 语法 join(选项)(file1 file2) 选项 -a<1或2>:除了显示原来的输出内容之外,还显示指 ...

  6. Okhttp之连接池ConnectionPool简单分析(一)

    开篇声明:由于本篇博文用到的一些观点或者结论在之前的博文中都已经分析过,所以本篇博文直接拿来用,建议读此博文的Monkey们按照下面的顺序读一下博主以下博文,以便于对此篇博文的理解: <Okht ...

  7. js `` 手机不支持

  8. GitHub https链接中输入账户和密码

    /********************************************************************** * GitHub https链接中输入账户和密码 * 说 ...

  9. NHibernate 01 [简述]

    本节内容: 系列简述 NHibernate是什么? NHibernate好处? 1.系列简述 最近在项目中使用到NHibernate,所以记录下自己学习的内容和步骤. 2.NHibernate是什么? ...

  10. ubuntu下codeblock美化

    1.备份配置文件:default.conf. 2.将default.conf中的内容替换为最下面代码,并保存. 3.打开codeblock,Setting-Editor-Syntax,然后选择Colo ...