论文部分内容阅读
随着集成电路设计规模的不断增长和设计复杂度的不断提高,基于重用的设计方法成为主流的设计方法,功能验证成为制约设计效率提升的瓶颈。问题的解决不但需要在技术方法上取得突破,还依赖于对整个功能验证领域内的所有资源的有效组织和运用,以功能验证为中心目标,研究验证工程学是集成电路设计深入发展的必然要求。由于工程学是一门博大精深的学科,本文只重点研究了基于功能信息的验证工程学(FIVE)的体系和过程,并在FIVE的指导下,研究了若干验证支持技术。 本文主要基于以下科研项目撰写:(1)国家自然科学基金资助项目“基于平台的SoC设计方法及其关键技术研究”(项目编号:60373076);(2)国家教育部项目“SOC软硬件集成协同设计和验证优化理论和方法研究”(项目编号:教技司[2001]215)。论文的主要工作和取得的成果如下: 1.介绍了功能验证的基本方法和当前研究的进展情况,在此基础上,总结了功能验证方法的发展方向原则——形式化原则和抽象化原则,并从理论上论证了发展方向原则的合理性与正确性。 提出了功能信息的概念;提出了功能验证的工程学问题,论证了工程学思想和功能信息对于功能验证的意义。在此基础上,以功能信息为核心线索,以工程学思想为指导,提出并研究了基于功能信息的验证工程学,目标是通过整合已有的验证技术和方法来提供一个通用的验证解决方案。 提出了基于功能信息的验证工程学过程模型(FIVE模型),并对过程模型中的一些具体内容进行了讨论,包括功能信息的生成、应用,以及工程学中的理论研究、工具方法支持、标准化等问题。最后,给出了现有验证方法学向基于功能信息的验证工程学过渡的演化模型。 2.以FIVE为指导,研究了基于指令模板的测试激励自动生成方法。提出了指令模板综合方法,使指令模板描述和指令模板实现完全分离,这使得模板描述可以用一种规范化的方法进行,从而降低了描述的复杂度,增加了指令模板描述作为功能信息的可重用性。 从指令集的编码结构入手,提出了指令模板的分层描述方法。指令模板描述分为格式层、内容层和属性约束层。如果将指令集看作一个系统,则三个层次分别对应系统的结构、要素和关系,从而较好地实现了问题的正交化分解,简化了指令模板的描述复杂度,提高了描述方法的易用性。其中模板内容描述中的各参量相互独立,提高了模板内容描述的可扩充性,便于用户在模板的简洁规范性和模板的详尽性之间根据具体验证要求进行权衡。模板描述查错工具进一步提高了指令模板描述的效率,符合FIVE中降低功能信息的生成成本的要求。 研究了基于指令模板的测试程序生成方法。提出了基于令牌交换的分支交叉方法,解决了测试程序生成中的分支控制问题,使得分支指令可以‘安全’地出现在随机测试程序中,不会因为引起死循环而降低测试程序的验证效率。采用自私基因算法优化随机测试程序生成中不同类别指令的比例使之达到效率最高。在测试程序优化方法的研究中,提出了C模型