在搭建一个验证平台时,我们应该思考:
1、验证平台中有哪些基本的组件,每个组件的行为有哪些。
2、验证平台中各个组件是如何通信的。
3、验证中要组件很多测试用例,这些测试用例是如何建立、组织的?
4、在建立测试用例的过程中,哪些组件是变的,哪些组件是不变的?
5、验证平台中数据流与控制流如何分离?
6、验证平台中寄存器的方案是如何解决的?
7、验证平台是如何保证可复用性的?
如果能把上述这些问题都规划清楚,那么这就是属于我们自己的验证方法学;如果把思考结构用代码实现,那就是一个包含了验证方法学的库,是自己的UVM。
基于Verilog的验证语言:
1、Verilog:起源于20世纪80年代中期,并在1995年正式成为IEEE标准。后续版本在2001年推出。最新标准是2005年推出的。
2、SystemC:1999年OSCI公司成立,致力于SystemC的开发。由于其存在内存泄漏的问题以及在构建异常的测试用例时显得力不从心,因此很多公司都放弃使用转向了SystemVerilog。
3、SystemVerilog:起源于2002年,并在2005年成为IEEE的标准。由于具有很多优点,因此一经发布就广受欢迎。
在基于SystemVerilog的验证方法中,目前市面上主要有三种:
1、VMM:在2006年推出。
2、OVM:在2008年推出。
3、UVM:在2011年推出。继承了上述两者的优点,克服了他们的缺点,代表了验证方法学的发展。