概述
目的:一个好的硬件设计,会有他所需要达到的功能,我们进行硬件设计的验证时,需要确保它能够完成预定的任务。
不同层次上进行测试:
- 可以先进行设计代码中的block->module->总线事务->数据传输的情况验证;
- 代码块的边界需要考虑,可能是不同人对一个总线传输协议理解不一样,需要找到两者的区别;
- 对基本的设计的RTL代码看完后,可以进行仿真,之后需要模拟周围代码可能会有的激励。但是这个找激励的情况可能会随着模块的数量逐渐增大。
- 对最高层次的DUT来说,可能可以进行非常精细的激励测试,这里需要看到的是多种不符合基本规律的激励,例如中途出错,中途增加激励等情况的发生。
验证的思想:
- 定向测试:根据验证计划,列出各种测试方案,之后编写各种具有具体特性的激励,然后对这种激励向量对DUT进行仿真。通过对比波形和结果文件。但是这种方法的问题在于随着需求的增大,会导致需要更多地时间和人力进行验证。
- 受约束的随机激励:激励不完全随机,例如在地址位数,操作码长度等进行约束;值得注意的是随机测试的范围往往比一个定向测试大,但也可能会覆盖不到某些地方,需要编写定向测试;
- 设备和环境配置:环境配置可能会将设计引向一个已知的状态,如果需要找出问题所在,需要有足够多的配置情况。例如,对多通道输入和输出的DUT,需要对每个通道参数进行随机化,并且放入到一个循环中红记性完成分时复用的作用。
- 输入数据:随机激励可以是总线写入的事务,然后将随机数值填充在里面的数字字段;
最后
以上就是优秀钢铁侠为你收集整理的system Verilog-验证的思想的全部内容,希望文章能够帮你解决system Verilog-验证的思想所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复