• UVM中的class--2


    1)uvm_component从uvm_report_object继承而来,提供的功能包括:

                  1)Hierarchy,-----searching and traversing component hierachy

                           

                  2)Phasing-----调用uvm_phase以及预先定义的很多phase

                           

                          

                  3)config-------调用config_db的methods

                           

                  4)report-------调用uvm_report的methods

                            

                  5)Factory-----调用factory的methods

                            

                  6)Transaction recording-----调用recording的methods

    Callbacks Classes用来做registration/user-defined的callback

       uvm_callbacks,实现callback的注册,

       uvm_callback,自定义callback的基类。

    2)uvm_callbacks#(T,CB),T表示基本的object类型,CB表示定义的callback,完成注册。

    3)uvm_callback------------function callback_mode(Enable/disable callbacks)像constraint mode

                                                       is_enabled(返回callback的enable/disable)

    4)uvm_test,用户自定义的test的虚基类,run_test必须放在initial内部。

                        virtual class uvm_test extends uvm_component

                        并没有很多新的variable和methods

    5)uvm_env,hierarchy上的container,包含其他的component,来组成和一个整体。

                        virtual class uvm_test extends uvm_component

                        并没有很多新的variable和methods

    6)uvm_agent, virtual class uvm_agent extends uvm_component

                        新加一个virtual function get_is_active(),返回1表示UVM_ACTIVE,返回零表示UVM_PASSIVE

    7)uvm_monitor, virtual class uvm_monitor extends uvm_component

                        并没有很多新的variable和methods

    8)uvm_scoreboard, virtual class uvm_scoreboard extends uvm_component

                        并没有很多新的variable和methods

    9)uvm_driver, virtual class uvm_driver extends uvm_component

                        uvm_driver #(REQ, RSP)

                        新增的port,seq_item_port(request items from sequencer)

                                          rsp_port(sending responses)

    10)uvm_subscriber, virtual class uvm_subscriber extends uvm_component

                        uvm_subscriber #(T)

                        新增的port,analysis port(提供给write函数)

                        新增的methods,write(pure virtual class)

    11)Comparators,应用在transaction的比较,从DUT出来的和expected results

                        uvm_in_order_comparator #(T,comp_type,convert,pair_type)

                        新增的port,before_export:一个transaction从这个port写入

                                         after_export:另一个transaction从这个port写入

                                         pair_ap:comparator输出transaction从这个analysis port

                        新增的methods(virtual function):set m_matches和m_mismatches为零。

    12)uvm_sequence_item:用户自定义transaction的基类,从uvm_transaction继承来

                        virtual function---set_sequencer()

                        function---get_sequencer()/uvm_report_info/warning/error/fatal

                        virtual task---start_item()/finish_item()/

    13)uvm_sequence_base:

                        class uvm_phase starting_phase

                        virtual task---start()/pre_body()/pre_do()/mid_do()/body()/post_do()/start_item/finish_item/wait_for_grant

                        task----lock()/grab()/

                        function---set_priority()/unlock()/ungrab()/

    14)uvm_sequence(virtual) #(uvm_sequence_item, REQ)

                        function---send_request(uvm_sequence_item req)/

                        virtual task---get_response(RSP)

    15)uvm_sequencer_base,从uvm_component继承而来,

    16)uvm_sequencer_param_base #(REQ= uvm_sequence_item, RSP)

    17)uvm_sequencer #(REQ = uvm_sequence_item, RSP)

                    新增port:seq_item_export

    18)uvm_push_sequencer #(REQ = uvm_sequence_item, RSP)

                    新增port:req_port

  • 相关阅读:
    vue学习6
    vue学习5
    vue学习3
    vue学习2
    vue学习1
    idea快速查找和替换快捷键
    mysql三元表达式
    1 Java Lambda表达式forEach无法跳出循环的解决思路
    6 Mybatis Plus and 和 or,分页Page使用
    4 Mybatis Plus使用redis作为二级缓存
  • 原文地址:https://www.cnblogs.com/-9-8/p/5894232.html
Copyright © 2020-2023  润新知