中文 英语

验证记分卡:行业做的如何?

功能验证任务持续增长。是该行业如何应对不断发展变化的要求吗?

受欢迎程度

半导体工程坐下来讨论如何验证工具和方法已经跟上需求,拉里Lapides,负责销售的副总裁治之软件;迈克·汤普森OpenHW工程验证任务组主管;保罗•Graykowski技术营销经理Arteris IP;Shantanu Ganguly,产品营销的副总裁节奏;产品管理主管和马克克拉西门子EDA。以下是摘录的谈话。第2部分讨论在这里

半导体工程坐下来讨论如何验证工具和方法已经跟上需求,与拉里·Lapides负责销售的副总裁治之软件;迈克·汤普森OpenHW工程验证任务组主管;保罗•Graykowski Arteris IP技术营销经理;产品营销副总裁Shantanu Ganguly,抑扬顿挫;产品管理主管和马克克拉西门子EDA。以下是摘录的谈话。

SE:威尔逊的功能验证调查研究和西门子EDA指出一些令人烦恼的趋势。越来越多的问题出现在模拟,现在设计首先通过硅成功的数量正在下降。看起来不保持验证工具和方法。什么是怎么回事?

Lapides:作为一个外部观察者的三巨头,已经有一个真正的重点——尤其是在过去五年中——验证的大箱子,在模拟器上。他们在验证过程和验证方法,这很好。但是他们是这些公司的高利润产品,强调销售。强调可能从一个更加平衡的验证流,覆盖了一切。我没有数据支持,从验证的角度来看,但我当然知道从销售的角度来看这就是专注和能量。

汤普森:我想知道导致这些re-spins类型的错误,因为从我看来,验证通常是分层次——第一块级别的,那么一个超级块级别,然后系统层次。我相信我们有一个很好的处理块级验证,使用模拟和正式的。盖茨曾经是10000块的定义。现在是接近一百万门,被扩展。系统级验证可能是我们没有做一份这么好的工作。大铁模拟器是一个很好的方法做系统级验证。我们缺乏或不使用,我们的指标在块级别,在系统水平。在块级功能覆盖率,代码覆盖率,断言覆盖率,视锥细胞的影响,所有伟大的东西来衡量的质量验证。但在模拟,我们一起把所有的模块和集成软件,我们没有很多报道运行测试。这就是为什么虫子慢慢出现,或者至少一个关键方面。 When doing the integration of blocks to form the system, we’re not applying any metrics.

Ganguly:首先,对模拟的评论。我谈过很多客户,每个人都谈论问题和模拟设计,但没有人愿意把真实的钱解决这个问题。我不认为这是一个非常大的问题。蠕变的模拟缺陷差距在建模、模拟的行为并不是正确的封装在数字级别。如果我看现代产品,物理模拟/数字接口,在并行转换器,在锁相环边界,等等。这是一个有限的和相对少量的东西。总有被模拟设计师和数字设计师之间的鸿沟,很多时候他们欺骗建模。在硬件的更有趣。我不同意你需要硬件上运行的报道。这就是我想做的最后一件事。 Run as much content as I can, as fast as I can. I want to run apps, benchmarks, games that a user will run on the phone. If I look at network switches, people will run synthetic content using test generators, but eventually they want a speed bridge to plug it into the wall, because at that point, you’re going to see traffic. You will never be able to program this with network packet generators. So the idea is to run as much realistic content as you can early on. Coverage at the block level is fine. One company had a bug that escaped into silicon, and this happened despite a very good verification technology. It happened after a sequence of events that would take weeks or months to simulate. You will see a concurrency bug, with certain traffic patterns that may not happen for weeks on an emulator. But it happens in four or five minutes when somebody plugs it directly into a PC. You really want to run as much content as possible. There is a place for emulator, there is a place for prototyping, and for virtual platforms. The overall strategy is very important.

Graykowski:当你看块级别,在大多数情况下,处理的很好,至少在小块。和所有的传统技术,写作UVM,做功能覆盖率、代码覆盖率——这似乎很好地伸缩。有两件事我想指出。当工作在PCI Express在过去的生活,我讨厌称之为一块,因为它是那么大,有很多的痛苦。当您运行测试套件,他们很长时间序列和涉及大量的随机化。当失败时,它可以很难弄清楚发生了什么事。只是试图诊断,这是一个需要改进的区域。我们需要聪明的调试工具。你怎么给调试带来智慧能力和能够抽象出来,这样您就可以调试更快吗?其次,我看到更多的系统级的问题。 When you are putting big chips together, you can really beat it up at the lower levels, but when you move to that system level, it’s challenging. I’m talking more from the simulation perspective. There are so many combinations. You’re focusing on data flow, you have to make sure that things can interplay, there are issues with timing between blocks, different clock domains, different power domains, all those types of things. And that’s an area where I see folks just cannot spend enough cycles to make sure it is perfect.

Ganguly:这是一个有趣的点。子系统组装在织物,能够进行功能和性能测试,是一个非常有用的中间步骤,以防止错误转义。从历史上看,当他们做一个SoC大会,他们确保知识产权的行为,他们能够读和写。然后他们就跳入“深渊”的事情。但这中间步骤可以很合理的方式来定义产品,本质上是子系统结构。我们可以定义CPU和内存复杂,然后你可以推荐的交通,你可以测量性能。你甚至可以做一些压力测试领域的缺陷,或有趣的场景,作为PCIe和其他外围设备。这绝对是一个地方我想我们可以让事情更容易,或者很多的构建块。另一点很有趣。如果你看看调试、5%的人能够快速调试。 And then the productivity falls rapidly. How do we raise that level? Debug is actually the last frontier, making something that happened a half-million clock cycles ago and then went through a bunch of events and eventually caused something to fail. How do we debug that?

克拉我想连接到调试部分,但我想先从原来的模拟问题。我不认为我们声称自己完全知道的答案。但在模拟中,如果有什么事情比数字更cpu密集型RTL模拟,香料,模拟仿真,只有世界上如此多的cpu,您可以利用。它并没有真正的规模。我想这到调试的原因是,这是一个机器学习领域能提供10倍,100倍的好处在模拟仿真。我们开始看到这,和调试。我们跟客户和做研究,表明调试是一个成熟的机器学习类型的好处。你做一遍又一遍,使生态设计的变化。有很多锻炼的机会,节省很多时间。在仿真方面,评论了三大推模拟器,但这是真正的问题。 Are we just responding to demand, or are we pushing it because it is a lucrative business?

Ganguly:我们是应对需求。很明显,没有人要写这样一个大检查,除非他们是绝对相信。

克拉:从块级到系统级时,也许他们不想做覆盖以完全相同的方式在系统水平。没有人想要盖点从我的块级别并运行它在系统级别。但我确实希望能够利用基础设施。如果有覆盖模型显示块级的事情我做了模拟,或正式的验证,我希望能够重用这些信息在系统水平。从我们看到的在市场上,我不认为任何人的这个问题很好解决。在仿真领域,我们的客户告诉我们他们有许多软件开发人员10倍硬件开发人员,或者更多。仿真和FPGA原型用于多种目的。一是做系统级验证,你想重用尽可能块的水平。其他地区是在软件开发中,能够做你的软件开发与硬件开发,没有等到你有硅。

汤普森:当然,如果你可以利用一些软件来验证设计的硅,这是更好的。

克拉:现在增加所有的,你想知道为什么三分之二的设计需要re-spin ?

汤普森:一个大的是因为使用模式——得到你所有的post-silicon内容清洁你录制前制造的。最近,我们已经越来越多的设计公司,这样做虽然有些已经多年,其他公司也拿起这个想法。硅的想法是,当你回来,你有一个失败,你知道什么是发生在硅硅因为调试基础设施的投入,来测试硅,实际工作。这是一个非常重要的运动,越来越多的公司找出他们需要这么做,我们将开始看到re-spins下降的数量。你先回到健康的硅,你可以通过你的第一套裸金属验证非常迅速。这个过程是非常重要的。

Lapides:你正在谈论的周期可能需要暴露缺陷。这是一个虚拟平台可以真正帮助的地方。为了说明我的观点,客户想把Linux。他们到达了Linux引导提示,太好了。但是他们继续使用虚拟平台和运行更多的测试——不仅仅是在Linux上的应用程序,但是运行多个应用程序。他们发现几十亿指令后一个问题,有先发制人的切换的问题,任务切换在Linux中。但是你必须得到数十亿美元的指令,您必须运行多个应用程序。有testbench质量问题在系统层次发挥作用了。

Ganguly:虚拟平台绝对占有一席之地。然后最终能够把这个虚拟平台,创建一个混合,有一块实际上是RTL的IP,模拟器或原型形式,连接起来。这增加了一个水平的现实主义。虚拟平台是非常好的。他们不捕获的块的一些底层的互动,很喜欢打断序列,底层硬件抽象出来的软件模型。

Lapides:另一方面是有团队的成功。有一个公司建立一个先进的人工智能加速器,插入到数据中心。他们有一个非常严格的DV方法论的硅。他们有一个非常严格的虚拟平台软件的方法。他们拿回了硅,几天内启动和运行。好团队,与一个非常严格的方法,一个计划良好的文档记录,和正确的度量,可以成功。

汤普森:OpenHW处理开源社区很多。我看到很多坦诚的天真开源社区内部对验证。我们不应该太聪明,因为这都是一样的天真的位置,整个行业已经30年前。那时我们会带出一个门设计,10000吨的病菌。我们现在可以做100亿门设计,第一次实际工作。所以建立球员付出了代价,学到教训,回去,买了模拟器,现在成功。他们了解并愿意花钱。新进入者尚未得知。他们得到一个加速的速成课。

相关的
验证方法有多成熟?
行业发展与新球员,新问题和新挑战。这是为什么验证似乎挣扎吗?
EDA的下一个化身
有关于EDA行业的严重破坏,耦合新兴领域特定架构的时代?学术界认为肯定有。
谁处理器验证吗?
异构设计和人工智能/毫升处理公开现有的方法和工具的局限性。
定制、异构集成和蛮力验证
为什么需要新的方法来设计复杂的multi-chip系统。



留下一个回复


(注意:这个名字会显示公开)

Baidu