Я пытаюсь связать два модуля, но, видимо, ограничение не вступает в силу, и я не могу понять, почему ограничение не вступает в силу. Это код ошибки:
Error: (E109) complete binding failed: port not bound: port `'Traffic_light.port_7' (sc_out)`
Вот код модуля traffic_light
#ifndef TRAFFIC_LIGHT_H
#define TRAFFIC_LIGHT_H
#include <systemc.h>
#include <stdio.h>
#include <stdlib.h>
SC_MODULE(Traffic_light){
// Signal input from traffic lights, 0: no car, 1: has car
sc_in<bool> ns_car;
sc_in<bool> sn_car;
sc_in<bool> we_car;
sc_in<bool> ew_car;
// Output color --> 0: red, 1: green
// bool sn_light, ns_light, we_light, ew_light; // Old code
sc_out<bool> ns_light;
sc_out<bool> sn_light;
sc_out<bool> we_light;
sc_out<bool> ew_light;
// Counter of cars in a road
// Vector [0] == North-South, [1] == South-North
// [2] West-East, [3] == East-West
int counter[4];
//Contructor
SC_HAS_PROCESS(Traffic_light);
Traffic_light(sc_module_name name);
void trafficLightController();
// void lightState();
};
#endif
А вот код модуля output_light:
#ifndef OUTPUT_LIGHT_H
#define OUTPUT_LIGHT_H
#include <systemc.h>
SC_MODULE(Output_light){
sc_in<bool> ns_light;
sc_in<bool> sn_light;
sc_in<bool> we_light;
sc_in<bool> ew_light;
//Contructor
SC_HAS_PROCESS(Output_light);
Output_light(sc_module_name name);
void printLightState();
};
#endif