-
Posts
367 -
Joined
-
Last visited
-
Days Won
43
maehne last won the day on June 21 2023
maehne had the most liked content!
Contact Methods
-
Website URL
https://www.bfh.ch/en/about-bfh/people/zshqz5xubyro/
Profile Information
-
Gender
Male
-
Location
Burgdorf, Switzerland
Recent Profile Visitors
4,056 profile views
maehne's Achievements
![Rank: Advanced Member (2/2) Advanced Member](http://content.invisioncic.com/r164598/set_resources_1/84c1e40ea0e759e3f1505eb1788ddf3c_default_rank.png)
Advanced Member (2/2)
88
Reputation
-
maehne started following Issues with tracing using get_typed_trace_value() , Compile SystemC Target for ARM , Assertions and SystemC and 7 others
-
The SystemC PoC implementation can be built for ARM using CMake. Instructions can be found here.
-
maehne reacted to a post in a topic: Very odd issue
-
Per default, I would recommend you to prefer sc_signal, as it yields optimal performance for the common case, where you want to cause activation of a listening thread/method only when the signal‘s value has actually changed. sc_buffer is primarily useful, when you want to synchronise thread/method executions based on each write - even if the same value got written.
-
maehne reacted to a post in a topic: binding error
-
I am not aware of a RISC-V port of QuickThreads. The members of SystemC LWG only minimally maintain it as part of the SystemC proof-of-concept implementation. On unsupported platforms, alternatives (Pthreads, Fibers) can be used.
- 3 replies
-
- quickthread
- assembly
-
(and 2 more)
Tagged with:
-
During initialization, all processes are executed once except those, which have been marked with dont_initialize(). See IEEE 1666-2011, clause "4.2.1.1 Initialization phase" for details.
-
Parameter transfer during module instantiation
maehne replied to songlin941111's topic in SystemC Language
You don't seem to be familiar with basic C++ concepts: You pass NUM as template parameter to the type sc_uint, i.e., its value needs to be known at compile time. If you want to pass this parameter when you instantiate your My_module, you'll have to make it a templated struct: template<int NUM> struct My_module : public sc_core::sc_module { sc_core::sc_in<sc_dt::sc_uint<NUM>> a{"a"}; //... }; Your Top module is also unsuitably structured: The My_module pointer mod needs to be a member variable. I wouldn't recommend to use C-style raw pointers, but std::unique_ptr for this purpose to automatically handle deallocation. Note that you need to pass NUM as template parameter like you did it for your port a in the sample code. I recommend you to first learn properly C++, before exploring more SystemC. -
David Black reacted to a post in a topic: Creating an array of sc_modules that is synthesizable
-
Creating an array of sc_modules that is synthesizable
maehne replied to newtosystemc's topic in SystemC Language
Meant is GNU M4, an implementation of the traditional Unix macro processor. You can check out a tutorial, e.g. this one, to get a first glimpse on how to use it. -
@Diego: What the above replies by @karthickg and @David Black are not taking into account is that you are using the sca_eln:sca_de::sca_rswitch from the SystemC AMS extensions. Its ctrl input will get sampled with the time step associated with the cluster of instantiated ELN modules. Therefore, you need to ensure that the SystemC simulation time advances when executing your embedded software in the TLM/DE part of your model. To this end, you will need to issue wait statements in the appropriate places, e.g., inside the instruction set simulator / CPU model executing your embedded software or inside the API calls, which interact with the hardware. It heavily depends on the modeling style of the rest of your system. Anyway, reading the boolean control signal in the get() member function is the right approach to reflect the state of the sca_rswitch.
-
Replace SCA_TDF_MODULE with SC_MODULE and it should work. Your module instantiates other modules to interconnect them. A TDF module is always a primitive module without any inner structure in form of submodules. Instead, it serves to describe the timed dataflow behaviour using the various TDF callbacks.
-
Example risc_cpu from systemc-2.3.4.zip issues.
maehne replied to djmoore's topic in SystemC Language
I suggest that you test whether this problem is present when building SystemC and the example from the official public Git repository and otherwise raise this issue/provide a PR on the GitHub issue tracker so that it gets seen by the people involved in the development of the proof-of-concept simulator. -
maehne reacted to a post in a topic: SystemC QuickThread
-
Operational amplifier with finite power rails
maehne replied to slavisha's topic in SystemC AMS (Analog/Mixed-Signal)
The nullor is not suitable for modelling a clamped operational amplifier, as it forces the voltage and current at the input terminals (i.e., its nullator side) to zero, but leaves the voltage and current at its output terminals (i.e., the norator side) completely undefined. This only works when a feedback path exists from the outpu to the negative input terminal. The voltage sink attached to the nullor output does not contribute an equation to the equation system. I suggest you replace the nullor with a voltage controlled voltage source with a sufficiently high gain. You may also need to add an artificial load resistance to its output in case the SystemC AMS PoC implementation should still have a problem to establish the equation system. -
maehne reacted to a post in a topic: Some questions about assignment
-
Why don't you simply use the template parameter T instead of uint32_t?
-
tlm::tlm_analysis_fifo
maehne replied to Hans van der Schoot's topic in SystemC Verification (UVM-SystemC, SCV, CRAVE, FC4SC)
Thanks for reporting the issue! I forwarded it to the SystemC LWG. If you could provide a small reproducer of the issue, it would help us to reproduce and test the suggested fix. FYI, you can also create issue on the public SystemC repository. -
How about constructing an sc_fxval from your integer, shifting then its value to the right by the amount of fractional digits and then constructing your sc_fixed variable with fixed number of bits from it?
- 1 reply
-
- systemc
- fixedpoint
-
(and 1 more)
Tagged with: