论文部分内容阅读
随着半导体工艺突飞猛进的发展,集成电路(IC)设计的规模和复杂度呈指数级增长,设计验证(design verification)成为IC设计流程中的一个重要环节。本文研究模拟验证中的激励生成和覆盖评估。论文全面分析了这两个领域内已有的研究成果和成熟技术,并应用于通用CPU设计验证的工程项目之中。在激励生成研究方面,本文将基于测试向量的验证方法应用于通用CPU的设计验证之中,通过实验结果,论述了该方法的有效性。在覆盖评估研究方面,本文分析了各类覆盖准则的特点,并在通用CPU的设计验证中,运用多种准则评估了基于测试向量的验证激励,在此基础上分析了各类准则的优缺点和适用情况。由于穷尽模拟所有可能的输入组合通常是计算上不可行的,所以在现代模拟验证流程中,覆盖评估技术已经成为不可或缺的重要环节。然而目前商用的覆盖评估技术有很大的局限性——基本没有考虑可观测性,这可能导致表面上很高的覆盖率数据所蕴含的可信度不高。而已有的研究领域中的可观测性覆盖评估技术时间开销较大,且不能与现有的模拟验证工具很流畅的结合。针对上述问题,本文创造性的开展了以下两方面的工作:1.提出了一种新的基于FUD链的可观测性评估算法,即,利用数据流分析中的FUD链来表征Verilog RTL(Register Transfer Level)代码的数据依赖信息,并拓展了原始FUD链的功能,使用其中的φ-term来追踪Verilog RTL代码动态执行的轨迹。本算法对FUD链的拓展,使得数据流分析可以静态与动态相结合,弥补了编译理论中数据流分析的保守性与设计验证中覆盖评估的精确性二者间的差别。该算法以代码中的变量为分析对象,故可以与现有多种评估可控制性的覆盖准则方便的结合在一起。2.将基于FUD链的可观测性评估算法与语句覆盖准则相结合,实现了可观测性语句覆盖准则的评估系统OCM_Statistics。实验数据表明,可观测性语句覆盖准则增强了语句覆盖准则的评估能力——使用语句覆盖准则很容易就达到了很高的覆盖率,甚至100%;而可观测性语句覆盖率并不像前者那样过于乐观,它不仅评估每条语句是否被执行,而且检验被激励激活的那些潜在错误的影响是否可以传播到观测点。可观测性语句覆盖准则可以更确切的评估验证的力度。另外,实验结果也体现了基于FUD链的可观测性评估算法的高效性——与已有的可观测性语句覆盖评估算法相比,OCM_Statistics系统的时间开销,平均降低了一个数量级。