UVM验证平台中的scoreboard
来源:互联网 发布:家用榨油机 知乎 编辑:程序博客网 时间:2024/06/05 00:12
scoreboard主要用于比较reference model与DUT输出是否一致,并给出比较结果。
一个简单的scoreboard如下:
6~7行分别定义了两个端口,一个事exp_port,用于从reference model的ap获得期望的数据;
另外一个端口是act_export,用于从monitor的ap获得实际DUT的输出数据。
main_phase中使用fork开启了两个进程,其中一个用于从reference model中获得数据,另一个用于从monitor中获得数据。一般来说,同样一组数据,经过DUT处理后会存在延迟,但是在reference model中部会(除非刻意这么做)。
从scoreboard的角度看,reference model中的数据总是先到达,所以在33行中把reference model的数据先放入一个队列中。
由于DUT的输出后到达,所以当36行接收到DUT的输出后,先查看队列中是否有记录,如果没有记录,则说明reference model没有数据输出,而DUT输出了,这是不期望的结果,52行给出错误信息。如果队列中有记录,则从38行从队列中弹出第一个数据,并把此数据与DUT的输出比较,这里比较用到了compare函数,这里之所以可以用这个函数比较,是因为在定义transaction时使用了一些列的uvm_field_*宏。compare会逐字段比较get_actual和tmp_tran,如果所有的字段都一样,那么返回1,否则返回0.
★:scoreboard中一般使用一个队列来暂存从reference model中得到的期望数据。
0 0
- UVM验证平台中的scoreboard
- UVM平台搭建
- UVM中的TLM通信
- modelsim10.4 搭建uvm平台
- 基于UVM的verilog验证
- UVM中的regmodel建模(一)
- UVM系统验证基础知识1(基于UVM的verilog验证 )
- UVM系统验证基础知识0(modelsim搭建第一个UVM环境及源码下载 )
- FPGA设计—UVM验证篇(1) Hello world
- 关于我的UVM验证的第一个程序
- PHP验证码图片在各类平台中的应用
- UVM---开篇
- UVM::hello_world
- UVM::config
- UVM::TLM
- UVM overwrite
- UVM PLUSARG
- UVM-regmodel
- 记一次发布网站80端口无法访问的解决历程
- 实现异步提交
- C++中struct和class的区别
- java算法系列之一:快速排序算法
- Linux进程通信---消息队列 代码实现
- UVM验证平台中的scoreboard
- Linux内核模块通知链实现原理(阅读笔记)
- OpenGL笔记16 文字绘制
- Java中Graphics类setXORMode方法使用笔记
- nginx with a much full install
- 852 蛇形填数(二)【模拟】
- Effective C++——条款13(第3章)
- HDU 3063 Play game
- MVC模式的php框架 炼成记