Jump to content

Search the Community

Showing results for tags 'tlm sockets'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Accellera Systems Initiative
    • Information
    • Announcements
    • In the News
  • SystemC
    • SystemC Language
    • SystemC AMS (Analog/Mixed-Signal)
    • SystemC TLM (Transaction-level Modeling)
    • SystemC Verification (UVM-SystemC, SCV, CRAVE, FC4SC)
    • SystemC CCI (Configuration, Control & Inspection)
    • SystemC Datatypes
  • UVM (Universal Verification Methodology)
    • UVM (IEEE 1800.2) - Methodology and BCL Forum
    • UVM SystemVerilog Discussions
    • UVM Simulator Specific Issues
    • UVM Commercial Announcements
    • UVM (Pre-IEEE) Methodology and BCL Forum
  • Portable Stimulus
    • Portable Stimulus Discussion
    • Portable Stimulus 2.0 Public Review Feedback
  • IP Security
    • SA-EDI Standard Discussion
    • IP Security Assurance Whitepaper Discussion
  • IP-XACT
    • IP-XACT Discussion
  • SystemRDL
    • SystemRDL Discussion
  • IEEE 1735/IP Encryption
    • IEEE 1735/IP Encryption Discussion
  • Commercial Announcements
    • Announcements

Categories

  • SystemC
  • UVM
  • UCIS
  • IEEE 1735/IP Encryption

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests


Biography


Location


Interests


Occupation


Company

Found 1 result

  1. Hi Experts I am facing an issue in downcasting the sc_module child objects to target_base_socket_type. It works fine when I downcast to initiator_base_socket_type. In initiator module I have following lines or code which works fine and tells me which ports are not bound tlm::tlm_initiator_socket<BUS_WIDTH> initiator_socket; typedef tlm::tlm_fw_transport_if<tlm::tlm_base_protocol_types> fw_interface_type; typedef tlm::tlm_bw_transport_if<tlm::tlm_base_protocol_types> bw_interface_type; typedef tlm::tlm_base_initiator_socket<BUS_WIDTH,fw_interface_type,bw_interface_type> initiator_base_socket_type; void before_end_of_elaboration(){ cout<<this->name()<<" before_end_of_elaboration"<<endl; std::vector<sc_object*> module_list = this->get_child_objects(); for(std::vector<sc_object*>::iterator it=module_list.begin(); it<module_list.end();it++){ initiator_base_socket_type* ibsoc = dynamic_cast<initiator_base_socket_type*>(*it); if(ibsoc != NULL){ if(ibsoc->get_base_port().size()==0){ cout<<"\t\t\tInitiator Port "<<ibsoc->name()<<" not connected"<<endl; } } } } I have the same piece of code (following) code in target module, in this case ibsoc is always NULL tlm::tlm_target_socket<BUS_WIDTH,tlm::tlm_base_protocol_types,2> target_socket; typedef tlm::tlm_fw_transport_if<tlm::tlm_base_protocol_types> fw_interface_type; typedef tlm::tlm_bw_transport_if<tlm::tlm_base_protocol_types> bw_interface_type; typedef tlm::tlm_base_target_socket<BUS_WIDTH,fw_interface_type,bw_interface_type> target_base_socket_type; .. .. void before_end_of_elaboration(){ std::vector<sc_object*> module_list = this->get_child_objects(); for(std::vector<sc_object*>::iterator it=module_list.begin(); it<module_list.end();it++){ target_base_socket_type* ibsoc = dynamic_cast<target_base_socket_type*>(*it); if(ibsoc != NULL){ if(ibsoc->get_base_port().size()==0){ cout<<"\t\t\tTarget Port "<<ibsoc->name()<<" not connected"<<endl; } } } } Am I missign something ? Please note in for target port I have N=2 Thanks
×
×
  • Create New...