论文摘要
随着集成电路设计规模的不断增长和设计复杂度的不断提高,集成电路的验证工作变的越来越困难。虽然传统验证方法尽力保持技术更新以适应设计尺寸以及复杂度的增加,但验证依然是当今集成电路设计中面临的最大挑战。硬件描述语言用于寄存器传输级的设计,而验证语言需要更加抽象的性能,这样就造成了硬件描述语言与硬件验证与语言的分向发展,从而使整个设计和验证的过程变得复杂。验证工作面临的挑战,在极大程度上促进了验证技术的发展。为了弥补设计与验证之间存在的鸿沟,验证工程师不断的提出一些高级验证方法与技术,使其提高验证工作的效率。本文介绍了传统验证技术中的相关概念以及功能验证的一般方法,并分析它们的优缺点。传统的验证平台针对设计对象使用测试用例进行直接测试,存在这工作量大,周期长的缺点。针对这些问题,本文先介绍当前流行的高级验证技术,其中,随机约束自动产生测试用例,使验证变得自动化,并能发现验证工程师考虑不到的错误;断言从设计功能方面对设计者的假设和期望进行检查,便于在仿真过程中对错误进行实时跟踪;功能覆盖率的使用能够对设计的功能对象进行全面检查,从而使对验证的覆盖达到100%。随后本文提出一种基于事务的层次化验证平台的结构思想,并对此验证平台的结构进行详细的分析。最后,结合实际项目,对原有验证平台重新设计,并基于SystemVerilog VMM标准库进行实现,对验证数据进行统计,并对结果进行分析。实践证明了验证平台的可行性,高效性及自动化的特点。