1.UVM component相较与UVM object所具有的两大特性:
- 在new时候通过指定parent参数来形成一种树形结构。
- 具有phase的自动执行的特点。
2.虽然UVM中有一个uvm_transaction类,但是在UVM中,不能从 uvm_transaction
派生一个transaction,而要从uvm_sequence_item
派生。
3. config类,不属于UVM框架定义的类,而是用户定义的继承与uvm_object
的类,将验证平台所有参数的参数都放在这个类里,这样在使用config_db设置验证环境的参数时,只需要一条config_db语句就能将所有参数配置完成。
4. uvm_reg_item
:派生自uvm_sequence_item
,用在register model中。
5. uvm_phase
:派生自uvm_object
。
6. 派生自uvm_component的类。
uvm_monitor
,uvm_scoreboard
类虽然派生自uvm_component,但实质上并没有增添新功能.uvm_driver
的功能主要就是向sequencer索要sequence_item,并将其驱动到DUT。其增加的成员有:
uvm_seq_item_pull_port #(REQ, RSP) seq_item_port
;
uvm_seq_item_pull_port #(REQ, RSP) seq_item_prod_if
; // alias
uvm_analysis_port #(RSP) rsp_port
;
REQ req
;
RSP rsp
;`uvm_sequencer
的功能就是组织管理sequence,当driver要求数据时,它就把sequence生成的sequence_item转发给driver,它增添的成员有:
uvm_seq_item_pull_imp #(REQ, RSP, this_type) seq_item_export
;
REQ req
;
RSP rsp
参考:
UVM实战(卷1) (张强 著)