系统与设计
的意见

通过Static-Formal-Simulation时钟域交叉审核

coverage-driven混合方法的静态和动态验证功能性疾病预防控制中心验证关闭。

受欢迎程度

由Sudeep Mondal和Sean O脑海

孵蛋的问题是最常见的一种原因re-spins昂贵的设计。这是不断增长的需求的驱动因素为时钟域交叉(CDC)分析工具。今天,大多数的IP和SoC团队专注于“结构性疾病预防控制中心”的分析,这是很重要的但不是充分的。结构性疾病预防控制中心分析确保设计的结构(例如,某个浏览器)来确保亚稳定性的影响(造成的异步时钟)管理。同时,结构中心分析通常是一些用户约束/假设下驱动。需要验证这些约束/假设原因签收或风险遗漏硅的bug。进一步,设计也需要坚持预定义(功能)疾控中心协议来保证数据传输安全在异步时钟域,所谓功能性疾病预防控制中心验证需要通过静态的多管齐下的办法,正式和仿真技术。

动态验证或模拟使用试验台功能验证设计方法执行的规范通过观察输出基于某些有意义的刺激。另一方面,静态验证验证结构分析设计,隐式或显式的逻辑评价和验证属性使用正式的设计方法。的比较收益和成本这两种类型的方法捕获在以下表中:

为功能性疾病预防控制中心验证关闭,覆盖率驱动的混合方法的静态和动态验证建议。这个流可以带来最好的静态和动态验证和可以帮助增加更快的结果。基于自动生成的方法是可验证的属性假设,约束和豁免用于静态验证,这样他们就可以在动态验证用于验证。

疾控中心审核验证流


图1:验证流程图

流是由三个不同的步骤:

1。静态验证方法:设计假设是封装的形式进行约束和结构分析。一个完整和全面的验证工作需要结构分析之后,正式的验证。这是必需的,因为结构分析只能检查结构而不是实际验证,如果结构将为所有的情况下正常工作。

例如,在图2中,一个控制总线改变域需要gray-encoded避免一致性问题。


图2:一个总线跨时钟域

在这种情况下,结构分析只能检测到总线穿越及其周边逻辑但无法检查信号是否gray-encoded与否。这是因为格雷编码可以使用多个不同的电路,确定每种类型的电路结构为任何静态工具是不可能的。即使格雷编码成功地识别结构,电路本身可能有一个错误(例如,一个故障复位,可以切换输出00随机从而诱导失败等11 - > 00)之间的过渡。

通过仿真验证gray-encoding电路是testbench的质量一样好。这就是正式的验证可以发挥强大的作用,因为它可以使用正式的做一个详尽的验证技术,使验证过程不可知论者使用的实际结构设计。

形式验证可以报告通过,失败或部分证据。通过断言是好的,不需要进一步调试。失败的断言可以通过检查调试波形查看器的反例。然而,部分证明了属性,需要进一步分析和关闭。

2。设计意图IP一代:设计意图创建需要发生下列情形:

  • 假设——一个数据库的所有假设应该生成(提供用户约束)。这种约束是时钟的典型例子(像一个时钟信号),重置(信号用于重置设计)、案例分析(信号在特定值)是静态和准静态信号(用于定义配置寄存器和其他网的行为不会改变太多的功能模式)。验证这些约束的正确性是很重要的在模拟环境中休息以来他们的行为可能导致丢失CDC硅缺陷和潜在的失败。例如,如果一个信号一直在错误地指定为静态值1,如果切换功能模式为0,那么静态分析的结果可能是不准确的。类似地,如果一个信号已经被指定为准静态但改变可以影响,约束是无效的,它的使用会导致不正确的静态分析。
  • 豁免——尽管推荐的方法是应用约束,可能会有一些不可避免的情况下,用户可能会被迫申请豁免。例如,如果一个信号进入多个块,只有一个特定的块需要以不同的方式处理,然后在违反豁免的应用程序仍然是唯一的选择。如果这样的豁免写推理(灰色-编码信号),然后断言可以派生类豁免,他们可以在仿真环境中进行验证。
  • 协议——复杂的协议检查像快到慢口岸的数据丢失和data-enable测序检查不能发现结构。问题需要建模的一个状态机和传递给正式的引擎。然而,形式验证可能导致部分证明。必须验证这些剩余部分通过仿真得出的属性,以达到更快的闭包。

下面的例子显示了一个gray-encoding检查失败在模拟显示波形如下:


图3:在模拟Gray-encoding失败

3所示。覆盖率驱动的验证关闭:在这个步骤中,用户完成仿真生成的数据库并使用覆盖报告上签字确认。有两种方法来验证功能疾病预防控制中心的属性:

  1. Formal-driven验证
  2. Simulation-driven验证

Formal-driven验证覆盖率可以增加使用增量分析的混合物,更高的解决时间和不同的正式技术的结合。这种方法有自己的优点,更详尽的和没有依赖用户testbench。然而,它需要一个前期的了解设计师想要实现的分析和计划,以适应所需的时间和资源。

模拟并不详尽,但它采用的减少了障碍。此外,它可以在SoC工作水平。

因此,正式的混合方法和仿真验证需要采用更快的设计验证关闭。这样做将有助于减少所需的迭代次数完成设计验证和帮助减少昂贵的硅re-spins的风险。

肖恩Synopsys对此脑海是一个主要的应用程序工程师,负责静态和正式的技术。加入Synopsys对此之前,肖恩是一个企业应用程序工程师在Springsoft Atrenta和技术营销主管。他拥有电气工程学士从加州理工大学波莫纳。



留下一个回复


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

Baidu