-
Content Count
315 -
Joined
-
Last visited
-
Days Won
37
Content Type
Profiles
Forums
Downloads
Calendar
Everything posted by maehne
-
I suggest to first try launching your SystemC-AMS application under control of `gdb` from the command line to ensure seeing all error messages. My experience with IDEs is, that they sometimes do not show all relevant text of error messages making people look for the source of the problem in the wrong places.
-
SystemC 2.3.3 and later already support QuickThreads on aarch64! Maybe you just need to update your SystemC version? If you should encounter problems on this platform, feel free to report them on this forum. Using SystemC on aarch64 is probably not yet very widespread. So, we welcome any feedback!
- 1 reply
-
- quickthread
- assembly
-
(and 2 more)
Tagged with:
-
Thanks @Guillaume Audeon for reporting the issue and proposing a possible fix! I have forwarded it to the SystemC LWG. Could you be a bit more specific, with which SystemC version you are observing the segmentation fault on CentOS 7? Did you observe it with the latest official release tar ball of SystemC 2.3.3 or with the HEAD from the official SystemC Git repository?
-
You are apparently not debugging the compiled executable, but the C++ source file `main.cpp`. Check the manual of Eclipse CDT on how to configure the IDE for debugging a built program. If I remember correctly (haven't used Eclipse) for some time, it should suffice to right-click on the executable in the project navigator pane and select from the context menu "Execute and debug program" or something similar.
-
I cannot reproduce your problem. I copied your source code to files and build it. The comparator-pdf.vcd file generated by the executable contained the following three traces for v_p, v_n, and z, which match my expectations from inspecting your code:
-
You are welcome @omaima!
-
For analogue signal traces, the tabular trace file format is better suited. Creating them is very similar to VCD trace files. You just need to use sca_util::sca_create_tabular_trace_file() and sca_util::sca_close_tabular_trace_file() to respectively open/close these trace files. The typical file extension is ".dat". These trace files can be easily imported in gnuplot, Octave, MATLAB, Excel, and other mathematical tools for plotting / post-processing. Check out IEEE Std. 1666.1-2016 clause 9.1 for details. Tracing is also discussed in Section 6.2 of the SystemC AMS User's Guide.
-
The cause for the empty VCD file is probably due that you call at the end the wrong closing function sca_close_tabular_trace_file(tfp_vcd) instead of the correct one sca_close_vcd_trace_file(tfp_vcd). As Martin Barnasconi wrote, VCD files are not well suited for tracing TDF, LSF, and ELN signals, because these signals tend to change at each time step. VCD is best suited for discrete event signals.
-
sc_set_time_resolution fails due to "sc_time object(s) constructed"
maehne replied to Xesium's topic in SystemC Language
Maybe your application or one of the libraries it is using creates sc_time objects by initialising some global or static constants/variables? -
2d array data passing through generic payload
maehne replied to tyler's topic in SystemC TLM (Transaction-level Modeling)
Any multidimensional array can be mapped to linear storage and thus a one-dimensional array. C/C++ uses row-major order. If your 2d array deviates from that, you need to adjust ist explicitly. -
Your approach is also valid. You simply cannot profit with this approach from the infrastructure provided by SystemC, e.g., tracing the communication between the nodes. Whether this may pose a problem in the future is up to you to decide.
- 9 replies
-
- dynamic port binding
- initiator socket
- (and 4 more)
-
Static sc_vpool objects to cause initialization order fiasco
maehne replied to Julien's topic in SystemC Language
Thanks @Andy Goodrich for your additional analysis. We probably should also take into account the recent feedback from @Runip Gopisetty on the datatypes, where he also mentioned the sc_vpool objects as being problematic making the SystemC datatypes not thread-safe. -
Split custom bundled signals and connect to individual ports
maehne replied to coderoo's topic in SystemC Language
You'll have to create internal (i.e., private) signals for each member of the bundled class, which you need to connect to sub-blocks. Then, you have to register a SC_METHOD or SC_THREAD, which is sensitive to changes of the bundled input. The method/thread can then assign the correct new values to the internal signals based on the changed bundled input. -
You don't provide a minimal self-contained code example that exposes your problem. This complicates for an external the analysis of your problem. Also, a plot of the relevant signals would help to understand better, what wrong behaviour you are observing. Anyway, the calculation of the sine argument for x1 and x2 look suspicious to me: The "+" in front of 100 and 200 should probably be a "*" so that it corresponds to the general form of a wave equation x = A * sin(omega * t + phi). Also, it is wasteful to recalculate the amplitudes and frequencies in param_gen at each time step. If freque
-
Thanks @Runip Gopisetty for this detailed feedback on the SystemC datatypes! It is highly appreciated! Feel free to report additional issues and suggestions for improvements!
-
How about connecting all your nodes via the fifos to your communication manager? Then, the communication manager can internally manage how to route data received from the nodes based on your scenario? This would keep the structure of the model static while the actual communication paths change over the course of simulation.
- 9 replies
-
- dynamic port binding
- initiator socket
- (and 4 more)
-
Systemc executable cannot be built
maehne replied to A_Hoss's topic in SystemC AMS (Analog/Mixed-Signal)
To fix the issue, you can simply create a symbolic link lib-linux64, which points to lib, inside your SystemC installation directory /home/computation/Desktop/systemc-2.3.3-install using: cd /home/computation/Desktop/systemc-2.3.3-install ln -s lib lib-linux64 The experimental CMake-based build system distributed with SystemC provides to this end the setting INSTALL_LIB_TARGET_ARCH_SYMLINK. If enabled (default is OFF), the symlink is automatically created during installation of the SystemC library. Ideally, all SystemC-related libraries would provide a CMake-based build system, which wo -
Directly editing the Makefiles generated by the GNU autotools is not recommended. You have to set it prior before doing "configure" to ensure the sources are correctly set up. As C++'11 support is marked as experimental for g++ 5.2.0, it is well possible that its C++ standard library implementation is not complete. I recommend you to try with a more recent C++ compiler, which defaults to C++'11 or later. The accompanying README and INSTALL documents of the libraries list on which platforms the libraries were tested including compiler versions.
-
GCC 5.2.0 is an old compiler that still defaults to C++'98 even though it contains experimental support for C++'11. "std::enable_if" was introduced in C++'11. Therefore, it may work if you recompile all your SystemC-related libraries and applications with explicitly turned on support for C++'11 by adding "-std=gnu++11" as command line argument to the compiler calls. Most reliable is probably by setting the CXX environment variable.
-
Happy new year @Paul Floyd! Thanks for the further analysis and proposed patch! We'll have a look on it.
- 7 replies
-
- memory
- dynamic analysis
-
(and 1 more)
Tagged with:
-
Thanks @Paul Floyd for this additional information and analysis! It is very helpful to be able to reproduce the issues on our side and to fix them.
- 7 replies
-
- memory
- dynamic analysis
-
(and 1 more)
Tagged with:
-
Thanks @Paul Floyd for reporting the issue! I have forwarded it to the SystemC LWG. Could you please provide some more details about your OS environment, compiler/valgrind versions as well as the version of the SystemC library and regression test suite for which you observed the issues?
- 7 replies
-
- memory
- dynamic analysis
-
(and 1 more)
Tagged with:
-
Possible Bug/Regression in SystemC 2.3.2: Race Condition
maehne replied to AmeyaVS's topic in SystemC Language
Thanks for reporting this issue, I have forwarded it to the SystemC LWG. -
Static sc_vpool objects to cause initialization order fiasco
maehne replied to Julien's topic in SystemC Language
Dear Julien, thanks for reporting that issue! I confirm your findings and have forwarded the issue to the SystemC LWG so that it can be fixed. I am sorry for the long delay reacting to your message due to the summer vacation period. Best regards, Torsten Maehne