Я пишу приложение для имитации аппаратной системы с использованием библиотек SystemC. Моя проблема заключается в обработке типа sc_logic
. Рассмотрим простой модуль
SC_MODULE(MyModule) {
sc_in_clk clk;
sc_out<sc_logic> outsig;
void main_process();
SC_CTOR(MyModule) {
SC_METHOD(main_process);
sensitive << clk;
}
};
Рассмотрим реализацию процесса:
void MyModule::main_process() {
this->outsig.write(SC_LOGIC_1);
}
ХОРОШО. Проблема: outsig
всегда равно '0'
и никогда не меняет своего значения. Я пишу много сигналов в своей симуляции, но эта проблема возникает только с sc_logic
значениями в sc_out
портах.
Кто-нибудь может мне помочь?