Jump to content


  • Content Count

  • Joined

  • Last visited

About rainer

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Out of curiosity, Eyck, is this actually correct/safe to do with a std::list (or std::vector or similar)? My understanding is that void sc_trace(sc_trace_file* tf, const TraceList& var, const std::string& nm); would be called once when you're calling the sc_trace for the signal/port/... carrying the TraceList, and the kernel would then keep the references to the list's elements. Now, assuming that TraceList's internal std::list would actually hold a non-constant amount of objects during the simulation, I guess you would run into the problem that the references to its member
  2. Hi Philipp, thank you for the quick answer and for taking care of this! BR, Rainer.
  3. Hi, I'm using cci_value::from_json(std::string const & json) to allow users to set model parameters. If the supplied json string is invalid JSON, ie. cannot be deserialized correctly, the function fails rather harshly in the CCI 1.0.0 PoC implementation -- it simply sc_assert()'s that the conversion was ok: inline cci_value cci_value::from_json( std::string const & json ) { cci_value v; bool ok = v.json_deserialize( json ); sc_assert( ok ); return v; } In SystemC 2.3.2, sc_assert() calls sc_assertion_failed() in case of a failure, which in turn, reports an SC_FATAL,
  4. gtkwave actually supports strings in VCD files as an extension (see, eg., https://sourceforge.net/p/gtkwave/support-requests/2/ and the sample VCD file thats attached). With hacking the kernel to support tracing strings, as Roman mentioned, this works well in SystemC (I wrote such a patch some time ago, but unfortunately don't have it available anymore). Still, this means that your model will only work with the patched kernel and the VCD will only display correctly in gtkwave. test.vcd
  • Create New...