Jump to content


  • Content Count

  • Joined

  • Last visited

  1. pgarg

    async_request_update example

    Hi David and Philipp, Thanks for the example. This example works for me. As David mention that newer notification will simply overwrite previous notification even though time delta for newer is larger than previous notification. This is fine in my case as in my case the time delta is always zero. As long as event can be delivered i am fine. To understand what is meant by shared data, let me elaborate my scenario. The shared data structure in my case is a queue<int>. My external thread looks as following grab pthread_mutex push a value in queue. thread_safe_event.notify(); // from David's example release pthread_mutex SystemC thread while(1) { wait( thread_safe_event.default_event() ); grab pthread_mutex pop all values from queue. release phtread_mutex; process values poped from queue. } Does this cover shared data structure protection for my case or do i need add mutexing within thread_safe_event as well? I am asking the question because in David's example m_delay variable essentially a shared variable between external thread and systemC kernel. external thread writes to variable and systemC kernel reads the variable? Thanks Piyush
  2. pgarg

    async_request_update example

    Hi Philipp There is no test directory at the path specified by you in systemc_regressions-2.3.0. There is async_reset and async_reset_port but no async_request_update? Regards Piyush
  3. I have a process that is asynchronous/external to SystemC Kernel. I want this process to generate an event to a systemC thread. I read on forums that there is mechanism - "async_request_update" - in system 2.3.0 to do so without corrupting systemC kernel data structures. Is there an example showing how to use this mechanism with OSCI simulator? Thanks Piyush