Jump to content

Andreas

Members
  • Content Count

    7
  • Joined

  • Last visited

  • Days Won

    1
  1. Hey there We've developed a small simulation framework using SystemC to allow simulation of MPEG or DVB transport stream decoding. It is able to simulate the complete chain: receive -> demultiplex -> decode -> display (both for audio and/or video) and can be used to e.g. simulate behaviour based on bitrate or buffering behaviour etc. We decided to publish the framework and a basic 'ideal' pipeline (ideal as per MPEG-2 specs) as Open Source under the MIT license. You can find the framework in our GitHub repository: https://github.com/Digisoft-tv/TSSim Any feedback welcome! Andreas
  2. Andreas

    unexpected Error: (E100)

    Well, you are rigth. However the workaround using before_end_of_elaboration is working. Thank you Regards Andreas
  3. Andreas

    unexpected Error: (E100)

    I am a little bit confused now. Isn't this what I had done with struct ExampleModulePython :ExampleModule { ExampleModulePython(const char* name):ExampleModule(name){} }; I will try this approach. Thanks
  4. Andreas

    unexpected Error: (E100)

    Finally I had implemented the workaround you mentioned. something like: struct ExampleModulePython :ExampleModule { ExampleModulePython(const char* name):ExampleModule(name){} }; But now I have a different problem. As long as I used ExampleModule( const char* name ) I was able to create the Ports in Python. Now I get the same Error. I guess that after the Module is registered using SC_HAS_PROCESS and SC_THREAD It is not possible to add any prots? I am rigth that there are no checks for this if you are using the deprecated way? Regards
  5. Andreas

    unexpected Error: (E100)

    Hey I would prefer to use this way, but it seems not as easy for me. I try to generate Python bindings folowing this (http://forums.accellera.org/topic/1458-python-bindings-for-systemc/) paper (at the end of the topic). I am not finished now. But Swig could only pass char* as parameter. So my preffered way to create an object is using a call to: ExampleModule( const char* name ) Regards
  6. Andreas

    unexpected Error: (E100)

    Well good to know it is not my fault . I know it works with: ExampleModule( const char* name ): sc_module( name ); So I have to work with this. But I don't like it, because it's deprecated. Thank you Regards
  7. Andreas

    unexpected Error: (E100)

    Hi, I am reciving Error: (E100) port specified outside of module: port 'port_0' (sc_port_base) In file: ../../../../src/sysc/communication/sc_port.cpp:231 When I try to bild my systemc simulation. I have written a small example, that reproduce the error on my machine: main.cpp #include "systemc.h" #include "exampleModule.cpp" int sc_main (int argc, char* argv[]) { ExampleModule example("example"); } exampleModule.cpp #include "systemc.h" struct ExampleModule : ::sc_core::sc_module{ public: sc_fifo_in<int> out; void readData(){ } SC_HAS_PROCESS(ExampleModule); ExampleModule( const char* name ): sc_module( sc_module_name(name) ) { cout << "name:" << this->name() << endl; SC_THREAD(readData); } }; It looks like the error is in ExampleModule( const char* name ): sc_module( sc_module_name(name) ) While debuggin this part I get an unexpected jump to sc_port. When I'm changing the code to ExampleModule( const char* name ): sc_module( name ) everything is fine. But this is deprecated. Has anyone a suggestion what im doing wrong? Regards
×