UVM入门系列(四)----通过uvm_gen脚本快速搭建一般验证平台(下)
目录
前言
本篇博文继续之前博文的内容对验证平台进行补全,之前博文内容链接:
UVM入门系列(一)----通过uvm_gen脚本快速搭建一般验证平台(上)
UVM入门系列(三)----通过uvm_gen脚本快速搭建一般验证平台(中)
1、reference model
声明transaction,i_seq_item接受自i_monitor,o_seq_item发送至scoreboard进行比较。
i_seq_item req;
o_seq_item m_trans;
声明port,analysis_port用于向scoreboard发送o_seq_item,blocking_get_port用于从i_monitor接受i_seq_item。
uvm_blocking_get_port#(i_seq_item) get_port;
uvm_analysis_port#(o_seq_item) analysis_port;
function add_refm::new(string name, uvm_component parent);
super.new(name, parent);
get_port=new("get_port",this);
analysis_port=new("analysis_port",this);
req=i_seq_item::type_id::create("req",this);
endfunction : new
main_phase:reference model从fifo中取出数据,进行计算处理后,通过analysis_port的write函数发送给scoreboard。
fork
forever begin
m_trans=o_seq_item::type_id::create("m_trans",this);
get_port.get

本文详细介绍使用UVM框架及uvm_gen脚本快速搭建验证平台的过程,涵盖参考模型、评分版、功能覆盖率等核心组件的设计与实现。
最低0.47元/天 解锁文章
1070

被折叠的 条评论
为什么被折叠?



