Search the Community
Showing results for tags 'sensitivity'.
-
Hello, When using a multiport port type as follows: struct M:sc_module{ sc_port<sc_signal_in_if<sc_dt::sc_logic>, 32, SC_ZERO_OR_MORE_BOUND> prt_input; void end_of_eleaboration(){ SC_METHOD(action); for(int i=0;i<prt_input.size();i++) sensitive << prt_input->value_changed_event(); } ... }; Is there any way to capture the port index "i" which changed the value and caused the method to be called? Thanks,
- 3 replies
-
- systemc2.3.1
- channels
-
(and 1 more)
Tagged with:
-
Greetings everyone, I have a process that is sensitive to an sc_vector (specifically a vector of input ports) and was curious about how to handle the fact that values are maintained on each port in that vector on subsequent iterations of the process. This makes it very difficult to determine which values are actually new when the process is executed. I was hoping there would be a way to clear the value on a port once it had been read, but I could not find anything like this. The closest thing to a solution is to "latch" the value each time the process gets triggered and then compare the
-
Hallo, I have a SC_THREAD which has a dynamic synchronization. I use a sc_event_or_list as the wait-function argument. void notifyForGeneratedOutPix(void) { using namespace std; while (true) { sc_core::wait( m_outPixEvOrList ); //I'd like to do something like this: for(auto event : m_outPixEvOrList) { if(event.isNotified()) { cout << "@ " << setw(5) << sc_core::sc_time_stamp(); cout << " | delta cycle: " <
-
Hi All , I am new to SytemC and I am designing a FIFO . When I run the make file I am getting an error " no match for ‘operator=’ in ‘((sync_fifo*)this)->sync_fifo::wptr = 0’ " . I guess this has do with the sensitivity list of wptr and rptr but I am not sure how to fix it.I have highlighted the lines where I am getting error . It will be really helpful if someone could explain this . Thank you #include <systemc.h> SC_MODULE (sync_fifo){ sc_in_clk clk; sc_in<bool> rst; sc_in<bool> rd_wr; sc_out<bool> full; sc_out<bool> empty; sc_in < sc_uint&l