中文 英语

尽早开始验证以避免稍后的陷阱

虽然大家都同意验证应该尽早开始,但它并不总是在模拟之前开始。这对于当今许多庞大而复杂的soc来说可能是次优的。

受欢迎程度

至少从理论的角度来看,设计验证应该尽早开始,这是很好的理解。但现实情况是,这种情况并不总是会发生,原因有很多,比如进入市场的时间太长、要添加的新功能太多、缺乏远见和纪律等等。但我们正在取得进展。

Mentor Graphics的首席验证科学家Harry Foster指出,功能验证必须是整个规范和设计过程中不可或缺的一部分,而不是事后才考虑的事情。“当然,整个项目的成功取决于关键的功能验证步骤。因此,通常会有许多利益相关者参与功能验证过程——而不仅仅是验证团队。”

也就是说,功能验证过程必须在项目的早期开始——在项目规范阶段,他解释道。“这里的关键是,你永远不应该指定你无法验证的东西。设计也是如此——设计的可验证性很重要。因此,验证团队应该积极参与规范和设计——学习必须验证的关键特性——并识别可能使验证工作复杂化并保证简化的潜在架构和设计问题。”

在Open-Silicon设计公司,首席SoC架构师Jeff Scott指出,他们的设计团队喜欢在RTL设计的同时开始功能验证,基本上只要有了可靠的规范。理想情况下,验证团队将参与规范的审查,并可能指出可能有助于验证顺利进行的架构和/或设计调整。一旦设计开始,验证环境的工作就可以继续进行。这可能涉及框架、记分牌和其他实用程序,以及预测功能行为的模型,包括来自IP提供商的验证IP。”作为一个框架,Open-Silicon一般遵循OVM/UVM方法。

与RTL设计并行启动验证的优点是明显的进度改进。缺点是,随着RTL设计的进展和规范的更改,验证环境会发生一些变化。然而,斯科特认为,如果工作是并行完成的,整体时间表仍然会更好。“当然,同时进行设计和验证工作需要不同的团队,但我认为这有助于提高整体设计质量,因为有两组人来解释规范,在某种程度上他们必须达成一致。”

福斯特表示同意。“功能验证的过程实际上与设计没有什么不同——成功取决于良好的验证计划。计划源于首先与所有涉众一起审查架构和微架构规范,并在此过程中提取“验证目标”。在这个阶段,关注需要验证的“什么”(即验证目标)是很重要的,而不是关注您计划“如何”验证设计。例如,一些团队犯了错误,过早地专注于创建他们的测试平台基础设施(即“如何”),在这样做的时候,他们经常错过了重要验证目标的识别(即“什么”)。”

从验证开始
对于许多设计师来说,验证是一个哲学问题。对于Synopsys验证营销高级总监Michael Sanie来说,如果由他来决定,他会让每个设计师都从验证开始,并以一种更简单的方式进行设计,因为肯定有可以做的事情来做到这一点。

“不幸的是,这还没有成为现实,因为专业化正在发生,越来越多的情况是设计师设计和验证人员进行验证。设计人员开始进行自己的验证,然后有时他们没有做所有可以使验证更简单的事情,”他观察到。

Sanie说,这种方法还取决于验证的意义。他说:“如果你认为验证是模拟——这实际上是一件稍晚开始的事情,在你开始运行它或它的部分通过模拟之前,你必须弄清楚或设计出设计的核心。但也有不同类型的验证更早开始,也由设计师完成。”

其中之一是Lint:语言检查或结构检查,这是由设计人员在他们想要的时候进行的——即使他们只有几百行代码。他指出,他们可以在完成之前就开始研究设计。

另一个有助于验证的简单方法是断言,但并不是每个设计人员都有从断言开始的原则——他们会在之后这样做。Sanie说,虽然这确实会略微减缓设计过程,但并不会让设计师效率低下,只是必须预先考虑到这一点。

“如果你做的事情是正确的,那么你要做的就是开始计划在架构层面进行验证,这样你就可以进行性能验证,你的架构方式以后可以更容易地进行性能验证。你可以更容易地进行逐块验证;您可以创建边界,将其放入更容易的随机化形式中,这样您就可以更容易地编写测试工作台。但是现在很少有人做这样的前期计划,主要是因为专业化——设计人员不擅长验证。他们的工作就是快速推出设计。”

缓解这种紧张的一种方法是让验证架构师在模拟之前与芯片架构师联系,他们通常会在模拟中出现。

然而,萨尼说,这是一个微妙的平衡。“老实说,在为验证而优化时,这个过程可能会让你在设计方面偏离最优——这是许多人不满意的权衡。当然,你还会面临大量新功能推向市场的时间压力——这成为了一个瓶颈。”

进步正在发生
这其中也有一些好消息。Real Intent首席技术官Pranav Ashar表示:“人们开始理解集成带来的验证义务和你正在实现的功能所固有的验证义务之间的区别。”

他说,虽然当今芯片的复杂性相当高,但事实上,对于整个集成需求,某些过程正在不断地被更好地理解,这使得静态技术可以帮助验证这些soc。“任何人都会说,是的,尽早验证总是更好的,但如果你想尽早验证,那么你必须知道你在验证什么。你必须理解你正在处理的问题,你必须在这个层面上有足够的信息,以便在验证时做出有意义的停止。无论你在验证方面做什么,都必须经过你以后要采取的改进步骤。”

这一切都归结为一个事实,即验证计划的重要性不可低估,Mentor Graphics的Foster总结道。

额外的资源:

关于验证计划:核查学院是一种免费资源,任何工程师都可以使用,其目标是开发使其组织的高级功能验证过程能力成熟所需的技能。



1评论

尽早开始验证以避免后期陷阱…… 说:

[…]尽早开始验证以避免以后的陷阱虽然大家都同意验证应该尽早开始,但它并不总是在模拟时才开始。这对于当今许多庞大而复杂的soc来说可能是次优的。[…]

留下回复


(注:此名称将公开显示)

Baidu