你一定想知道的关于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基本原理和设计,旷 ...
随机推荐
- ZOJ 3521 Fairy Wars oj错误题目,计算几何,尺取法,排序二叉树,并查集 难度:2
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3521 ATTENTION:如果用long long 减小误差,这道题只能用 ...
- SQL SERVER 导入、导出数据到Exce(使用OpenRowset,、OpenDataSource函数)以及访问远程数据库(openrowset/opendatasource/openquery)
启用Ad Hoc Distributed Queries 在使用openrowset/opendatasource前搜先要启用Ad Hoc Distributed Queries服务,因为这个服务不安 ...
- FMDB给表添加新的字段
1.首先判断添加的字段是否存在,如果不存在就添加. 2.代码演示: (1)判断是否存在,判断之前先导入头文件确保可以调用FMDB的api(#import “FMDatabaseAdditions.h” ...
- vue.js 源代码学习笔记 ----- core scedule.js
/* @flow */ import type Watcher from './watcher' import config from '../config' import { callHook } ...
- 给SqlParameter参数指定或不指定:@变量标识符的区别是什么?
对于sql语句中一个@的参数@au_id,在sqlParameter中,可以用@au_id,也可以用au_id. 要是bt点的,用两个@,你就不能随便省略@了. 对于sql语句 : select * ...
- RDS 在线DDL诡异报错ERROR 1062 (23000): Duplicate entry
RDS上执行报错如下: MySQL [ad_billing]> ALTER TABLE ad_spending ADD COLUMN impr bigint(20) NOT NULL DEFAU ...
- Java并发编程之重入锁
重入锁,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对资源的重复加锁.重进入是指任意线程在获取到锁之后能够再次获取该锁而不会被锁阻塞,该特性的实现需要解决以下两个问题. 1.线程再次获取锁 ...
- 【译】从数学公式入手,详细了解 Animation 的 Interpolators
我们在做动画的时候,总是避免不了会使用到 Interpolator(插值器)这个东西,比如 LinearInterpolator 等.这样做的好处是,能够让动画的变化速度符合现实世界中的物理规律,看上 ...
- 从JDK源码角度看Object
Java的Object是所有其他类的父类,从继承的层次来看它就是最顶层根,所以它也是唯一一个没有父类的类.它包含了对象常用的一些方法,比如getClass.hashCode.equals.clone. ...
- 4. 什么是应用服务器? - JavaEE基础系列
本文是JavaEE基础系列的第四节. Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 什么是JSR参考实现? - JavaEE基础系列 上一节介绍了什么是JSR参考 ...