为FPGA工程师节省十倍开发时间

来源:电子发烧友 作者:方伟锋2015年01月04日 16:35
[导读] 一般来说,解决时序问题的方式无非是修改设计源代码,并手动进行优化。这看起来虽然可行,事实上并不高效,甚至是徒劳无益的。因为修改时很可能会引入新的Bug,或者在解决了一条关键路径的时序问题时,影响到另外一条关键路径等等。

  对FPGA工程师而言,耗费数月精力做出的设计却无法满足时序要求,这是一件令人相当郁闷的事情。一般来说,解决时序问题的方式无非是修改设计源代码,并手动进行优化。这样的传统设计流程,受限于工程师的经验,因为修改时很可能会引入新的Bug,或者在解决了一条关键路径的时序问题时,影响到另外一条关键路径等等,因此并不高效,甚至是徒劳无益的。对于已有的优秀设计实现,并没有相应机制确保这些经验能够应用到下一次设计中,这对公司来说是个极大的浪费。

  Plunify 工程师对FPGA设计流程的诸多挑战感同身受,基于多年的行业经验开发了FPGA设计优化专家---InTime。InTime结合大数据分析和人工智能,使得工程师可以调动海量服务器级别的资源来改善设计,而不仅是传统的计算能力有限的单一计算机。这极大地增强了每个工程师的设计实现和解决问题的能力,使其能够关注于设计大局,而不是止步于代码修改。凭借“InTime”这一开创性软件,Plunify公司也顺利成为了Altera全球合作伙伴中的一员。

  Plunify公司联合创始人张伟雄

  Plunify公司联合创始人张伟雄表示,InTime软件借助于计算资源和机器学习技术,快速地生成解决设计问题的优化策略,可以为工程师节省将近10倍的开发时间。

  那么InTime到底是一款怎样的设计软件呢?据张伟雄介绍,InTime其实是一个针对FPGA综合与布局布线问题的专家软件,它的独特价值在于,可以自动寻找不同的工具参数设置组合,搜索最优解决方案,在无需修改RTL代码的前提下,即可满足时序要求。

  InTime:为FPGA时序设计量身打造的优化软件

  随着大型器件的普及和设计功能复杂度的变化,满足时序要求变得更加困难,这不仅延长了产品上市周期、也增加了开发成本,包括人力资源成本。 Plunify公司的联合创始人张伟雄先生指出:“Altera认可我们的产品也是基于这个考虑:能够帮助客户更快、更好的地完成设计。例如在设计收尾阶段,用户会面临来自项目进度的巨大压力。而InTime自身的优势使其能助用户一臂之力。”

  张伟雄表示,InTime内置了很高的智能,它会从宏观的角度来检查设计,并理解设计结果、FPGA器件和工具参数之间的互相关系,而不仅仅局限于设计的关键路径。首先,InTime会理解设计特点,例如设计类型,然后采用正确的FPGA工具设置组合,这些组合也称为“ 策略” , 是InTime 融合了机器学习和大数据分析算法而生成的。策略能协助设计师解决问题,让项目实现最好的结果。

  张伟雄进一步指出,InTime安装快速、使用方便。“InTime支持业界通用的LSF(负载共享系统)、SGE(Sun Grid 引擎)等。此外,大型工作站互联网络通常十分繁忙,需要一个机制来确保任何一个程序的运行不会占用过多的资源。作为InTime主程序的助手,InTime Agent插件能帮助实现这一目标。Agent负责协调服务器计算资源,分配作业并监测运行情况,定时上报各工人服务器工作状态供主服务器决策。比如若主服务器发现某个工人服务器CPU利用率较高,便不再继续分配新作业。”

  业界首次把大数据分析和人工智能结合应用到芯片设计领域

  张伟雄强调,InTime之所以能够做到根据项目特点推荐最佳的工具参数组合,除了利用机器学习的功能外,大数据分析同样起到了至关重要的作用。这也是业界首次将大数据分析和人工智能结合应用到芯片设计领域的案例。采用大数据分析的优点在于,项目产生的数据量越多,InTime越能从中找出有利于设计的策略。目前,InTime 的数据库已累积了超过4万个小时的测试经验。利用从不同的设计学到的经验,InTime不只能推荐最优越的策略,还会从新的编译结果学习,不断地自我改良。InTime 不像“扫种子”,它产生的结果并不是随机的或不相关。InTime会自动整理不同的结果,然后分析为一体。 这就是说下次的编译作业,InTime会推荐适当的参数组合,基于之前的结果分析。

  “另外,InTime可以在多种IT环境下灵活布署。根据用户计算资源的不同,布署类型包括:1、Linux工作站 ;2、本地PC机 ;3、Linux工作站 +本地PC机等三类情况。这使得用户能够充分利用现有的计算资源来改善设计,避免额外的投入。”张伟雄补充道。

  优化设计的最高频率

  作为设计出身的创始人,张伟雄先生对于工程师朋友的需求可以说得上是了若指掌。他指出,FPGA 工程师期待能利用现有的器件,提高设计频率,以达到更为卓越的时序特性。对此,InTime依靠机器计算能力弥补人为经验的不足。设计者可以在已达到时序要求的工程上手动调高设计频率,InTime会尝试不同的编译策略组合,尤其是那些与设计频率关系密切的编译选项,诸如流水线优化等,根据海量的编译结果分析,结合数据库知识,不断优化组合,直到达到设定的时序目标。相比于修改代码,更换更高等级的器件等方式,高效而且极大降低解决问题的的复杂度。

  欲了解更多关于InTime的信息,可访问 http://www.plunify.com/cn/product.php

 

相关阅读

发表评论

elecfans网友

分享到:

用户评论(0

  • 型 号
  • 产品描述