Jump to content

Amol Nikade

  • Posts

  • Joined

  • Last visited

About Amol Nikade

  • Birthday 10/05/1994

Profile Information

  • Gender
  • Location
  • Interests
    SystemC, TLM 2.0

Amol Nikade's Achievements


Member (1/2)



  1. Hi, can anyone explain, how to read chunk of memory using tlm::tlm_initiator_socket by taking any example with TB. I tried write to Memory, but I am not able to get How data pointer of trans can be assigned by memory start address in the target side.
  2. Hi Eyck, I am facing some below issue while binding initiator and target socket. --------------------------------------------------------------------------------------------- Simple Module: class ABC : public sc_module { public: SC_HAS_PROCESS(ABC ); ABC (sc_module_name nm, bool log_enable); ~ABC (); tlm_utils::simple_target_socket_tagged<ABC , 32>* t_socket [11]; }; ABC ::ABC (sc_module_name ABC) : sc_module(nm) { for(unsigned int id=0;id<11;id++) { char txt[20]; sprintf(txt, "socket_%d", id); t_socket [id] = new tlm_utils::simple_target_socket_tagged<ABC,32>(txt); } } ----------------------------------------------------------------------------------------------------------------- TestBench: class testbench: public sc_module { public: sc_in<bool> i_clk; SC_HAS_PROCESS(testbench); testbench(sc_module_name nm) : sc_module(nm) { m_abc = new ABC("ABC"); for(unsigned int i=0;i<11;i++) { char txt[20]; sprintf(txt, "socket_%d", i); o_tb[i]= new tlm_utils::simple_initiator_socket<testbench, 32>(txt); o_tb[i]->bind(m_abc->t_socket [i]); // Facing issue while binding } tlm_utils::simple_initiator_socket<testbench, 32>* o_tb [11]; protected: ABC *m_abc; } ----------------------------------------------------------------------------------- error: no matching function for call to ‘tlm_utils::simple_initiator_socket<testbench, 32u>::bind(tlm_utils::simple_target_socket_tagged<ABC, 32u>*&)’ o_tb[i]->bind(m_abc->t_socket [i]); can you please comment, why I am getting binding issue.
  3. Can I get Example of How can we use - simple_target_socket_tagged. I have one component, that can be requested by N peripherals, so that I wanted to use tagged socket in my component to serve N peripherals with only one b_transport API call. Also How can I Identify which socket has called b_transport function ?
  4. Q1. How we will get to know which SC_METHOD/SC_THREAD will trigger first if all the methods are sensitized to 'clock.pos()' Q2. how to achieve if we cant to give priority for any specific method ? Q3. what are the pros and cons of SC_METHOD over SC_THREAD or vice versa ?
  5. Hi All, I have the below code, I am not understanding how clock instance will get time period/how it will be triggered ? int sc_main( int, char* [] ) { sc_clock clock; dpipe<atom,4> delay("pipe"); Reader reader("reader"); Writer writer("writer"); delay.m_clk(clock); reader.m_clk(clock); reader.m_from_pipe(delay.m_out); writer.m_clk(clock); writer.m_to_pipe(delay.m_in); sc_start(10, SC_NS); return 0; }
  6. could you give me the idea of approximately timed coding ??
  7. can anyone tell me what is meant of temperal decouling? Approximaetely timed? loosely timed?
  • Create New...