应对百万门级系统级芯片验证挑战的可扩展解决方案
功能验证是电子设计人员目前面临的主要挑战,无论是设计团队还是验证团队,都将超过50%的时间用在纠错上,因此这一领域的技术进展将对缩短产品上市时间产生重大影响。本文探讨基于断言的技术和改进的纠错方法,以及为什么它们能够以及如何应对设计团队面临的重大挑战,其目的是提高设计生产力、改进设计质量、加快产品上市时间以及增加投资回报(ROI)。
本文引用地址:http://www.amcfsurvey.com/article/193865.htm目前的设计和验证方法面临的问题是验证工作必须屈从于设计。出于几项相关原因,现状必须加以改变,特别是我们正在面对一个巨 大和复杂的电子系统。功能性错误是造成设计重复修改的首要原因。用于查找这些错误的功能验证流程是设计流中目前面临的最大瓶颈。一般而言,验证工作在所有 设计活动中一般至少占有50%的份额。然而,验证技术的发展步伐已经远远落后于设计和制造能力,验证鸿沟在进一步扩大(图1)。这一验证鸿沟是限制设计人 员充分发挥其生产力和设计能力的因素。为了弥合这一验证鸿沟,验证必须成为整体设计方法的一个内在组成部分。
整个设计和验证流必须实现结构化,其基础不仅是如何有利于设计工程师,而且还要考虑如何有利于验证工程师,这对设计分工、模块大小、设计规则以及其它许多我们目前想当然的事情都提出了新的要求。
在成功开展系统验证方面面临的另一挑战仍然是测试基准。随着设计规模的扩大,验证复杂性正以指数级速度提高。尽管仿真能力总 是伴随设计规模不断提高的,但测试基准的复杂性则不然。其中部分原因是设计规模对设计的可观察性和可控制性所产生的戏剧性效果,它增加了需要运行测试的次 数,而且这些测试的持续时间可能延长,如果哪个地方出了差错,那么查找和发现原因的难度就会大大增加。
为了解决验证鸿沟和测试基准问题,我们需要采用可扩展验证解决方案,一方面它基于断言的技术,另一方面,它覆盖了验证中的 多种抽象层次以及整个流程各个阶段的验证工具,功能验证策略必须在每个设计层次以及开发流程的每个阶段将验证目标对准整个系统DD其中包括数字逻辑、嵌入 式软件以及混合信号内容。
功能验证危机
功能验证的重要性日益提高,其根本原因就是设计规模和复杂性的不断增长,其中包括设计中的软件和模拟电路比例日益提高。规模 的扩大指的是数量巨大的晶体管以及系统级芯片上的门数。《国际半导体技术线路图》预测,系统级芯片到2006年将包含10亿个晶体管。一片系统级芯片可能 包含数千万门,那么出错的可能性以及验证任务的复杂程度相应也会增加。
复杂性提高意味着更多性能多样性,在单个芯片上实现更多的性能。元器件的多样性包括高性能RISC CPU、数千兆位高速I/O、块RAM、系统时钟管理、模拟混合信号、嵌入式软件、专用数字信号处理器(DSP)等。因此,这些元器件之间的接口对确保整 体功能和性能的重要性就变得日趋重要。
片上软件和模拟器件的不断增加不仅使系统复杂性日益加剧,而且也向传统操作方式发出了挑战。数字工程师必须遭遇并不熟悉的 模拟事项。许多硬件设计都需要通过固件和低层次软件来验证RTL功能性。这要求固件设计人员在硬件设计中发挥重要作用,并对硬件和软件之间的相互影响作出详细解释。
我们对Collett国际研究公司2001-2003年间的研究数据进行了考察,结果显示:2001年在所有故障和失败 中,47%的故障与逻辑或功能错误相关。然而,在前10位故障原因中,只有一项属于接口问题:混合信号接口,在整个芯片故障中只占4%。反观2003年数 据,逻辑和功能故障的比例已经攀升到67%,并且出现了另外三种故障范畴。模拟故障在芯片故障中占35%的份额,排名第二。混合信号接口故障所占比例则从 4%升至21%,硬件/软件接口故障比例则占13%。
除了复杂性问题,我们必须解决原有系统和知识产权的重用问题,因为超过50%的设计和测试平台都在重复使用,因此,任何有 意义的解决方案都必须支持所有主要语言DD包括Verilog、VHDL、C++以及SystemCDD这样它才能在所有抽象层次上工作。开放标准确保旧 有设计和测试平台得到重复使用,可以根据其绝对属性选择验证工具,而并不是因为它们适合某家供应商的工具环境。此外,由于可观察和可控制难度伴随设计复杂 性提高,纠错方法必须能够克服测试基准的复杂性。例如,设计规模扩大一倍,可观察性将减半,可控制性也将减半,那么验证难度大约提高4倍。
如上所述,为了应对日益庞大的设计规模、复杂性和性能问题,验证方法必须在不同工具和设计层级之间实现可扩展。它必须在不同验证域之间实现扩展,能够在模拟、协同验证、仿真以及模数仿真之间实现通信。它不必局限于动态空间,但必须在静态空间中实现自动移动。
例如,如果大型设计需要在门层次上开展大量修改工作,那么等效性检查就是一项必须的要求。最后,只有采用更好的测试基准方法,才能够创建更为有效的、更为充分的测试。
各工具之间的可扩展性
必备的解决方案应包含一套工具,它们能够协同工作形成一个从HDL模拟到电路内仿真的完整路径。这意味着我们需要更好的模拟 器和仿真器,才能在所有集成层次上加速验证流程。工具之间的可扩展性也是必需的,因为不同验证类型在不同的性能范围提供不同的解决方案(图2)。每套解决 方案都会在许多不同属性之间交替使用,比如反复时间、性能、能力、纠错可见性以及成本。
甚至连HDL执行引擎也需要一整套解决方案。有些在块层次上表现良好,有些则在芯片或系统层次上表现更好。例如,设计人员需 要使用高水平验证工具对系统级DSP算法开展验证,HDL软件仿真器显然无法完成这项工作。反过来说,在线仿真在芯片设计中并非是验证相对较小子模块的合 适解决方案,而HDL软件仿真器则可能迅速轻松地完成同一任务。认识到哪些工具是处理手边验证任务的最优选择,继而获得这些工具,将有助于设计人员实现最 佳生产力。以下举例介绍在设计的数字验证过程中可以使用的各种技术。软件和模拟混合信号验证也存在类似连续体。
评论