可以验证满足中间吗?

专家表,第1部分:该行业长期以来认为验证是一个自下而上的过程,但现在有一个巨大的大力发展自上而下的验证标准。他们会满足舒适地在中间吗?

受欢迎程度

自从时间EDA行业典型的V图定义了主要的设计流程。左边的V,设计逐步完善和分割成更小的碎片。底部的V,验证接管你旅行的右边V,验证和集成到整个设计组装可以执行和验证。

Brian1

但在这个过程中,设计变得更大了,V开始分解和越来越多的企业希望开始验证左边当设计决策和问题都是能找到接近的地步可以纠正之前已经进行了详细的设计。

与此同时,逻辑仿真成为了整个设计无法处理,这意味着额外的工具必须在解决部分验证的挑战。这创造了一个机会,重新思考的方式验证流应该被定义。

Brian2

半导体工程坐下来讨论这些问题;斯坦·Sokorac高级主要设计工程师手臂;(高级组主任弗兰克Schirrmeister产品营销系统的开发套件节奏;哈里·福斯特首席科学家验证导师图形伯尼延迟,组织验证IP研发主管Synopsys对此;首席执行官和Agnisys。下面摘录,谈话。

SE:块级验证已经成为相当成熟的工具和方法。自上而下的验证是处于形成阶段。中间相遇是确保两个验证流实际上站在一起工作的机会。他们会成功吗?

Sokorac:你有击中了要害。当我跟很多客户,令人吃惊的是很多问题当他们去的知识产权水平的SoC水平,非常基本的问题。很多人回到IP批准标准的概念。似乎他们不切换所需的所有标准,如设计验证关闭,他们做了线头,时钟域交叉等他们定义并移交?这是多功能覆盖这是必要的。他们的嵌入式断言吗?

Schirrmeister:如果你看的宪章Accellera便携式刺激工作小组群体,他们有三个项目,他们看着:横向重用——如何使刺激便携,垂直重用和他们的意思是重用IP验证SoC水平,第三,学科之间的重用。相干专家能跟电力专家,他们能有效地交换数据吗?回到垂直重用,他们开始讨论的关键是,如果你已经IP验证,那么你能重用在SoC水平没有再详尽尽一切所做的IP水平?这就是中间相遇。

福斯特:另一个相关的问题是重用的抵押品。例如,在IP层,很多软件只是为了创建配置。目前的挑战是,当我们集成,这些信息必须被再次因为它不是打包的方式可以重用。这只是一个与会议相关的斗争在中间。流程的集成是什么?你找到一个人失败时从把东西一起跳到运行用例。他们不是寻找有效的问题。它需要做以系统的方式。‘让我们检查连接,让我们检查处理器可以向每个IP。他们首先需要做独立,扑进了更复杂的用例。 In terms of coverage, we have different objectives at the system level.

Schirrmeister:我们尽量避免术语覆盖在SoC水平,因为它是不同的。

延迟:它是一种度量,而不是覆盖。有很多困惑当你说报道。

福斯特:是的,人们立即认为你在说什么代码覆盖率

延迟:我喜欢称之为验证指标。这个指标可以看着告诉你你有多远。我用复数,因为有多个。没有一个单一的指标。连通性,东西与中断相关场景,等等。

福斯特:我喜欢手臂所使用的术语——统计覆盖。

Sokorac:对,这不仅仅是你做这个或那个。它是关于你正在做的事情在整个系统。是什么刺激的形象等。

问题我觉得有一个完整的顶部和底部之间的脱节的家伙。SystemC和MATLAB在顶层有建筑和人们探索可能的解决方案。然后是连续细化,然后一组不同的人创建的IP。他们擅长它,但是它们断开连接。解决方案是一种常见的规范,可以提炼从上到下。有度量可以证明,如果他们有发达国家相同的规范。它必须是specification-driven。进行系统级建模的人不一样的家伙做的IP开发。

Schirrmeister:这是另一层洋葱。我们在谈论的是芯片级验证。用例使IP。你正在谈论的是一个自上而下的流与细化,使IP适应它。是的,那里有脱节。很少有重用的系统建模到流除了一些testbench数据生成。

问题我觉得验证进来,因为有一个脱节的问题。这将导致一个更大的关注验证。如果我们没有断开,在一个理想的世界,那么你不需要验证。

延迟:但我们生活在一个生态系统,有很多不同的IP提供商和大部分的IP甚至不是内部。

福斯特:很多IP甚至可能没有被验证的配置,我使用。

延迟:是的,这是一个问题。在理想的世界里,一切都是内部,一切都被传下来,那就太好了。这可能是正确的一些关键功能部件。但是当你得到你的IP无处不在,现在我必须找出我要最大化效率的验证和与之关联的一切。

福斯特:当我开始集成IP,尤其是第三方知识产权,甚至IP开发内部但是你不再可以访问原始的开发团队,我失去了所有的抵押品,所有的知识如何配置它,以及被再次。集成步骤是成为一个极大的问题。

Schirrmeister:让我们看一个具体的例子。UVM与自顶向下和考虑什么便携式刺激与UML定义。你在UVM定义序列,来自一个IP-centric视图呢?有一些顾客非常意识到需要重用这些序列在更高的层次上,所以他们建立一个层,用c语言编写然后他们知道它将运行在一个胳膊子系统或任何其他流程子系统,所以他们构建一个小型UVM之上的抽象层的意图,他们可以被重用。然后关键问题就变成了,“我能避免再做重复的IP验证做了什么?如果你不这样做,你只是扩大问题,您将使用无限数量的周期。所以,这会带来语言问题。我把它写在C语言中,这样我就可以把它在一个处理器吗?覆盖是什么意思,我认为做什么?在SoC集成级别,如果我发现问题在IP,然后有人不做他们的工作在知识产权方面,因为我不应该在那里找到问题。

福斯特:你必须问一个问题,为什么不我发现这个问题吗?如果你不回答这个问题,你永远不会得到优化您的流。

Sokorac:这不是找到了很好。作为一个IP验证人,我知道,我们不会在IP层找到每一个错误。将错过的东西。所以你可以开始验证了太多,因为你担心你错过了什么。会浪费大量的资源。什么是假设你在单元级别上?

延迟:断言扮演一个关键部分。如果你是提供一组适当的断言,从设计意图可能自动生成的,您可以验证设计没有外部的标准。它可能不是涅槃,但至少它捕捉设计意图。

Sokorac:这只是一个开始。它给你的一些界面假设但你把很多假设到模型中。

延迟:断言必须超越I / O,他们必须进入控制逻辑。传统的今天,只有在I / O。

Sokorac:很多的错误往往是隐藏在你做了一个假设的总线功能模型。这种情况发生在依赖并不描述存在于真实系统。没有实际的方法来验证该模型的行为在现实系统一样。

福斯特:这个问题是关于环境这是假设。然后你看到它们之间的交互,当你开始积分。

问题:你正在谈论的是验证,但我们还应该讨论设计。验证是一个事后的想法。

福斯特:作为一个验证偏执狂,验证和确认之间的问题是什么?这中间立场是什么?有不同的目标。

Schirrmeister:对我来说这是两者兼而有之。组织有很大的脱节。在极端的情况下,你有300块重用,一些IP是定制设计。所以你怎么指定吗?在现实中没有所谓的规范冻、你可以做改进。是的,可能会有善意,但是产品经理将插入自己和做出改变。记住这个平台三角形在顶部的设计空间。你做出决策和改善你的硬件和软件的组合,然后实现和验证。然后是验证方面,你需要确保你实现你的目的。很多的挑战。

有关的故事
开放标准的验证
压力构建提供常用方法使用验证结果分析和测试目的。
验证面临独特的拐点



留下一个回复


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

Baidu