芯片设计正在被改变
扫描二维码
随时随地手机看文章
半导体设计和制造领域无疑是最有前景的一个领域。
AI正在改变芯片设计
机器学习/深度学习/人工智能(ML/DL/AI)的关键是了解设备如何对真实事件和刺激作出反应,以及如何优化未来设备。这需要筛选越来越多的数据,通过自动化来识别复杂模式、异常情况以及找到适当的位置。
eSilicon营销副总裁MikeGianfagna说,“我们收集的数据用来开发我们自己的方法。目前的存储器,我们看的是设计、内存以及对不同的内存配置建模。你可以在它上面运行模型与真实应用作比较。所以我们采用参数化的通用内存模型并将其映射至实际内存。我们也可以从之前的设计中看人力和时间表,还可以对计算资源和EDA许可做同样的工作。如果你只有12000个CPU但需要24000个,那么你需要使用基于云的解决方案来实现。但那不会很快发生,你需要对此进行规划,很大一部分是围绕存储器的。”
这只是缩短设计周期并基于经验减少潜在问题的一系列活动的开始。
Synopsys验证组营销副总裁MichaelSanie说,“整个行业正在学习如何使用人工智能和机器学习来构建和调试系统。有许多关于何种堆栈可以用于AI算法的建模和模拟,这里的目标是将人工智能用于工具以及其它地方。”
在很大程度上,这是对系统级设计和复杂程度的认识,即使这些工具需要其它工具的帮助。
Cadence的营销总监StevenLewis说,“现在,随着EDA生态系统在机器学习方面的工作,我们正试图弄清楚它如何能够帮我们解决更大的验证问题,整个问题就回归到,‘这不是早期的10个晶体管’。我很赞同这点。构成一个存储器要10亿个晶体管,那就需要知道如何布局,如何在物理层面布线。如何对这些电路执行最最好的布局,如何放置这些组件?这一直是机器学习任务的一部分。然而我们不把它称为机器学习,但它确实是我们试图找出最佳方法的算法的一部分。
如果你可以处理特定的拓扑结构,开始了解7nm晶体管的行为方式,那你就知道了大部分流程了,因此你可以更好地判断什么时候开始放置它们,什么时候开始布局,什么时候开始分析。”
前段时间,芯片制造商开始推动六西格玛设计(six-sigmadesigns),但是一旦复杂到一定程度,达到要求的六西格玛质量所需的模拟开始花费大量时间时,他们就不再讨论这种方案了。但随着汽车制造商对无缺陷电子产品的需求,又掀起了关于六西格玛的讨论,在合理的时间内实现这一目标的唯一方法就是利用机器学习。
Lewis说,“通过机器学习,我们可以对晶体管的行为进行编程,因此从统计角度讲,我不必进行1000万次的模拟。我可以使用算法和机器学习技术来保持一定精度的条件下确定需要运行的最少模拟次数。如果我可以编程更多的算法,如果我可以对更多我进行的工作编程,那我就可以只收集这些数据的同时还保证工作的质量。这就是机器学习可以帮助我们的地方。”
这一定程度上已经在设计领域发生了,但它在未来会有更加显著的使用。
ArterisIP的首席技术官TyGaribay说,“这项技术可以使你实现过去不能实现的事情。你可以通过这种技术来确定通孔位置。如果你无法证明某件事,你可以使用排除法。使用传统的功能安全的形式,你可以放下两件相同的事情,就像在汽车制动系统,发动机控制,安全气囊控制系统那样。但当我们通过电线驱动时,通常是在你的汽车中创建一个服务器,将功能整合到系统中并通过电线进行通信。目前777型喷气式飞机可以做到这一点,但是成本/功能差别很大。为了将它应用于汽车,我们需要开发新技术并找到应用它们的方法,取代过去已验证但太贵且速度很慢的技术。”
大量的数据
这将需要筛选大量的数据。
NetSpeedSystems营销和业务开发副总裁AnushMohandass说,“在硅谷,几乎每个人都擅长获取某种形式的数据。但真正厉害的人是那些经历完整链条的人,他们理解了从了解到行动的数据链。我们已将此放回到我们的设计环境和IP中。机器学习是其中的一个方面。”
Mohandass说,利用机器学习关键的一点就是挖掘第一手数据。“你使用的训练数据是什么?它有多大?它们之间有偏差吗?你是否偏向于某种形式的设计或其它设计?我们花了大量时间让我们的训练加快速度,没有任何偏差。第二个方面是一量你获得了数据,你如何将它深刻理解?第三是我们的机器学习环境,驱动力是什么?如何驱动客户?
在生成数据时,尤其如果你输入到了机器学习引擎时,数据量对于你来说会爆炸。你看的不是数百和数千行,而是数百万行,因此,突然看到一百万事物的图表是没有任何意义的,所以你试图使它们聚集并观察其趋势。”
在数据挖掘的情况下,机器学习的一个非常实际的用途是搜索异常。
UltraSoC首席执行官RupertBaines表示,“我们已经完成了很多本地工作,所以呈现的结果价值很高,内容很好。现在大多数情况下,这意味着一位工程师正在看它、阅读并绘制它。在某个时候,她会说,‘看起来很奇怪‘,并且会运行一些脚本来试图找出它看起来很古怪的原因。”
通过帮助他们找到问题,引起他们对突然改变的行为模式的注意,可以帮助加速工程师的工作。
Baines说,“这可能是像相机应用中那些不变的像素。你说,‘看起来很奇怪‘,你期望像素发生变化。这可能意味着摄像头出现故障,卡住了。也可能是一个安全应用程序,其中永远不访问安全内存的一个特定进程,并且它会尝试这样做,异常检测器会说‘这是不对的,开灯并发出警报。至少好的一方面,是会发出警报。这就像一个防盗报警器。如果夜间有人在你家外面踱步,你有一个可以检测到他们移动的光线感应器,此时它打开灯并发出警报——即使他们没有真正尝试进入,即使你的锁仍然完好无损,他们无法进入房子,但你会知道有人在试图做一些事情。它是TrustZone、OmniSecure或诸如此类的之上的一个额外的安全层。”
机器学习和仿真
正在使用机器学习的另一个领域是确定如果在下个月运行仿真或者如果将仿真与其他仿真器进行比较,仿真的可重复性如何。这也适用于制造测试,结果的周期之间要相关,信号之间也要相关。
西门子公司Mentor的产品营销经理MarkOlen说,“机器学习带来的挑战是你放弃了人类控制事物的能力,这是关键所在。如果我使用带有便携式激励的机器学习技术在我的1000个CPU上进行模拟,它将根据设计响应的方式产生一组结果,因为它从设计的响应中学习。
“但假设在运行几个小时后,我们发现设计中存在两个bug,我们将设计发送给设计人员,他们修复以太网模块或修复结构仲裁方案或其他之后,再次运行仿真。如果使用机器学习再次仿真,则会得到不同的结果。你不会得到完全相同的周期间相关性,因为设计运行不同,可能是因为对它的修复。然而,这对工程师造成了很大的不确定性,因为他们表示他们想要在完全相同的条件下运行完全相同的激励,但实际上设计发生了改变。
“正因为如此,我们在我们的某些技术中进行了切换,这些技术可以关闭部分机器学习功能,以便能够以前所做的某种模拟模式运行。与此同时,有一些先进的客户对这一理念感到满意,并且正在使用全部功能。”
随着设计团队反复运行仿真,将进入片外指标的数据挖掘。这里,Mentor内部和其客户有用的是一个名为Jenkins的开源软件生态系统。Olen说,“这是一个非常热门的话题,所有人都喜欢它,因为它是免费的。但也不是完全免费的,因为即使它是一个开源的生态系统,你必须作为用户进行投资来进行实际整合。我们投入了大量资金将我们的系统整合到Jenkins环境中。”
Jenkins的主要优势之一就是它能够像触发器一样。他说,“你可以有一个定时触发器表明每个人在星期五晚上回家时,有10000台台式电脑闲置,让我们使用它们。因此,在周五下午9点,无论是否需要都会免费地开始回归运行。然后,一旦这些回归运行的结果完成,我们可以将所有结果合并后发回给Jenkins,以便它可以在周一早上出现在工程师办公桌的某个副总裁的电子邮件中,‘好消息是,我们进行了800小时的模拟,没有失败。’另一个触发事件不是基于时间,而是基于条件。例如,如果设计中存在一定程度的代码更改,或每次修改文件时,可启动回归运行。你可以在晚上8点结束时自动发言。如果白天有超过三个文件被修改,那么晚上开始回归运行。”
这会在运行后运行并伴随数据的高峰之后产生回归运行。这不是交易数据。这不是关于总线确认、取指或芯片上实际发生的事情。相反,这是模拟的所有结果,例如检测到的错误,覆盖率以及周期运行。但其中一个问题是,从那里有必要弄清楚如何组合多种类型的数据并将其放入可开采的大型数据库中。
Olen说,“所以,如果我运行了10000个CPU,并且考虑到这一点,并在遍布全球的模拟农场中找出多少工作是多余的和无用的,是否有机会实际完成相同的工作量下一次使用5000个CPU而不是10000?当然,从来没有人这样做。他们实际上是仍然使用10000个CPU使工作量翻倍,这样就能扩大范围”
解决重大难题
Cadence研发部高级主管DavidWhite自20世纪90年代初期一直致力于机器学习,他们合作编辑并共同编写了机器学习的第一本教科书。他说这是一套有趣的工具,可以解决特定问题。“在2009年左右,当我与越来越多的客户合作时,我开始看到相同类型的问题越来越严重。问题主要在三个方面。第一个是规模。我们正在处理越来越大的设计,更多的设计规则和更多的限制,结果就是越来越多的数据。无论是模拟数据,提取数据,处理越来越多的形状和几何图形,更大的技术文件,数据对我们造成的压力越来越大。
现在你已经有了更复杂的设计和电子规则,芯片,封装和电路板之间有更多的相互作用,散热成了一个问题,所以现在复杂度和总体规模都在增长。第三,这两者都开始影响半导体设计团队的生产力,因为规模和复杂性会造成越来越多的不确定性,导致更多的重新设计,进度错乱等问题。“
White说,这些问题的核心是,该行业正在处理更多的数据驱动问题,这需要数据驱动的解决方案。而且,关键是要将数据转换为可用于数据挖掘的格式。White说,“任何使用机器学习的操作或解决方案都会在前端使用某种形式的分析和数据挖掘,机器学习优化和某种形式的并行化,通常情况下,人们会称之为机器学习,即使它们之间并没有明确的界限。”
人们正在角逐如何在巨大的市场和应用中应用分析、数据挖掘和机器学习,AI在改变芯片设计中将发挥重要作用。