论文部分内容阅读
随着SoC(System On a Chip)运算能力和控制复杂程度的飞速发展,功能验证已经成为整个设计过程中的主要瓶颈。据统计,验证过程占据了整个设计周期的70%甚至更高,并且设计过程所需要专门的验证工程师的人数一般是RTL(RegisterTransfer Level)设计工程师人数的2倍之多,而在设计完成时,测试程序构成全部设计代码的80%。所以,验证已成为集成电路设计过程中最关键的环节之一,它贯穿了整个IC(Integrated Circuit)设计流程。如何通过寻找新的验证方法来缩短验证时间以提高验证效率是当今IC设计领域中最为关注的问题之一。为解决以上问题,业界也在不断努力推出各种新的验证方法学和验证语言,其中以SystemVerilog语言应用最为广泛,并且也得到VMM(VerificationMethodology Manual), OVM(Open Verification Methodology), UVM(UniversalVerification Methodology)等验证模型的广泛支持。然而尽管有了这些语言和模型,由于并没有一套完备的功能验证指导方法,从而验证的完整性也没能得到很好的保证。因此本论文针对以上问题,在基于SystemVerilog和OVM的基础上提出了一种RTL级的验证方法,以实现对验证工作的完整指导。此验证方法将验证分为三个阶段,学习阶段,执行阶段和结束阶段,每个阶段均有详细的指导规则,例如要求规格完整精确,制定完备的验证计划,基于规格随机产生激励,环境尽最大可能重用,完整的审阅机制等,以确保验证工作的可控可管,高效和完整。同时本论文结合实际验证工作,利用SPI_FLASH控制器的RTL级功能验证实例阐述本论文提出的验证方法在应用到实际验证工作中时的具体执行过程,包括如何做好验证计划,如何保证验证质量,如何保证验证速度,以及如何积累和分享验证经验等等。并且通过此案例进一步论证本方法是一种行之有效的验证方法,尤其可极大提高验证质量和速度。