Jump to content


  • Content Count

  • Joined

  • Last visited

  1. Thanks for the response. I'll look into sc_fifo and sc_buffer.
  2. After some debugging with DDD, it seems this behavior is caused by the following code: sc_signal.h sc_signal<T>::write( const T& value_ ) { sc_object* writer = sc_get_curr_simcontext()->get_current_writer(); if( m_writer == 0 ) { m_writer = writer; } else if( m_writer != writer ) { sc_signal_invalid_writer( this, m_writer, writer ); } m_new_val = value_; if( !( m_new_val == m_cur_val ) ) { request_update(); } } In my testcase the image memory is freed when the receiver method runs. This caused malloc to occasionally return the same pointer
  3. Hello all, I'm trying to build a model of an image processing system using systemC 2.2.0. Initially I'd like to pass images to each processing block using pointers so the simulation runs fast as the images will be large. Later the plan is to model data transfers between blocks more precisely. I tried a simple program with two blocks communicating using two port types. One uses sc_bv<N> and the other uses a pointer to a struct. The sender writes to the output N times on both ports and the receiver reacts to the input ports and prints the result. Everything compiles okay but the prog
  • Create New...