0、验证方法学通常具有以下原则:
(1)受约束随机激励;(2)功能覆盖;(3)事务级分层测试平台(4)可重用测试平台;(5)特定于某个测试的代码与测试平台分开
1、HVL(硬件验证语言)相比于HDL的典型性质:
(1)受约束的随机激励生成;(2)功能覆盖率;(3)更高层次的结构,OOP;(4)多线程、线程间的通信(5)支持HDL数据类型;(6)继承了事件仿真器,便于对设计施加控制。
2、基本测试平台的功能
(1)产生激励;(2)把激励施加到DUT(Device Under Test)上;(3)捕捉响应;(4)检验正确性;(5)测算进展情况。
3、定向测试
对待测设计具体特性的激励响应、针对特定元素、逐步进行,找出设计中预计的漏洞,时间足够的话可以实现100%覆盖率,但时间长、编写重复繁琐。
![](https://img-blog.csdnimg.cn/img_convert/0e5424299616388d0f411d33ffd50e7a.png)
4、随机测试
找出预料不到的漏洞、自动生成激励、预测结果:计分板或参考模型、建立测试平台时间长(第一次的准备时间很长)但每个随机测试可以共享平台(定向测试:每次都要从零开始编写)。
![](https://img-blog.csdnimg.cn/img_convert/fb138cb35f08c2d1f0cdf32c9f2a7668.png)
覆盖范围往往比一个定向测试大、多出的区域产生交叠,可能探测带到没预料的新区域,但对于随机测试覆盖不到的地方可能还需要一些定向测试。
5、随机化对象
(1)设备和环境配置 (2)输入数据 (3)协议异常、错误和违例——尝试使用不当的命令去激励硬件 (4)时延和同步 (5)并行的随机测试(包含了测试平台代码和随机种子(种子可加入处理器核编号)、对文件组织进行规划)
6、功能覆盖率
目的:监控设备激励以及设备对激励的反应,并确定哪些功能已经被验证过。
7、测试平台的构件
![](https://img-blog.csdnimg.cn/95ef975bfc8c48f3b9369c60589c22ab.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yir5YaN5Ye6ZXJyb3LkuoY=,size_14,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/d643a95558084eefb7fabfc4674316b0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yir5YaN5Ye6ZXJyb3LkuoY=,size_18,color_FFFFFF,t_70,g_se,x_16)
(1)PCI(Peripheral Component Interconnect)是 一种由英特尔(Intel)公司1991年推出的用于定义局部总线的标准。此标准允许在计算机内安装多达10个遵从PCI标准的扩展卡。
(2)SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。
(3)高级微控制器总线体系(AMBA)规范定义了在设计高性能嵌入式微控制器时的一种片上通信标准。
(4)USB总线是为通用串行总线,USB接口位于PS/2接口和串并口之间,允许外设在开机状态下热插拔,最多可串接下来127个外设,传输速率可达480Mb/S,它可以向低压设备提供5伏电源,同时可以减少PC机I/O接口数量。
8、分层的测试平台(把代码分而治之)
a、信号和命令层 b、功能层 c、场景层
![](https://img-blog.csdnimg.cn/0d315595ea154cbab730e5efed6edfe4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yir5YaN5Ye6ZXJyb3LkuoY=,size_20,color_FFFFFF,t_70,g_se,x_16)
学习不能停!