Ошибка: (E109) ​​сбой полной привязки: порт не привязан: порт 'Traffic_light.port_7' (sc_out) - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь связать два модуля, но, видимо, ограничение не вступает в силу, и я не могу понять, почему ограничение не вступает в силу. Это код ошибки:

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
...