18 :
public sc_core::sc_port<sc_core::sc_signal_inout_if<T>, 0, sc_core::SC_ZERO_OR_MORE_BOUND>,
19 public sc_core::sc_module
23 bool vals_valid =
false;
28 : sc_core::sc_port<sc_core::sc_signal_inout_if<T>, 0, sc_core::SC_ZERO_OR_MORE_BOUND>(name)
29 , sc_core::sc_module(sc_core::sc_module_name((std::string(name) +
"_thread").
c_str()))
37 while (vals_valid ==
false) {
40 std::vector<T>
vs = vals;
43 for (
int i = 0;
i < this->size();
i++) {
45 SCP_DEBUG(())(
"Writing {} to {}",
v,
t->get_parent().name());
47 this->operator[](
i)->write(
v);
49 wait(sc_core::SC_ZERO_TIME);
53 void async_write_vector(
const std::vector<T>&
vs)
55 vals.insert(vals.end(),
vs.begin(),
vs.end());