完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
作为可进行完全配置的片上系统(SoC),FPGA 在其30年的历史中发展迅猛。像 FPGA 这样的可编程器件的问题在于它十分需要布局资源。虽然说将逻辑块散开可以避免布局拥塞,但是为了性能,紧密联系的逻辑电路之间应该相互紧邻。拥塞问题十分常见,赛灵思,英特尔和 Plunify 的应对方法又是什么呢? 赛灵思 FPGA 中特定的资源会提供某些机制,使布局空出来,因此避免了可以让设计变慢的拥塞。比如说,如果一些有高 fanouts 的信号在设计的时钟分布(clock distribution)中没有被要求,赛灵思的工具会把他们移送到全局时钟树(global clock trees)。赛灵思的产品营销经理 Ron Plyler 认为,Virtex 7系列的优化技巧仍然很保守,但是UltraScale系列的技巧就会更积极,因为这个系列有着更加丰富,更加灵活的时钟结构,可以实现比7系列更多的优化。他说:“这些优化会在布局结束时,也就是当全局始终布局和资源分配已经完成时,并且此时的时序预估也更加准确。” Plyler 认为减少拥塞的常见技巧就是专注于 Rent exponent,这是一个衡量设计中每一个块需要的连接数量的参数。工具的报告中提供每一个块的连接测量值,优化工具可以尽力提升 Rent exponent。 Plyler 说:“这些策略通过选择性地减少提升Rent和拥塞的结构,来减少拥塞。这些结构包括 slice multiplexers,carry chains 和有多个输出的 LUT。” 英特尔 英特尔可编程系统部门的高级营销经理Craig Davis说:“很多延迟都发生在布局。”这让布局和布线之间的互动成为高性能设计中最重要的一个因素。修正过的复杂的逻辑块和硬布线的核(hardwired cores),限制了布局布线的任务,并且很容易导致意想不到的拥塞。当今使用的工具都很专注于缓解这种拥塞,并减少布局延迟的影响。 在Stratix 10系列的器件中,英特尔的可编程系统部门决定在每一个可能转换的地方都放上寄存器,这样可以支持很多常见的时序提升策略。这些“超级寄存器们”也有局限性, 他们没有异步复位的输入,所以不能消耗过剩的布局资源,他们众多的数量是为了可以为流水线(pinelining)创造更多的机会。 有些电路无法从流水线中受益,因为他们有更长的反馈路径。英特尔的Quartus工具可以帮助确认使用流水线和Shannon decomposition等高级转变的机会。Davis说:“它可以对用户的设计进行一些推测性的改变:如果我把异步清零拿出设计怎么样?这会为再定时创造机会,所以如果我放入寄存器的话可以提升时钟速度。” Plunify 即便不改变 RTL,设计工具中可能提供优化的参数组合也有很多,而且每一个都很复杂。来自新加坡的 EDA 工具厂商 Plunify 发现机器学习可以为不同 FGPA 设计找出有效的组合。 Plunify 的算法在很多案例中得以证实,在这些案例中,将逻辑与硬布线的块分离可以提升整体时序,因为这减少了因需要专门布局来连接固定位置的核而导致的拥塞。Plunify 的 CEO 黄瀚华说:“尽管从硬件工程师的角度来说,应该尽可能多地使用 DSP。但使用限制 DSP 数量的设置其实可以显著提升结果。” 基于这个算法,Plunify 推出了优化软件 InTime,因为这个软件使用机器学习,所以比普通 FPGA 流程需要更多的数据。决定参数组合是否有效的关键是要运行很多编译。一般来说,InTime 的用户需要自己不断编译来累积设计的数据库。但是黄瀚华发现很多用户没有足够的服务器来支持这个数据累积的过程,所以今年年初,Plunify 推出了 InTime服务。InTime服务直接借助 Plunify 公司自己多年累积的数据来帮助用户改变设置,提升时序性能。 Plunify 的 COO 张伟雄补充到:“使用这种方法,我们曾经让多达2ns最差负余量 (WNS) 通过时序。这结果连我们自己都惊讶。一般来说,当我们首次收到一个设计的时候,用户已经尝试了所有积极的设置,但是没有取得最好的结果,而我们可以找到几组更有效的设置。也就是说,把所有参数都调地很积极不等于让软件得出好结果。” 他接着说:“我们的方法需要更多数据。每次运行结束之后,用户应该储存数据,为下一次运行做准备,这将会使结果大不同。谁有更多的数据,谁就有更好的结果。难点其实是在于如何使用这些数据,这也是每一个机器学习应用的挑战。” 结语 机器学习的崛起让 FPGA 的厂商着眼于未来更加复杂的设计流程。赛灵思的CEO, Victor Peng 认为“数据爆炸”即将到来,他说:“这将会要求一种完全不同的计算方式。我们已经为这个转折点做好了准备,赛灵思将不仅局限于FPGA。这个新产品类别的名称叫做多样处理平台 (heterogeneous processing platform),我们将会为更广泛的工作流程加速。” 在赛灵思的Everest期间即将到来之际,片上网络 (network-on-chip,NoC) 会通过使用7nm处理器部署十亿以上的晶体管,帮助多种器件减少拥塞。NoC 致力于在可编程结构中传输数据,并专为致力于机器学习等任务的计算引擎而打造,减少细粒度布局结构的拥塞。它将为解决可编程器件的阻塞问题迈出坚实的一步。 (本文节选自New Electronics记者Chris Edwards的文章) 请在我们的公众号了解更多 InTime 的信息,或者直接申请免费试用。 |
|
相关推荐 |
|
基本FPGA或者树莓派或者其它微处理器(尽量压缩成本且完成项目)DFB激光器稳频
1142 浏览 1 评论
2284 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1176 浏览 0 评论
3421 浏览 1 评论
3059 浏览 0 评论
2292 浏览 58 评论
6142 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 22:44 , Processed in 0.387903 second(s), Total 30, Slave 24 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号