UVM导读
一、验证语言的进程
原有的HDL描述语言受限于静态例化,无法随着仿真场景做动态变换。同时,天生地随机约束短板也让后期发展的功能覆盖率驱动验证方式没有可以依靠的专业验证语言。
验证技术在融合进步的过程中,逐渐偏向软件化。在意识到验证环境应该提高更多的灵活性的同时,EDA公司们都开发出了良好的平台限定性语言,例如Specman/e和Vera。
平台限定语言在一开始符合IC研发的封闭生态特点,但验证工程师们的交流远甚于设计工程师(Dvcon、SNUG、CDNLive等),而且在技术交流和人员流动的过程中,逐渐提出了统一验证语言的要求。
SystemVerilog从早先的Accellera2002年的SystemVerilog3.0标准逐步发展IEEE1800SystemVerilog2017标准,经历了十五年的更新和完善,已经全面雄起为IC验证领域的霸主。
SV的核心特性包括面向对象、随机约束、线程通信、功能覆盖率收集等,这些特性也为建立一个验证环境提供了足够多的遍历。
上层的高级验证方法学也在2011年2月份之后逐步得到了融合,即UVM(Universal Verification Methodology)1.0的发布。
二、验证方法学UVM的优势
所以的验证方法学服务目的都在于提供一些可以重用的类来减轻在项目之间水平复用和垂直复用的工作量,而同时对于验证新人又能提供一套可靠的框架,帮助它们拜托搭建房子构思图纸的苦恼。
UVM面向所有数字设计,涵盖了从模块级到芯片级,ASIC到FPGA,以及控制逻辑、数据通路到处理器验证对象的全部场景。
UVM中的Universal