本文主要是介绍[UVM]6.component driver monitor sequencer agent scoreboard env test,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.知识点回顾
(1)component需要有parent,因为参加构成组件,所以需要(继承);
(2)object与component之间间隔report_object。
2.组件家族
(1)构建寄存器模型 :uvm_reg_predictor;激励器:driver/random_stimulus/sequencer_base/sequencer;监测器:monitor;检查器:in_order_comparator/algorithm_comparator/scoreboard
(2)概述
3.uvm_driver
(1)概述
-
uvm_driver会从uvm_sequencer中获取事务。继承与uvm_component。
-
参数类以type为标志,REQ为uvm_sequence_item类型,RSP与REQ同类型。
(2)示例
extern 表示定义了外部的任务。
4.uvm_monitor
(1)概述
(2)示例
5.uvm_sequencer
(1)uvm_sequencer概述
-
sequence是产生数据的,sequencer是传递数据到driver。sequence和sequencer共同扮演者generate。
(2)示例
6.uvm_agent
(1)概述
(2)示例
7.uvm_scoreboard
(1)概述
(2)数据比较的方法(不常用)
-
before_export和after_export这个两个端口一个是reference model中的期望的数据,一个是monitor里的数据。
-
type transformer 相当于模板。以这个模板进行转换。
(3)示例
如果没有构造类型,m_comp = uvm_in_order_comparator#(bus_xact)::type_id::create("m_comp",this)。
8.uvm_env
(1)概述
建议在test中只有一个env。
(2)示例
9.uvm_test
(1)概述
必须继承与uvm_test,否则找不到。
(2)示例
这篇关于[UVM]6.component driver monitor sequencer agent scoreboard env test的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!