void uvm_ml_tlm_transrec_base::object(sc_object* b) { sc_module* m; m_obj = b; uvm_ml_utils::add_transrec_to_map(m_obj, this); if (is_transmitter()) { m = b->get_top_parent_module(); if (m) uvm_ml_utils::register_static_top(m->name()); } }
void uvm_ml_tlm_transrec_base::object(sc_object* b) { sc_module* m = NULL; m_obj = b; uvm_ml_utils::add_transrec_to_map(m_obj, this); if (is_transmitter()) { sc_object* obj = b->get_parent(); while (obj) { if (typeid(*obj) == typeid(parent_component_proxy)) return; // Parent proxy shall not be registered as a root node sc_module* mm = DCAST<sc_module*>(obj); if (!mm) break; m = mm; obj = obj->get_parent(); } if (m) uvm_ml_utils::register_static_top(m->name()); } }