FPGA的新变化
FPGA SoC通过融合FPGA和ASIC两者的元件,跨越了灵活性和性能之间的界限。但随着它们进入高安全性、任务关键型市场,它们也面临着与标准SoC相同的问题,包括在日益复杂的器件中快速传输越来越多的数据,以及在验证和调试中可能出现的一切棘手的问题。
FPGA SoC是一种混合器件,随着芯片制造商和系统公司每年要完成更多的设计工作,它正获得越来越多的关注,尤其是协议和算法仍在变化的市场中,比如汽车、医疗器械和安全性市场。使用标准的FPGA芯片可以提供必要的灵活性,但是只有ASIC才能满足更高的性能要求,无论是在新市场还是在现有的市场,如航空航天。FPGA SoC提供了一种折中解决方案,既提供了ASIC的一些性能和低功耗优势,也提供了灵活性,以避免提早过时。
但是这种复杂性也带来了SoC设计团队非常熟悉的问题。
Aldec公司硬件部总经理Zibi Zalewski表示:“FPGA的复杂性和功能日益增长,你可以在一颗FPGA中构建具有多种接口和协议的大型系统,而这种设计需要一种结构来集成不同的IP和硬件模块,使它们可以工作在各种时钟域和数据协议上。”
现代FPGA,尤其是那些具有硬核嵌入式处理器和控制器的FPGA,适用于传统逻辑FPGA和ASIC之间的某个地带,并向ASIC方向发展。Zalewski说:“我们肯定需要NoC,因为从验证的角度来看,NoC简化了接口。NoC设计允许工程团队管理顶层接口,它可以进一步用于为主机或转发器创建一个主原型通道,以进行仿真,而不是去管理多个接口,那样会增加验证过程的复杂性、时间和成本。”
这对FPGA SoC工具有一些有趣的影响。FPGA供应商通常连同他们的硬件销售他们自己的工具,这使得EDA供应商很难在这个市场上产生重大影响。但是,随着这两个世界开始合并,问题就出现了,例如,FPGA SoC是否需要使finFET成为可能的复杂工具和IP,特别是在需要可追溯性的安全关键应用中。
Cadence公司的产品管理总监Juergen Jaeger说:“当使用大容量FPGA进行设计验证和原型设计时,关键的要求之一就是要具备适当的调试功能。但是,在今天的no-NoC FPGA的架构中,提供这样的调试功能是很困难的,主要是由于FPGA中连接资源有限,尤其是因为需要所有FPGA内部路由资源来实现设计本身,并且用足够的性能运行它。此外,调试还要求能够访问尽可能多的内部设计节点(理想情况是全部节点),并将这些测试点路由到外部。这几乎是不可能的,还会导致许多挑战和调试缺陷。此处便是FPGA内部NoC可以提供帮助的地方,因为它可以提供测试许多本地节点的能力,通过NoC将数据路由到聚合器,而不会浪费宝贵的FPGA路由资源,然后通过某些标准接口(如千兆以太网)输出调试数据。”
然而,并非所有的FPGA都需要NoC。Jaeger表示:“如果是数据路径密集的设计,需要传输大量的数据,那么NoC可能会有所帮助。但是,如果设计更加以控制为中心,并且要求性能尽可能强,那么NoC的固有延迟和非确定性性质可能会适得其反。它还需要新的FPGA设计工具,可以利用FPGA内部的NoC组件。”
更低的功率
ASIC天生比FPGA更节能。现在的问题是:通过组合这些器件,以及利用为SoC开发的一些低功耗技术,比如通过NoC进行更高效的信号路由,可以减少多少功耗。
Aldec公司的Zalewski说:“NoC使FPGA资源可以由IP内核和外部接口共享,并简化了电源管理技术。使用NoC,FPGA逻辑可以被划分成不同的区域,每个区域都可以被称为路由器的单独的NoC节点处理,如果不使用的话,可以选择地关闭为睡眠模式。”
这种灵活性的概念促成了CCIX Consortium的成立,CCIX Consortium旨在为新出现的加速应用提供互连服务,例如机器学习、网络处理、存储卸载、内存数据库,以及4G/5G无线技术。
该标准旨在允许基于不同指令集架构的处理器将缓存一致性、对等处理(peer processing)等优点扩展到多种加速器件,包括FPGA、GPU、网络/存储适配器、智能网络,以及定制ASIC。
在使用FPGA加速工作负载时,这一点尤为关键。NetSpeed Systems公司营销副总裁Anush Mohandass指出,在几年前的Hot Chip会议期间,微软表示希望使用FPGA加速Bing的图像搜索,而不是在常规服务器中运行。“他们发现,使用FPGA加速图像可以提高效率、降低延迟,所以,在这个领域,FPGA可以进入最前沿。不要将它用作通用计算机,而是将其用于加速。”
事实上,Mohandass认为这是CCIX时刻背后的起源。“即使微软做到了,并且说‘我们有Xeon处理器,它是主CPU,是主引擎……’当它检测到FPGA可以做的事情时,就会抛给FPGA。如果是这样的话,那为什么要把加速器当成二等公民呢?在CCIX中,加速在字面上与核心计算集群具有相同的权限。”
当今先进的FPGA还存在其他技术问题,这些问题可能也会通过NoC结构得到解决。
Synopsys公司高级营销总监Piyush Sancheti说:“就门数和复杂性而言,每个FPGA架构看上去都像一个SoC,但现在你已经拥有了所有这些功能,很明显,你把更多的功能塞进了一个器件中,这就产生了多功能的复杂性,就像时钟一样。我们看到FPGA中的时钟结构变得越发复杂,从而产生了一大堆新问题。”
IP重用
这也简化了设计重用。Sancheti说:“通常情况下,如果设计采用任何类型的SoC环境,无论是在ASIC还是FPGA上实现,集成的IP越多,设计中的异步时钟就越多。可能有一个PCIe运行在66 MHz,设计的其他部分可能会以更高的频率运行,而这些设计并不是相互同步的。本质上,这意味着存在以不同频率运行的逻辑,但是这个逻辑是在相互通信的。这会导致时钟域交叉问题。如何确保信号从快速时钟域转为慢速信号,或从慢速转为快速时,信号是可靠的?并且你没有元稳定信号(peer processing),本质上这些信号的时序不是完全同步的。”
就像SoC设计一样,此处需要一个非常复杂的同步方案,以及确保正确同步的工具和方法。Sancheti说:“除了jelly bean系统的FPGA以外,大家都有一套完整的方法来进行时钟域交叉验证,这对FPGA设计社区来说实际上是个新鲜事。如果你把所有这些挑战都映射到设计流程和方法上,就会有新东西添加到他们的流程中,先前,他们不担心纯粹是因为他们没有那么多的IP,而且他们也没有那么多的时钟域要处理。它可以追溯到设计和最终应用的简单性。随着FPGA变得更像SoC,他们不得不应对一切SoC设计挑战。”
缩小差距
那么,如今的FPGA SoC是否足够像传统的、数字SoC那样,所有相同的规则都适用于片上网络呢?似乎或多或少有点像,但又不完全一样。
ArterisIP公司CTO Ty Garibay表示:“两家主要的FPGA供应商都有专门的片上网络工具,如果用户选择使用其中的一种,那么他们可以使用某种形式的片上网络来连接他们的功能。这更多的是一种系统的概念性方法。它是否足够像标准SoC,将NoC视为连接主干是否更有意义?许多FPGA应用都不是这样。它们看起来更像是网络芯片或主干芯片,基本上是数据流。数据从左边进来,中间经过一大堆的数据传输单元,然后数据从右边输出。这不是传统的SoC。这是一个普通的网络处理器、或基带调制解调器、或类似的东西,它是一个数据流芯片。所以在这些类型的FPGA软设计中,不需要片上网络。 ”
但是如果它在概念上看起来像一堆相互通信并且通常由中心点控制的独立功能单元,那么将这些单元连接到芯片上的软网络确实是有意义的。Ty Garibay表示:“预计下一代高性能FPGA将包含片内的硬核NoC,因为它们正在达到相当高速的数据流量——特别是当你拥有100千兆位的SerDes和HBM2的时候,此时你想通过软逻辑为每个通道提供1-2太比特,这基本上会使用掉所有的软逻辑,剩余的软逻辑不足以用于处理。”
因此,这种带宽将需要将数据传输硬件化,这与强制使用硬核DSP或硬核存储控制器的方式非常相似。未来几代FPGA可能会看起来像棋盘似的街道,此处的街道是硬核的128、256、512个12位的总线,在1-2个周期内从头走到尾,并且不会使用任何软逻辑。
Garibay说:“与此同时,还有一个综合功能,作为将这些功能硬件化到FPGA中的一部分,即为这些通道分配入口和出口,因为我们正在传输海量的数据,我不知道如何通过软逻辑做到这一点。这是真正将NoC加入FPGA的开始,因为NoC总是个好主意。”
文章来源:半导体行业观察微信公众号,ALIFPGA摘录分享
版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处
作者:杭州卿萃科技ALIFPGA
原文地址:杭州卿萃科技FPGA极客空间 微信公众号
扫描二维码关注杭州卿萃科技FPGA极客空间
FPGA的新变化的更多相关文章
- [转]Material Design Library 23.1.0的新变化与代码实战
Design Library出来已经快有一个月了,当时大概看了一下介绍这个新版本变化的译文,内容不多,给我印象最深的就是Percent lib.AppBarLayout 和NavigationView ...
- Material Design Library 23.1.0的新变化与代码实战
Design Library出来已经快有一个月了,当时大概看了一下介绍这个新版本变化的译文,内容不多,给我印象最深的就是Percent lib.AppBarLayout 和NavigationView ...
- 从iOS 11 UI Kit中谈谈iOS 11的新变化
北京时间9月20日凌晨1点,iOS 11终于迎来了正式版的推送,相信各位小伙伴已经在第一时间进行了升级.iOS 11毫无疑问是一次大规模的系统更新,UI.系统内核.锁屏等多方面都进行了不同程度的改进. ...
- Delphi XE7 GPS控件android下的新变化
Delphi XE7 GPS控件的Android新变化 GPS控件的Accuracy可以起作用了,Accuracy>0时: 1--100:ACCURACY_HIGH 101--500 ...
- 前端面试之HTML5的新变化
前端面试之HTML5的新变化 H5新增语义化标签 头部标签 <header> :头部标签 <nav> :导航标签 <article> :内容标签 <secti ...
- iOS8.3发布了Swift 1.2带来哪些新变化
苹果前几日在面向开发者推送iOS 8.3 Beta的同时,还发布了版本号为6D520o的Xcode 6.3 Beta,其中便包含了iOS 8.3 Beta和OS X v10.10 SDK,并进一步提升 ...
- [译] OpenStack Kilo 版本中 Neutron 的新变化
OpenStack Kilo 版本,OpenStack 这个开源项目的第11个版本,已经于2015年4月正式发布了.现在是个合适的时间来看看这个版本中Neutron到底发生了哪些变化了,以及引入了哪些 ...
- [译] OpenStack Liberty 版本中的53个新变化
一个新的秋季,一个新的OpenStack 版本.OpenStack 的第12个版本,Liberty,在10月15日如期交付,而且目前发行版本已经备好了.那么我们期望能从过去六个月时间的开发中获得些什么 ...
- XCode9的新变化
XCode9已经随着ios11的发布发布了,那么在这个XCode9版本中有哪些变化呢? 1 折叠代码 焦点在方法的实现体的方法名上,按comman键,则整个函数会被框住.用来标志这个方法的起点和终点 ...
随机推荐
- centos 7 nginx 远程无法访问的原因
1.购买的阿里云需要添加安全组 80端口就可以用了 2.检查防火墙是否关闭 systemctl stop firewalld 这点很重要 我就是查了一天才发现centos7 防火墙开着 难怪几把搞 如 ...
- springcloud- FeginClient 调用统一拦截添加请求头 RequestInterceptor ,被调用服务获取请求头
使用场景: 在springcloud中通过Fegin调用远端RestApi的时候,经常需要传递一些参数信息到被调用服务中去,比如从A服务调用B服务的时候, 需要将当前用户信息传递到B调用的服务中去,我 ...
- MoreEffectiveC++Item35(异常)(条款9-15)
条款9 使用析构函数防止内存泄漏 条款10 在构造函数中防止内存泄漏 条款11 禁止异常信息传递到析构函数外 条款12 理解"抛出一个异常''与"传递一个参数"或调用一个 ...
- Java反射-初步入门
Java反射-初步入门 学反射先了解什么是反射. 百度百科:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动 ...
- linux下如何启动和关闭weblogic .
在你定义的域中可以找到如下命令: /[youHome]/domains/[yourDomain]/startWebLogic.sh /[youHome]/domains/[yourDomain]/st ...
- sar工具使用详细介绍
一:命令介绍:参考资料:http://linux.die.net/man/1/sar sar(System ActivityReporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工 ...
- sql密码修改
首先,以window 认证登陆. 2 然后,在 安全性---->登录名---->sa.右击 选择属性.直接修改 星号密码即可. 3 然后 在右上角 文件--->链接对象资源管理器-- ...
- 使用Sinopia搭建私有npm仓库
使用Sinopia搭建私有npm仓库 在用npm装包的时候,每次都要下载一大堆,慢且不说,npm还老被墙,所以就想到在公司内部搭建npm仓库镜像.大概看了几个,觉得Sinopia最简单也好用,所以就使 ...
- CuratorFramework入门指南
CuratorFramework入门指南 原文地址:https://github.com/Netflix/curator/wiki/Getting-Started CuratorFramework作为 ...
- hiho1601最大分数 DP
#1601 : 最大得分 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho在玩一个游戏.给定一个数组A=[A1, A2, ... AN],小Hi可以指定M个 ...