-
Content Count
536 -
Joined
-
Last visited
-
Days Won
130
Philipp A Hartmann last won the day on September 14 2020
Philipp A Hartmann had the most liked content!
About Philipp A Hartmann
-
Rank
Advanced Member
Profile Information
-
Gender
Not Telling
-
Location
Linz, Austria
-
Philipp A Hartmann started following Memory leak when sc_event is notified twice
-
maehne reacted to a post in a topic: Memory leak when sc_event is notified twice
-
Memory leak when sc_event is notified twice
Philipp A Hartmann replied to Lukas Steiner's topic in SystemC Language
This is not really a memory leak, but a very bad „model“ for the current implementation. I wonder if you saw any such scenario in a real model? „Canceled“ notifications like in your case will still be kept in the kernel‘s internal data structures until the notification time is reached (1ms in your case). You would pile up 999,999,999 of these canceled notifications until they are „deallocated“, each of them taking entries in the event queue and 16 bytes for the notification itself. Which is a lot of memory. I wrote „deallocated“ in quotes, because sc_event_timed uses a very simple m -
SystemC 2.3.3 using MSVC causes read access violation
Philipp A Hartmann replied to maarten's topic in SystemC Language
Make sure to include /vmg in your project's compiler settings, see https://github.com/accellera-official/systemc/blob/master/INSTALL.md#creating-systemc-applications -
David Black reacted to a post in a topic: Support for C++11/14 in SystemC 2.3.2
-
Bizarre error when doing wait(&event)
Philipp A Hartmann replied to Mark's topic in SystemC Language
From the code itself, it's not obvious to me, where the unexpected overload of sc_core::wait(int) is called. Can you try attaching a debugger and break on the exception (catch throw in gdb) and check from the backtrace, where from the exception is thrown? -
Mark reacted to a post in a topic: Bizarre error when doing wait(&event)
-
Bizarre error when doing wait(&event)
Philipp A Hartmann replied to Mark's topic in SystemC Language
I suggest to move to SystemC 2.3.3, if possible. (The error message indicates, that you seem to be using SystemC 2.3.1). Secondly, can you show the derived class of the fifo as well (including its constructor)? -
Which compiler/platform are you using? If you are on MSVC, make sure to include /vmg in your compiler settings as described in the INSTALL file. Hope that helps, Philipp
-
Looking at the source code of any SystemC implementation is sometimes misleading. Check IEEE 1666-2011, Annex C (deprecated features), item (n):
-
SC_METHOD Dynamic Sensititivity Modification
Philipp A Hartmann replied to sheridp@umich.edu's topic in SystemC Language
... and sc_method_process is a non-standard class, which even is incomplete on the model side when including <systemc(.h)>. So I would not call this clean. Regarding your original solution, it is important to note that you are not supposed to change an sc_event_list object while processes are sensitive to it. In your case, it works because you trigger the process immediately, which then 're-reads' the event list right away and therefore updates the sensitivity without breaking the kernel state What do you want to achieve that makes you want to do this? /Philipp -
Valgrind does not play well with the Quickthreads package used for the SystemC threads by default. As Torsten said, please try with SystemC 2.3.3 and configure your SystemC library build with --enable-pthreads to switch to the posix-based thread implementation, see https://github.com/accellera-official/systemc/blob/master/INSTALL.md.
-
maehne reacted to a post in a topic: multi_passthrough_target_socket issue from 2.3.1 to 2.3.2
-
The only normative reference for SystemC is defined by the IEEE Std. 1666-2011, see http://ieeexplore.ieee.org/document/6134619/. The is_reset() was never part any version of the standard, so one could never rely on its presence. You would to check, why the ReChannel library tries to call this function and then find another way to implement this functionality. /Philipp
-
Philipp A Hartmann reacted to a post in a topic: SystemC AMS User's Guide 2020 edition now available
-
Philipp A Hartmann changed their profile photo
-
maehne reacted to a post in a topic: sc_fifo::read() - g++ gives warning that tmp is unset
-
MINGW64 : undefined symbol in libsystemc.a
Philipp A Hartmann replied to JIBI3731's topic in SystemC Language
Actually, it is expected that you don't have the QuickThreads package built on MinGW. As you can see from your config.log, the threading package to use is But it seems that the source code is missing an explicit check for _WIN64 to catch the MinGW-64 case. Can you try compiling with WIN64 defined (without leading underscore): ../configure CXXFLAGS="-DWIN64" Hope that helps, Philipp -
sc_fifo::read() - g++ gives warning that tmp is unset
Philipp A Hartmann replied to plafratt's topic in SystemC Language
This compiler warning is a false positive. There is a loop in sc_fifo<T>::read(T&) ensuring that the fifo is not empty (and the success of the nb_read(T&) is even guarded by an sc_assert😞 while( num_available() == 0 ) { sc_core::wait( m_data_written_event ); } bool read_success = sc_fifo<T>::nb_read(val_); sc_assert( read_success ); The check for num_available() is even stricter than the check in buf_read, but I can imagine that some compilers might not be able to prove this invariant. Therefore, unconditionally initializing the local variable to -
maehne reacted to a post in a topic: CMake build/install issue: dangling reference to deleted file in docs/CMakeLists.txt
-
maehne reacted to a post in a topic: SystemC TLM CMake install bug
-
Valgrind run on SystemC library.
Philipp A Hartmann replied to Niharika26's topic in SystemC Language
sim_input.h:344 and sim_sync.h:29 points to your code and the issue reported from sc_spawn_object is very likely caused via inlining from your Tasker::MethodFunction<> class. So you will need to look into your code to address these particular reports. For SystemC 2.3.1, the are some known Valgrind reports, most of which should have been addressed in SystemC 2.3.3. Greetings from Duisburg, Philipp