Jump to content


Popular Content

Showing content with the highest reputation on 07/29/2013 in all areas

  1. 1 point
    Hello Milind, The error message regarding the delay is caused by your calls to sca_tdf::sca_de::sca_out<T>.initialize() in the a2d_nbit::initialize() callback. By simply removing the two initialize() callbacks in this callback, the error will disappear. The reason is the semantical difference between initialize() of a TDF (converter) port and that of a DE port. The initialize() of sc_core::sc_in<T>, sc_core::sc_out<T>, and sc_core::sc_inout<T> will set the initial value of the sc_core::sc_signal<T> bound to the port. The initialize() of sca_tdf::sca_in<T>, sca_tdf::sca_out<T>, sca_tdf::sca_de::sca_in<T>, sca_tdf::sca_de::sca_out<T> will initialize the delay samples of the port. By default, a TDF port has a delay of zero! Therefore, you are not allowed to call initialize on these kind of ports in the context of the TDF module's initialize() callback. Once you specify a sample delay of n samples on a TDF ports in the module's set_attributes() callback, you can initialize the delay samples with id 0 to n-1 using initialize(val, id). For more information, have a look in the SystemC AMS User's Guide and the SystemC and SystemC AMS LRMs. Regards, Torsten
  2. 1 point

    Eclipse Windows with SystemC 2.3.0

    Fixed last issue also by providing "/vmg" flag to compiler Source: http://forums.accellera.org/topic/71-dcast-exception-for-sc-thread-call-in-constructor-vs2012-w8/ Now everything works.
  3. 1 point

    Eclipse Windows with SystemC 2.3.0

    I have managed to remove the error by changing the following linker flag - Project -> Properties -> C/C++ Build -> Settings -> Tool Settings -> C++ compiler -> Code Genearation -> Run-time library : from /MD (msvcrt.lib: import library for the release DLL version of the CRT ) to /MTd (links libcmtd.lib: static CRT link library for a debug build). Then I get some different warnings: cl /c /EHs /MTd /Zi "/IC:\\systemc-2.3.0\\src" "/IC:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Include" /nologo /Fofifo.obj "..\\fifo.cpp" fifo.cpp Unknown compiler version - please run the configure tests and report the results ..\fifo.cpp(101) : warning C4407: cast between different pointer to member representations, compiler may generate incorrect code ..\fifo.cpp(123) : warning C4407: cast between different pointer to member representations, compiler may generate incorrect code link /debug /nologo "/libpath:D:\\Downloads\\Binaries\\EDA Softwares\\SystemC\\systemc-2.3.0\\msvc80\\SystemC\\Debug" "/libpath:C:\\Program Files\\Microsoft SDKs\\Windows\\v6.1\\Lib" /OUT:sysc_test.exe fifo.obj "C:\\systemc-2.3.0\\msvc80\\SystemC\\Debug\\SystemC.lib" These two warnings come for the code lines where method "process" is registered as a simulation process SC_THREAD( process ); // warning C4407: ... ... SC_THREAD( process ); // warning C4407: In addition when I try to run simulation by executing the fifo.exe, I get an error: SystemC 2.3.0-ASI --- Jul 26 2013 10:48:21 Copyright © 1996-2012 by all Contributors, ALL RIGHTS RESERVED Error: (E549) uncaught exception: Access violation - no RTTI data! In file: c:\systemc-2.3.0\src\sysc\kernel\sc_except.cpp:98