-
Content Count
353 -
Joined
-
Last visited
-
Days Won
46
Roman Popov last won the day on September 7 2020
Roman Popov had the most liked content!
About Roman Popov
-
Rank
Advanced Member
Profile Information
-
Location
.Hillsboro, Oregon
Recent Profile Visitors
-
anna started following Roman Popov
-
OMark reacted to a post in a topic: sc_port sc_export binding issue
-
Nitin_S started following Roman Popov
-
tymonx reacted to a post in a topic: New UVM Reference Implementation Now Available
-
Roman Popov started following Runtime error for sc_module_name on msvc
-
Runtime error for sc_module_name on msvc
Roman Popov replied to Navaneet kumar's topic in SystemC Language
Do you have SystemC compiled as DLL? Otherwise you have same issue as described here : https://forums.accellera.org/topic/6540-inserting-existing-software-into-tlm-frame/ -
Roman Popov started following How to pass a sc_event as parameter without pointers?, SC_CTHREAD slows down simulation, Inserting existing software into TLM frame and 3 others
-
Many commercial SystemC tools have SystemC-specific profilers measuring runtimes of SC processes. On Windows I usually use Visual Studio built-in profiler. I don't have experience with profiling on Linux.
-
In general, you can use profiler tool to understand where hotspots are. Your code snippet is incomplete, so it is impossible to say anything.
-
Inserting existing software into TLM frame
Roman Popov replied to Liyuan's topic in SystemC TLM (Transaction-level Modeling)
Each shared library or executable has its own copy of static variables. So, if part of your application links SystemC dynamically, and other part links SystemC statically, the result is that you have 2 conflicting SystemC kernels in your application. So you have two options: - Use shared SystemC library everywhere - Use static linking everywhere -
1849:14: error: friend declaration of ‘int compare_unsigned
Roman Popov replied to aqib's topic in SystemC Language
Well, compiler error is self-explanatory. I see this particular issue is fixed even in SystemC 2.3.0 -
1849:14: error: friend declaration of ‘int compare_unsigned
Roman Popov replied to aqib's topic in SystemC Language
SystemC 2.2 is quite old, may be incompatible with modern compilers. Why not to use SystemC 2.3.3 ? -
Roman Popov reacted to a post in a topic: How to trace std::list<int> with sc_trace? [solved]
-
SiGa reacted to a post in a topic: How to trace std::list<int> with sc_trace? [solved]
-
How to trace std::list<int> with sc_trace? [solved]
Roman Popov replied to SiGa's topic in SystemC Language
I see at least 1 bug in code sample: for (auto val : var.read()) here you create copies of vector elements on a stack of your function. And then pass references to them into SystemC kernel. So those will be dangling references one you return from your sc_trace overload. Change to: for (auto & val : var.read()) -
Compiler already shown you where is the error and how to fix it. SystemC is a C++ library, you will need to learn C++ and get comfortable with g++ compiler before digging into SystemC.
-
rainer reacted to a post in a topic: How to trace std::list<int> with sc_trace? [solved]
-
VCS invokes g++ automatically. But this is correct, sc_main is missing.
-
How to trace std::list<int> with sc_trace? [solved]
Roman Popov replied to SiGa's topic in SystemC Language
This is correct, you cannot trace dynamic data structure. This is not even a SystemC limitation, but limitation of VCD waveform dump in general. VCD does not allow to add/remove signals to waveform dynamically. So usually you have two options : 1) If maximum capacity is known in advance and is small, you can create your own "list" that utilizes statically sized array as a storage: template<typename T> struct my_list_item { bool has_value = false; T value; } template<typename T, size_t MAX_SIZE> class my_list { std::array<my_list_item, MAX_SIZE> storage -
SiGa reacted to a post in a topic: How to pass a sc_event as parameter without pointers?
-
How to pass a sc_event as parameter without pointers?
Roman Popov replied to SiGa's topic in SystemC Language
Looks like XY problem to me. If you need pointer to event, use pointer. -
Warnings of SystemC with pedantic CMake
Roman Popov replied to Hadrian2002's topic in SystemC Language
Interesting, I'm not an expert in CMake, but even with existing CMakeLists.txt when I build my application SystemC include directory is recognized automatically as system headers: And as a result I don't receive any warnings about issues in SystemC headers. -
You forgot ";" here: using namespace std;
-
Then I have no idea. Set breakpoint on this report and analyze why it gets there. From my perspective your code sample should work without Warnings.
-
I've reproduced the issue on Centos7. Preliminary it looks like a misuse of mprotect on memory allocated with new. So as a workaround commenting out stack protection section should work. Since I don't have enough linux system programming expertise I will bring it to accellera wg discussion before submitting a fix to systemc repo. Thanks a lot for reporting this and spending your time on investigation!