论文部分内容阅读
随着集成电路制造工艺的发展,如何保证电路设计的功能正确性已经成为至关重要的问题。功能验证技术主要分为模拟和形式化验证。形式化验证技术目前还不适用于大规模复杂设计的功能验证,模拟仍然是主要的验证技术手段。模拟验证的一个关键问题在于高效模拟矢量的生成。传统的模拟矢量生成采用手工编写、随机或者受限随机的方法,模拟矢量存在大量冗余。本文主要研究基于覆盖率模型的模拟矢量生成方法,并将其应用于系统芯片的模块级和事务级功能验证中。本文的主要创新点和贡献包括:
1、提出一种基于关键信号的路径覆盖率模型。传统的全路径覆盖验证强度高,但由于路径数量庞大而难以验证完全。本文在保证验证强度的基础上,使用关键信号对全路径集合进行选择,生成的路径集合规模小、针对性强。实验数据表明,生成的路径数量平均减少到全路径数量的30%。
2、将遗传算法引入到模块级的功能验证流程中,生成高效的模拟矢量。提出并定义一种新的算子--路径相似度作为适应度函数,引导进化过程向目标路径靠近。并采用蒙特卡罗方法对算法的控制参数进行回归分析。与随机生成方法比较,使用遗传算法生成的模拟矢量冗余数据少,有效保证了模块级验证的质量。
3、提出使用贝叶斯网络优化模拟矢量,在不降低覆盖率的基础上缩小用于回归验证的模拟矢量的规模。通过样本学习构建出贝叶斯网络,并使用网络推理重新生成高效的模拟矢量。构建贝叶斯网络时,使用信息论中的平均互信息度量变量间关联性的强弱,采用朴素的贝叶斯分类器预测缺失属性,并引入最小置信度评估贝叶斯网络推理的质量。实验结果表明,使用贝叶斯网络生成的模拟矢量长度平均为学习样本的10%,覆盖率达到甚至超过原有样本。
4、提出以覆盖率为指导、采用多个生成引擎的层次化验证方法,并建立了对应的验证平台。该平台集成了基于遗传算法的模拟矢量生成引擎和基于贝叶斯网络的模拟矢量生成引擎,支持多种覆盖率模型,可以进行大型复杂系统的功能验证。针对北大众志.863 CPU系统芯片中的PCI总线桥接器设计进行了事务级验证,取得了明显成效。
本文研究均采用北京大学微处理器研究开发中心自主设计的系统芯片中的实际关键模块作为实验用例。