论文部分内容阅读
随着集成电路技术的迅猛发展,片上系统芯片SoC(System on a Chip)设计能力的快速发展与成熟,芯片规模不断扩大,功能日趋复杂,SoC的功能验证(function verification)问题成为芯片设计中的巨大挑战。在现代IC设计中,功能验证占用了约50%~70%的设计周期,随着设计规模的增长,这个比例还将增大。功能验证已成为当今IC设计流程中的最大瓶颈(bottleneck)。功能验证的主流方法是基于仿真的动态验证。然而,传统的基于仿真的验证方法存在着明显的不足:验证过程的可观察性和可控性差,调试困难,验证环境的可重用性很差,自动化水平低。针对上述问题,本文论述了基于SystemVerilog断言(SystemVerilog Assertion,SVA)的功能验证方法,并根据SVA的特点,设计了一种层级化的验证平台(Testbench),阐述了基于SVA的功能验证的验证流程,根据视频信号处理芯片(Video Signal Process Chip,VSPC)的设计规范和实现规范,采用自底向上(down-top)的方法,制定了一种层级化的验证计划,完成了VSPC的功能验证(限于篇幅,本文只介绍了数据存取系统和中央控制系统的验证)。对每一个层级,根据设计规范和实现规范,开发相应的SVA检验器,选择验证案例(case),采用受控激励(Directed-Stimulus)和约束随机激励(Constraint-Random-Stimulus)相结合的激励产生方式,结合覆盖率驱动验证(Coverage Driven Verification,CDV)思想,利用仿真过程中SVA收集的功能覆盖(Function Coverage)统计信息指导激励的产生。实践证明,基于SVA的验证可以将验证环境的三要素——激励产生、检查机制和覆盖率统计有机地结合在一起,使得各个要素的优势发挥到最大,优化了验证环境,改善了验证过程的可观察性和可控制性,简化了调试过程,提高了验证环境的可重用性和验证过程的自动化水平,改善了功能验证的质量和效率,从而可以有效地缩减设计的研发周期,增加设计成功的信心,保证设计的成功流片。本课题来源于天津市科技发展计划项目“视频信号处理芯片的研发”。目前该项目已通过天津市科委的验收。