FPGA研发牛人心得总结3096.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《FPGA研发牛人心得总结3096.docx》由会员分享,可在线阅读,更多相关《FPGA研发牛人心得总结3096.docx(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、FPGA研发之道FPGA是个什么玩意?FPGA是个什么玩意?首先先来说:FFPGAA是一种种器件。其其英文名名 feeildd prrogrramaablee ggatee arrry 。很长长,但不不通俗。通通俗来说说,是一一种功能能强大似似乎无所所不能的的器件。通通常用于于通信、网网络、图图像处理理、工业业控制等等不同领领域的器器件。就就像ARRM、DDSP等等嵌入式式器件一一样,成成为无数数码农码码工们情情感倾泻泻而出的的代码真真正获得得生命的的地方。只只不过,一一样的编编程,却却是不一一样的思思想。嵌嵌入式软软件人员员看到的的是C。而而FPGGA工程程师看到到是硬件件描述语语言,vve
2、riilogg或VHHDL。软软件看到到是函数数、对象象、重构构。FPPGA工工程师则则是模块块、流水水、复用用。从现现象上看看,都是是代码到到下载程程序再到到硬件上上运行。不不能只看看现象而而忽略本本质。FFPGAA 开发发本质上上是设计计一颗IIC,“*的身身子,丫丫鬟的命命”不是是所有vveriilogg/VHHDL代代码,都都能获得得青睐去去流片成成为真正正的芯片片,而更更多的则则成为运运行在FFPGAA器件上上,成为为完成相相同功能能的替代代品。其其实现的的功能却却一点也也不逊色色于百万万身价流流片的近近亲。从从而成为为独树一一帜的行行业。FPGGA开发发的流程程,是通通过veeri
3、llog/VHDDL等硬硬件描述述语言通通过EDDA工具具编译、综综合、布布局布线线成为下下载文件件,最终终加载到到FPGGA器件件中去,完完成所实实现的功功能。那那硬件描描述语言言描述的的是什么么?这里里描述的的就是组组合逻辑辑电路和和时序逻逻辑电路路。组合合逻辑电电路就是是大家所所熟知的的 与门门、或门门、非门门。时序序逻辑电电路则是是触发器器。数字字芯片上上绝大部部分逻辑辑都是这这两种逻逻辑实现现的。也也就是基基本上每每个电子子行业的的人所学学过的数数字电路路。顺便便说一下下,感谢谢香农大大师,在在其硕士士毕业论论文就奠奠定了数数字电路路的的根根基。只只不过在在FPGGA中,与与或非的的
4、操作变变成了查查找表的的操作。于于是所有有的数字字电路变变成了查查找表和和寄存器器,这就就构成了了FPGGA的基基础。查查找表负负责逻辑辑实现,寄寄存器存存储电路路状态。二二者配合合,双剑剑合璧,天天衣无缝缝。这是是最初的的FPGGA的雏雏形。 现代FFPGAA内部出出了查找找表和寄寄存器之之外,还还有RAAM块,用用于存储储大量的的数据块块,这是是因为RRAM块块较寄存存器来存存储大量量数据更更能节省省芯片实实现的面面积。FFPGAA内部的的时序电电路则需需要时钟钟的输入入,通常常FPGGA内部部需要时时钟种类类较多,因因此需要要在片内内产生所所需的的的相关的的时钟,如如不同频频率,不不同相
5、位位的时钟钟,因此此时钟管管理单元元DCMM/PLLL也是是必不可可少的内内部部件件。除此此之外,FFPGAA内部还还包括接接口I/O,II/O分分为普通通I/OO和高速速I/OO,高速速I/OO支持例例如高速速的SEERDEES,用用于实现现XAUUI,PPCIEE等高速速接口,这这些接口口动辄几几Gbpps到110Gbbps以以上。此此外种类类多种多多样的硬硬核IPP也是各各FPGGA厂商商差异化化竞争利利器,例例如POOWERRPC、AARM等等硬核IIP。从从而构成成CPUU+FPPGA于于一体的的集可编编程性和和可重构构的处理理平台。因因此,相相对来所所,FPPGA虽虽然发展展有二三
6、三十年的的历史,其其基本架架构一直直不变不不大。回到问问题开始始的地方方,FPPGA的的英文翻翻译过来来是现场场可编程程门阵列列。这是是相对AASICC来说的的,ASSIC的的硬件也也可看做做是门阵阵列,但但是其是是非可编编程的器器件。流流片完成成其功能能就固化化了,而而FPGGA的可可编程性性就在其其能够重重新下载载配置文文件,来来改变其其内在的的功能,这这就是其其可编程程性的由由来。从从前端开开发流程程来说,FFPGAA和ASSIC开开发并无无二至。由由于ASSIC开开发一次次性投入入成本较较高,FFPGAA无疑是是一种经经济的替替代方案案,用于于实现的的高速的的数据并并行处理理。如业业务
7、能够够支撑大大规模应应用并且且协议固固化,则则能够分分摊成本本的ASSIC实实现就有有成本的的优势。 FFPGAA作为一一种器件件,技术术上主要要垄断在在少数大大公司手手中,那那就是双双巨头AALTEERA和和XILLINXX。除此此之外还还有一些些份额相相对较小小的公司司,例如如ACTTEL和和LATTTICCE。不不止是FFPGAA的硬件件芯片,其其配套的的EDAA工具技技术壁垒垒更高。因因此相对对于CPPU来说说,FPPGA的的国产化化更不乐乐观,不不过已经经有国内内的厂商商来从事事这一行行业,例例如国微微和京微微雅格等等,也在在一些细细分市场场上推出出自己的的FPGGA产品品。FPGA
8、和和他那些些小伙伴伴们 (一一) 系系统架构构组成通常来讲,“一一个好汉汉三个帮帮”,一一个完整整的嵌入入式系统统中由单单独一个个FPGGA使用用的情况况较少。通通常由多多个器件件组合完完成,例例如由一一个FPPGA+CPUU来构成成。通常常为一个个FPGGA+AARM,AARM负负责软件件配置管管理,界界面输入入外设操操作等操操作,FFPGAA负责大大数据量量运算,可可以看做做CPUU的专用用协处理理器来使使用,也也常会用用于扩展展外部接接口。常常用的有有ARMM+FPPGA,DDSP+FPGGA,或或者网络络处理器器+FPPGA等等种种架架构形式式,这些些架构形形式构成成整个高高速嵌入入式
9、设备备的处理理形态。 不得不不说的是是,随着着技术的的进步,现现在CPPU中集集成的单单元也随随之增加加,例如如TI的的“达芬芬奇”架架构的处处理器内内部通常常由ARRM+DDSP构构成。同同时异构构的处理理器形态态业逐渐渐流行,如如ARMM9+AARM77的结构构。这类类一个主主要处理理系统(ARMM9)外外带辅助助处理系系统(AARM77)的设设计,同同样成为为现在处处理器设设计的流流行方向向。主处处理系统统运行嵌嵌入式操操作系统统,而辅辅助处理理单元则则专注某某一些的的专用领领域的处处理。这这些系统统的应用用减少了了FPGGA作为为CPUU协处理理单元的的领域。因因为毕竟竟FPGGA相比
10、比ARMM等流行行嵌入式式处理器器价格要要相对较较高。 在这种种情形下下,FPPGA的的厂商似似乎也感感受到了了压力,不不约而同同推出了了带ARRM硬核核的FPPGA,例例如ALLTERRA的 和XXILIINX的的ZYNNQ和AALTEERA的的SOCC FPPGA。这这是即是是互相竞竞争的需需要,也也是同众众多CPPU厂商商一掰手手腕的杰杰总。即即使在这这两种在在趋势下下,经典典的处理理器+FFPGAA的设计计仍然可可看做为为高性能能嵌入式式系统的的典型配配置。 经典典的处理理器+FFPGAA的配置置中有多多种的架架构形式式,即多多个处理理器单元元,可能能是ARRM,MMIPSS,或者者D
11、SPP,FPPGA也也可能是是多片的的配置,具具体架构构形式于于具体处处理的业业务相关关和目标标设备的的定位也也相关。因因为FPPGA作作为简单单业务流流大数据据量的处处理形态态仍然是是CPUU无可比比拟的优优势,FFPGAA内部可可以开发发大量业业务数据据并行,从从而实现现高速的的数据处处理。 在实现现高速处处理方面面,CPPU的另另一个发发展趋势势是多核核,多核核处理器器也能处处理大数数据量的的业务的的并行,例例如业界界TERRILAA已推出出64核核的多核核处理器器,采用用MIPPS处理理器,通通过二维维MASSH网络络连接在在一起,形形成NOOC的结结构。在在性能上上已经和和现有的的高
12、速FFPGAA的处理理能力上上不相上上下。但但是多核核处理器器的不得得不说的的问题就就是,同同一业务务流分配配到多核核处理上上后,如如需交互互,例如如访问同同一资源源,就会会造成读读写的缓缓存一致致的问题题,解决决的这一一问题的的天然思思路是加加锁,即即在变量量访问上上加自旋旋锁,但但是带来来的问题题就是处处理性能能的急剧剧下降。而而FPGGA无论论并行处处理和同同一变量量的访问问,都可可以变成成工程师师的设计计水平的的问题,没没有原理理性的挑挑战。 没没有一种种器件可可以满足足全人类类的众多多需求,因因此不用用担心FFPGAA没有用用武之地地。必定定是一系系列产品品的组合合。下面面主要介介绍
13、一下下FPGGA可以以作为现现今热门门场景的的几种应应用。(1)网络络存储产产品,特特别是现现在的NNAS,或或者SAAN设备备上,其其存储的的时间、接接口、安安全性等等都要求求较高,而而FPGGA无论论处理性性能还是是扩展接接口的能能力都使使其在这这一领域域大有作作为。现现在高端端FPGGA单片片就可以以扩展332个或或者更多多4G或或者8GG的FCC接口。并并且其协协议处理理相对的的固定,也也使FPPGA在在这一领领域有大大量的可可能应用用。(2)高速速网络设设备,现现在高速速网络设设备100G、440/1100GG以太网网设备领领域,同同样FPPGA也也是关键键的处理理部件。特特别是II
14、Pv66的商用用化及大大数据对对于基础础设施的的高要求求,都使使这一领领域的处处理应用用会逐渐渐广泛,这这一领域域通常是是高速网网络处理理器(NNP)+FPGGA的典典型架构构。(3)4GG等通信信设备,对对于新一一代通信信基站的的信号处处理,FFPGAA+DSSP阵列列的架构构就是绝绝配。特特别是在在专用处处理芯片片面世之之前,这这样的架架构可以以保证新新一代通通信基础础设施的的迅速研研发和部部署。 没有有完美的的架构,只只有合适适的组合合,各种种芯片和和架构都都是为应应用服务务,互相相的渗透透是趋势势,也是是必然。FFPGAA相对处处理器的的可编程程领域,仍仍然属于于小众(虽虽然人数数也不
15、少少)。但但是正像像一则笑笑话所说说:大腿腿虽然比比根命根根子粗,但但决没有有命子重重要。这这算开个个玩笑。FFPGAA的实现现为以后后的芯片片化留下下了许多多可能和和想象空空间,从从而在应应用大量量爆发时时通过芯芯片化来来大幅降降低成本本,这这这也正是是其他可可编程器器件所不不能比拟拟的。FPGA和和他那些些小伙伴伴们 (二二) 器器件互联联系统架构确确定,下下一步就就是FPPGA与与各组成成器件之之间互联联的问题题了。通通常来说说,CPPU和FFPGAA的互联联接口,主主要取决决两个要要素: (11)CPPU所支支持的接接口。 (22)交互互的业务务。 通常常来说,FFPGAA一般支支持与
16、CCPU连连接的数数字接口口,其常常用的有有EMIIF,PPCI,PCII-E,UPPP,网口口(MIII/GGMIII/RGGMIII),DDDR等等接口。作作为总线线类接口口,FPPGA通通常作为为从设备备与CPPU连接接,CPPU作为为主设备备通过访访问直接接映射的的地址对对FPGGA进行行访问。根根据是否否有时钟钟同步,通通常总线线访问分分为同步步或异步步的总线线,根据据CPUU外部总总线协议议有所不不同,但但数据、地地址、控控制信号号基本是是总线访访问类型型中总线线信号所所不能省省略的。CCPU手手册中会会对信号号定义和和时序控控制有着着详细的的说明,FFPGAA需要根根据这些些详细
17、说说明来实实现相应应的逻辑辑。同时时CPUU还可以以对访问问时序进进行设置置,比如如最快时时钟,甚甚至所需需的最小小建立时时间和保保持时间间,这些些一般CCPU都都可以进进行设置置,而这这些具体体参数,不不仅影响响FPGGA的实实现,也也决定总总线访问问的速度度和效率率。对于于同步总总线,只只需要根根据输入入时钟进进行采样样处理即即可,但但对于异异步总线线,则需需要的对对进入的的控制信信号进行行同步化化处理,通通常处理理方式是是寄存两两拍,去去掉毛刺刺。因此此用于采采样的时时钟就与与CPUU所设置置的总线线参数相相关,如如采样时时钟较低低,等控控制信号号稳定后后在译码码后输出出,一个个总线操操
18、作周期期的时间间就会相相对较长长,其处处理的效效率也相相对较低低;假如如采样时时钟过快快,则对对关键路路径又是是一个挑挑战,因因此合理理设定采采样频率率,便于于接口的的移植并并接口的的效率是是设计的的关键点点和平衡衡点。 对于于总线型型的访问问来说,数数据信号号通常为为三态信信号,用用于输入入和输出出。这种种设计的的目的是是为了减减少外部部连线的的数量。因因为数据据信号相相对较多多一般为为8/116/332位数数据总线线。总线线的访问问的优势势是直接接映射到到系统的的地址区区间,访访问较为为直观。但但相对传传输速率率不高,通通常在几几十到1100MMbpss以下。这这种原因因的造成成主要为为以
19、下因因素(11)受制制总线访访问的间间隔,总总线操作作周期等等因素,总总线访问问间隔即即两次访访问之间间总线空空闲的时时间,而而总线操操作周期期为从发发起到相相应的时时间。(22)不支支持双向向传输,并并且FPPGA需需主动发发起对CCPU操操作时,一一般只有有发起CCPU的的中断处处理一种种方式。这这种总线线型操作作特点,使使其可以以用作系系统的管管理操作作,例如如FPGGA内部部寄存器器配置,运运行过程程中所需需参数配配置,以以及数据据流量较较小的信信息交互互等操作作。这些些操作数数据量和和所需带带宽适中中,可以以应对普普通的嵌嵌入式系系统的处处理需求求。 对于大大数据流流量的数数据交互互
20、,一般般采用专专用的总总线交互互,其特特点是,支支持双向向传输,总总线传输输速率较较快,例例如GMMII/RGMMII、UUpp、专专用LVVDS接接口,及及SERRDESS接口。专专用SEERDEES接口口一般支支持的有有PCII-E,XXAUII,SGGMIII,SAATA,IInteerlaakenn接口等等接口。GGMIII/RGGMIII,专用用LVDDS接口口一般处处理在11GbppS一下下的业务务形式,而而PCII-E,根根据其型型号不同同,支持持几Gbbps的的传输速速率。而而XAUUI可支支持到110Gbbps的的传输速速率,llnteerlaakenn接口可可支持到到40G
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 研发 人心 总结 3096
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内