论文部分内容阅读
功能正确性是集成电路设计的最基本要求。功能验证是检验集成电路功能正确性的方法,是集成电路设计中十分重要的一个环节。随着集成电路的规模日益增大,功能验证面临着日益严峻的挑战。一方面,集成电路市场的激烈竞争要求集成电路投入市场所需时间尽量缩短,导致分配给功能验证的时间非常有限。另一方面,流片成本的日益提高要求功能验证能尽可能完备以尽量减少流片次数,这对功能验证的质量提出了很高的要求。模拟验证是业界最广泛使用的功能验证方法,然而随着设计规模的增大,在有限的时间内达到很高的验证质量对于单纯的模拟验证方法已经是几乎不可能完成的任务。而形式化验证依然受制于其有限的处理规模,很难满足当今大规模集成电路的验证需求。半形式化验证方法结合了模拟验证和形式化验证方法各自的特点,既保留了验证的问题规模只随设计规模线性增长的优点,又结合了设计中的形式化信息,已成为有望缓解功能验证中面临的日益严峻挑战的最有效的方法。 本文针对缩短验证时间和提高验证质量两方面的目标,研究了基于马尔科夫分析的半形式化验证方法,取得了以下创新性研究成果: 1.提出了稳态概率引导的验证激励生成方法。 稳态概率引导的验证激励生成方法使用马尔科夫分析得到待验证设计抽象模型的稳态概率。稳态概率表征各抽象设计状态在约束随机模拟的难达程度,为验证激励生成提供半形式化引导信息。验证激励生成过程中优先遍历难达程度较高的状态,该策略能提高功能验证前期的验证覆盖率收敛速度,并尽早地遍历传统模拟验证方法难覆盖的设计特性,从而尽早地发现设计错误。实验表明,针对状态空间覆盖率这一覆盖率指标,比较于传统的约束随机的验证激励生成方法,该方法可大大提高验证覆盖率收敛速度。实验结果表明,稳态概率引导的激励生成方法较约束随机方法使验证覆盖率收敛速度平均提高52.7倍。与深度优先和宽度优先的状态空间遍历方法相比,稳态概率引导的激励生成方法可在验证前期覆盖更多难验证的设计特性,以验证覆盖的抽象状态的难达程度和数量作为验证质量评估指标,该方法较前者在验证前期验证质量提高65%。 2.提出了后验概率引导的验证激励生成方法。 后验概率引导的验证激励生成方法使用马尔科夫分析得到待验证设计抽象模型中各状态的后验概率。后验概率可反映经过各抽象状态到达目标状态的概率,可以为针对目标状态的验证激励生成提供半形式化引导信息。验证激励生成过程中各模拟周期以较大的概率访问后验概率较大的状态,从而逐步到达目标状态。该方法主要作用为提高验证后期针对于验证覆盖率漏洞的验证激励生成速度。实验表明,后验概率的引导效率比传统的抽象距离的引导效率平均高1个数量级。后验概率引导的验证激励生成方法与之前的抽象距离引导的验证方法相比,覆盖目标状态所需的验证周期数平均少2个数量级,最优情况下少4个数量级。 3.提出了空间极值状态覆盖率指标。 空间极值状态覆盖率指标定义在电路中提取的一个目标状态集合,这些目标状态为电路抽象设计空间中具有难达程度极值的状态。该覆盖率指标是一种基于设计结构的可自动提取的验证覆盖率指标,使用马尔科夫分析的方法从电路设计的抽象模型中提出,可作为传统的代码覆盖率和功能覆盖率的补充。对基准电路的分析表明,空间极值状态与全局难达状态相比,反映了更多的设计属性;在使用错误覆盖率评估验证质量的情况下,空间极值状态覆盖率比业界广泛使用的分支覆盖率健壮性高13%,从而为设计验证质量提供更高的信心。