AresysMC Posted December 2, 2020 Report Share Posted December 2, 2020 I have a system c block (sc_method) with a sc_out<double> output port and a static tdf block with a sca_tdf::sca_de::sca_in<double> input converter port. I connected the two blocks with a sc_core::signal<double>. Basically the system c block writes a value only once, during the initialization call to the method, but the first input value read by tdf block on the converter port is zero. Only after the first step it starts reading the value written by system c block. Is there a way for the tdf block to read the value written during the initialization method call or I necessarily have to wait a step? Quote Link to comment Share on other sites More sharing options...
Martin Barnasconi Posted December 9, 2020 Report Share Posted December 9, 2020 The behavior your describe is correct and caused by the discrete-event behavior of the SystemC kernel. I suggest to read section 2.4.1 (Reading from the discrete-event domain) in the SystemC AMS user guide. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.