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

分享到:
187
下一篇 >

对FPGA工程师而言,耗费数月精力做出的设计却无法满足时序要求,这是一件令人相当郁闷的事情。一般来说,解决时序问题的方式无非是修改设计源代码,并手动进行优化。这看起来虽然可行,事实上并不高效,甚至是徒劳无益的。因为修改时很可能会引入新的Bug,或者在解决了一条关键路径的时序问题时,影响到另外一条关键路径等等。

随着一款名为“InTime”的设计优化软件发布,这样的时序难题终于得到了有效解决。凭借“inTime”这一开创性软件,Plunify公司也顺利成为了Altera公司合作伙伴中的一员。

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

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

随着大型器件的普及和设计功能复杂度的变化,满足时序要求变得更加困难,这不仅延长了产品上市周期、也增加了开发成本,包括人力资源成本。Plunify公司的联合创始人张伟雄先生指出:“Altera认可我们的产品也是基于这个考虑:能够帮助客户更快、更好的完成设计。我们的产品应用时间点通常是设计收尾阶段,此时,客户会面临来自项目进度的巨大压力。作为第三方工具提供商,Intime在此阶段表现优异。”

那么InTime到底是一款怎样的设计软件呢?据张伟雄介绍,InTime其实是一个QuartusII等FPGA开发工具的插件,它的独特价值在于,可以自动寻找不同的工具参数设置组合,搜索**解决方案,在无需修改RTL代码的前提下,即可满足时序要求。

张伟雄进一步指出,InTime内置了很高的智能,它会从宏观的角度来检查设计,并理解设计结果、FPGA器件和工具参数之间的互相关系,而不仅仅局限于设计的关键路径。首先,InTime会理解设计特点,例如设计类型,然后采用正确的FPGA工具设置组合,在这个过程中遇到的*大挑战是将会面临多达70个不同的组合,但是InTime可以运用机器学习功能,推荐其中**的默认设置或配置。

紧随潮流的云计算和大数据分析

张伟雄强调道,InTime之所以能够做到根据项目特点推荐*佳的工具参数组合,除了利用机器学习的功能外,大数据分析同样起到了至关重要的作用。采用大数据分析的优点在于,项目产生的数据量越多,InTime越能从中找出有利于设计的策略,以告知客户下一步该怎么做,相比较正常情况,inTime甚至可以帮助工程师节省更多的开发时间。

“另外,使用公有云服务的话也有多种数据传输方式。我们会为用户提供AES加密的客户端,使其能够由SSH或SFTP下载。当他们在我们的VPN中,由于FPGA需要读取这些数据,他们会被解密。一旦编译完成,所有数据将会被彻底**。当然,当客户拥有自己的数据中心时,就不必再使用公有云服务。”张伟雄补充道。

为了让大家更好地了解InTime这款软件,以下是从Plunify官方网站收集来的详细介绍:

产品特点

InTime是个针对FPGA综合与布局布线问题的专家软件。它利用大量且廉价的云计算资源,通过人工智能和大数据分析技术,在不需人工修改代码的情况下自动地达到更优越的设计结果。

InTime可以高效、灵活地利用计算资源,安装快速、使用方便。

1)InTime可以灵活布署于多种IT环境下。可支持业界通用的LSF(负载共享系统)、SGE(Sun Grid 引擎)等。用户可以自由选择公有云(租借Plunify云资源)、私有云(用户自己的计算资源)布署。其中,私有云布署包括1)Linux工作站 2)本地PC机 3)Linux工作站 +本地PC机等三类情况,使得用户可以*大限度利用已有的计算资源。

2)InTime Agent插件使其能够高效利用服务器资源。大型工作站互联网络通常十分繁忙,需要?一个机制来确保任何一个程序的运行不会占用过多的资源。Agent正是为这一目的而设计,作为InTime主程序的助手,负责协调服务器计算资源,分配作业并监测运行情况,定时上报各工人服务器工作状态供主服务器决策。比如若主服务器发现某个工人服务器CPU利用率较高,便不再继续分配新作业。

3)充分利用空闲的计算资源。InTime能让您选择不同的编译环境,协助您利用公司里空闲的服务器,或则采用Plunify云平台的资源来进行编译。只要安装InTime,就能支持并行编译,不但能大幅度削减运行时间,也可以更快地达到理想的结果。整个流程完全不需要任何手动的步骤。

InTime结合大数据分析和人工智能的原创理念有效地优化原有设计

1)解决FPGA时序收敛问题 InTime是针对FPGA时序收敛和设计优化的新?代设计软件。作为FPGA原厂工具的插件,它能分析并了解设计项目的特点和问题,然后推荐*佳的工具参数组合。这些组合也称为“ 策略” , 是InTime 融合了机器学习和大数据分析算法而生成的。策略能协助设计师解决问题,让项目实现*好的结果。在无需修改代码的情况下,InTime能帮您获取更好的结果。InTime的数据库已累积了超过4万个小时的测试经验。利用从不同的设计学到的经验,InTime不只能推荐**越的策略,还会从新的编译结果学习,不断地自我改良。InTime 不像“扫种子”,它产生的结果并不是随机的或不相关。Intime会自动整理不同的结果,然后分析为一体。 这就是说下次的编译作业,InTime会推荐适当的参数组合,基于之前的结果分析。产生的数据越多,InTime越能找出有利于设计的策略。InTime会监视所有的编译作业,读取结果并做个总结,然后产生直观的图形和简单易懂的统计数据。完成后,您能轻易地了解编译的结果,也可以从InTime 导出*好的参数文件,接着导入FPGA 原厂工具来重现*佳的结果。

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

产品**技术点

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

大数据分析和人工智能已经在多个领域得到广泛应用,比如IBM Watson,谷歌和百度搜索引擎。在半导体芯片设计领域,假如把芯片设计建立一个模型,输入条件是器件、工具、算法、模型、代码、工艺等,输出结果是时 序、占用率、功耗等。InTime通过分析输入输出的相关性,建立数据库,从大量结果比对中挑选出符合优化目标的组合,从而达到优化设计的目的。 Plunify为InTime而特别设计的大数据分析模型,经过实践证明有效帮助设计找到**结果。

2 FPGA设计流程的一次全新**

对 于业界广泛应用的FPGA芯片开发设计领域,时序、功耗、设计复杂度等诸多问题,是对传统设计方式的一个巨大挑战。目前,工程师还是沿用传统设计手段和方 式来解决问题,不仅严重依赖于人的经验,而且成本高,效率低。对于已有的**设计实现,并没有相应机制确保这些经验能够应用到下一次设计中,这对公司来说 是个极大的浪费。InTime结合大数据分析和人工智能,使得工程师可以调动海量服务器级别的资源来改善设计,而不仅是传统的计算能力有限的单一计算机。 这极大地增强了每个工程师的设计实现和解决问题的能力,使其能够关注于设计大局,而不是止步于代码修改。这是对设计流程的一次全新**。

你可能感兴趣: 可编程逻辑 图片 FPGA FPGA工程师 Altera
无觅相关文章插件,快速提升流量