论文部分内容阅读
近些年来,因为集成电路集成度和功能复杂度的持续提高,验证工作在整个芯片生产流程中所据有的工作量比例和重要性也越来越大。传统的验证方法是通过增加测试项来提高覆盖率,这种验证方法的效率较低同时也很难移植到相似的项目中去,将耗费去大量的人力和物力资源从而影响整个芯片设计的周期。由此可见,验证效率的提高,对工程上芯片生产有着非常重要的意义。目前,验证领域有各种各样的验证方法,但大部分的方法建立验证平台的周期较长并且不具有可重用性。在这些验证方法中,UVM验证方法学是由Accellera在2011年正式推出的最新验证方法学,它继承了VMM和OVM的优点,是验证领域的最先进技术[1]。UVM验证方法学在VMM的分层思想和OVM的factory机制的基础上新添加了序列组件、objection机制、回调机制等来帮助开发者缩短开发周期提高代码的可维护性以及能够沿用到其他验证项目中的可再利用性[1]。而千兆以太网MAC,是目前片上系统设计中应用较为广泛的一个模块,所以研究如何提高千兆以太网MAC的验证效率将对缩短片上系统生产周期有着重要的作用。本文的研究目标为,使用UVM验证方法学设计一个开发时间短并且具有可重用性的验证平台来提高千兆以太网MAC的验证效率。在本文中,首先对目前主流的几种验证方法学进行了研究比较,选择UVM验证方法学作为设计验证平台的基础,使用SystemVerilog语言编写验证平台。在验证平台结构方面,采用了UVM验证方法学的结构改进了传统验证平台修改维护困难的不足,解决了传统验证平台难以沿用到其他项目的缺点。在验证平台组件设计方面,本文根据UVM验证方法学验证理论与待测设计GMAC模块的功能与结构设计了验证平台的驱动器、监测器、参考模型、记分板和寄存器模型等组件,同时在设计组件时使用了UVM验证方法学中所特有的机制来提高设计效率和可重用性。在激励产生方面,本文采用了带约束的随机激励加快覆盖率收敛,并且使用了序列机制来提高设计效率。在覆盖率统计方面,本文在监测器组件中加入了功能覆盖率组,实现了对待测设计GMAC的功能覆盖率统计。在运行完所有验证项之后,通过覆盖率统计工具IMC对代码覆盖率和功能覆盖率进行了统计分析,并且与传统验证平台相同验证项数目下的代码覆盖率作了比较与分析。覆盖率比较结果为,本次设计的验证平台代码覆盖率高于传统验证平台百分之二十。同时,功能覆盖率为百分之百。然后,将平台中的驱动器和监测器组件添加到新的验证平台中能够正常运行,验证了驱动器组件的可重用性。本文中所设计的验证平台,与传统验证平台相比具有较高的验证效率,同时平台之中的验证组件具有较强的可重用性,完成了设计前所制定的设计目标。