摘要
传统的寄存器传输级(register transfer level,RTL)侦错技术以将仿真结果套用到硬件描述语言(Hardware Description Language,HDL)的结构化联机数据上为基础。这种做法在找出错误时非常实用,但对于设计人员思考错误发生的原因及影响时却少有帮助。设计人员常常必须在内心里建立执行仿真时数据传播和使用的图像。随着设计益趋复杂,对于快速了解推论过程并使侦错过程自动化的需求也更加强烈。在这份白皮书中,我们为您献上创新的侦错技术,解决适当的行为推论与侦错能力匮乏的问题。我们的做法提供RTL侦错的重大技术进展;这是第一个完善而有序的做法,萃取、分析、追踪、探索和查询设计跨越多个时钟周期的行为。我们将说明本公司的自动追踪系统如何针对不熟悉的设计大量的缩短侦错时间。我们也会说明先进侦错技术如何减少回归测试(regression)的重复次数。
简介
对于庞大且复杂设计的设计人员而言,侦错可说是一大难题,因为通常是:
· 异质的:包含可能是数家(同级最佳)供货商IP的各种组件;
· 混合的:由包括行为与结构的不同抽象层描述的部分所构成;以及
· 多样的:包括众多运算领域,以真实世界互动为模型,例如传感器、换能器(transducers)、数字仿真与/或模拟数字转换器
用来启动和观察设计行为的激励(Stimulus)与响应数据也是庞大而且多样的数据集。运用、研究与分析这种数据以及其与预期或期望行为,还有设计实现(也就是实际的)行为的相互关联,是一项可怕的工作。侦错的过程牵涉到找出与错误相关的逻辑、确认适当的因果关系,还有了解设计应有的行为以及为何行为未如预期,如图1所示。侦错消耗专业设计人员的宝贵时间与精力,很快就成了当今复杂的系统芯片(SoC)设计验证流程中的瓶颈。
现在的做法完全依赖工程师的能力,从架构来推论设计行为。无论架构看起来多么完美,假设错误和其后的当然谬误都在浪费时间。越是不熟悉的设计,就越困难,而且需要时间才能够充分了解。工程师不熟悉设计的某些部分 ¾ 因为设计重复利用、外购的IP或多元/分散的设计团队 ¾ 奋力想要掌握设计应有的行为,或行为未如预期的原因,导致冗长的整合与侦错时间。随着设计益趋复杂,侦错做法必须跟上正轨、不可以落后。在这份白皮书中,我们献上从源代码与仿真结果运行时间行为侦错的新技术。我们的目标是要使过程自动化以提高侦错生产力,并消除(不正确地)揣测设计行为的心理负担。以行为分析为侦错基础架构,为工程师们推荐行为探索的先进侦错方法,以查询设计的时间行为。
本白皮书其他章节区分如下。第2节说明本公司的行为侦错方法:基层架构、探索与查询。第3节说明实验结果。第4节提供结论并展望未来。

