Я хотел бы управлять несколькими базовыми модулями сигналами sc_in и разрешить нескольким основным модулям управлять сигналами sc_out оболочки (один драйвер для sc_out).
Я знаю, что привязка порт-порт разрешена, однако я настаиваю на использовании sc_signal в качестве промежуточного звена, потому что у меня есть определенные соглашения об именах в моей оболочке/модулях, используя sc_signal позволит мне сохранить и то, и другое.
Это должно быть выполнимо довольно легко, Verilog позволит это сделать с помощью провода. Однако мне не удалось найти много информации об этом в Интернете.
По сути, я хотел бы сделать это (синтаксис очень грубый):
Код: Выделить всё
--------------- Somewhere in Wrapper ------
sc_signal m1_sig_in_s;
sc_signal m0_sig_in_s;
sc_in port_in;
sc_out port_out;
m0_sig_in_s(port_in);
m1_sig_in_s(port_in);
port_out(m0_sig_out_s);
m0.in(m0_sig_in_s);
m0.out(m0_sig_out_s);
m1.in(m1_sig_in_s);
---------------- END
---------------- Somewhere in Top level -----
sc_signal clock;
sc_signal result;
wrapper.port_in(clock);
wrapper.port_out(result);
// Do stuff to drive clock and result signals //
---------------- END
Предыдущий вопрос (Управление sc_out из sc_signal) также пытается сделать что-то подобное, однако без однозначного ответа.< /p>
P.S. Я знаю, что, вероятно, я мог бы использовать некоторые варианты чтения/записи, чтобы добиться этого, но это было бы очень многословно для чего-то (что я считаю) очень простым.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -sc-signal
Мобильная версия