Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by ankushKumar

  1. i_top is the top module where i am biniding my testbench with my systemc model through initiator socket and target socket. Secondly, my model also have top model where i have binded parent child binding and also internal initiator and target socket binding.
  2. Hi Alan, in class B what actualy i am doing is : class B : public sc_module, public my_tlm_interface_forward , public my_tlm_interface_backward{ tlm::tlm_target_socket<BUS_WIDTH> target_socket; tlm::tlm_initiator_socket<BUS_WIDTH> initiator_socket; E *e; B(sc_module_name name):sc_module(name),target_socket("target_socket"){ target_socket(*this); initiator_socket(*this); e = new E(this); // IN THIS e I AM ALSO utilizing THE BACKWard interface } }
  3. in Constructor bind() is not required for parent child binding.
  4. Hi, here is the decription of class A class A{ public : tlm::tlm_target_socket<BUS_WIDTH> target_socket; void b_transport(tlm::tlm_generic_payload& trans, sc_core::sc_time &t){} A(sc_module_name name):sc_module(name),target_socket("target_socket"){ target_socket(*this); } }
  5. Hello All, I am trying to create a generic TLM interface for 2 to 3 modules . In which i am virtually inherting the tlm interface . But i am getting an error . Could you tell me the cause of error. example class A : public sc_module, public my_tlm_interface_fw{ }; class B : public sc_module, public my_tlm_interface_forward , public my_tlm_interface_backward{ } class C : public sc_module, public my_tlm_interface_backward{ } and binding C->initiator(B->target) B->initiator(A->target) Error: (E124) sc_export instance not bound to interface at end of c
  6. Hello all, i am using tlm socket and declared as following tlm_utils::simple_initiator_socket_tagged<current_model> initiator_socket[2]; // in construcot initiator_socket[0] = new tlm_utils::simple_initiator_socket_tagged<current_model>("socket0"); initiator_socket[1] = new tlm_utils::simple_initiator_socket_tagged<current_model>("socket1"); error: no match for ‘operator=’ (operand types are ‘tlm_utils::simple_initiator_socket_tagged<current_model<unsigned int, 32u>, 32u, tlm::tlm_base_protocol_types>’ and ‘tlm_utils::si
  7. hello i got that but would like to know what exactly happening. see class A:public sc_module{ public : A(){ SC_THREAD(funcA); } SC_HAS_PROCESS(A); void funcA(){ funcB(); } void funcB(){ wait(100,SC_NS); } } Now funcA is a thread thus registered with the systemc scheduler. what about funcB it is a C++ based function having wait whether it gets registered with systemc kernel since a normal c++ function cannot suspend.
  8. Hello all, I have doubt regarding use of c++ function inside systemc threads. It is said that a normal c++ function which is declared in a class inherting systemc module and called inside the thread of that class shall be executed based c++ kernel simulation not on the basis of systemc scheduler therefor it won't wait for an event or time if introduced in it. Is that true ? But in my code nothing as such is happening the function is waiting for time introduced in it. Regards.
  • Create New...