Jump to content

Recommended Posts

Posted

The output of my program says this ... What might be the exact problem.. !! I am unable to tracethat particular port.

SystemC 2.2.0 --- Sep 25 2012 13:13:03

Copyright © 1996-2006 by all Contributors

ALL RIGHTS RESERVED

Info: (I804) /IEEE_Std_1666/deprecated: sc_sensitive_pos is deprecated use sc_sensitive << with pos() instead

Error: (E112) get interface failed: port is not bound: port 't1.m1.port_3' (sc_in)

In file: ../../../../src/sysc/communication/sc_port.cpp:265

Info: (I804) /IEEE_Std_1666/deprecated: You can turn off warnings about

IEEE 1666 deprecated features by placing this method call as the

first statement in your sc_main() function:

sc_report_handler::set_actions("/IEEE_Std_1666/deprecated", SC_DO_NOTHING);

Posted

The error message is quite explicit. Some input port to some module is

not connected to an input channel (sc_signal), as it must be. To find

the exact location, you would have to search very carefully through

your sc_modules, especially at the locations where the input/output

port bindings are done.

The 'Info' messages are also very clear. Hope that helps.

Posted

The output of my program says this ... What might be the exact problem.. !! I am unable to tracethat particular port.

SystemC 2.2.0 --- Sep 25 2012 13:13:03

Copyright © 1996-2006 by all Contributors

ALL RIGHTS RESERVED

Info: (I804) /IEEE_Std_1666/deprecated: sc_sensitive_pos is deprecated use sc_sensitive << with pos() instead

As it is clear from the info message, you have to use sc_sensitive<<a.pos(); . sc_sensitive_pos is supported in previous versions.

Error: (E112) get interface failed: port is not bound: port 't1.m1.port_3' (sc_in)

In file: ../../../../src/sysc/communication/sc_port.cpp:265

All systemC ports should be binded. SystemC does not support floating ports. Either you can bind that port another port or with a dummy signal.

In this case port 3 in m1 module is not bounded.

Info: (I804) /IEEE_Std_1666/deprecated: You can turn off warnings about

IEEE 1666 deprecated features by placing this method call as the

first statement in your sc_main() function:

sc_report_handler::set_actions("/IEEE_Std_1666/deprecated", SC_DO_NOTHING);

Posted

Hi PV,

in the message

Error: (E112) get interface failed: port is not bound: port 't1.m1.port_3' (sc_in)
In file: ../../../../src/sysc/communication/sc_port.cpp:265

the path

t1.m1.port_3

tells you exactly which port is not bound. t1 and m1 are names you created. port_3 is the default name for the 4th port you declared in the module that is instanced as m1,

regards

Alan

Posted

Hello,

please follow Alan's and David's advice.

t1.m1.port_3

tells you exactly which port is not bound. t1 and m1 are names you created. port_3 is the default name for the 4th port you declared in the module that is instanced as m1,

I would like to add that it is good practice to set the port name to be equal to the name of the port instance variable in your module. This can be easily achieved by passing it in form of a string to the port's instance constructor in the member initialization list of the module's constructor, e.g.:

SC_MODULE(my_module) {
 sc_core::sc_in<double> in1, in2;
 sc_core::sc_out<int> out;
 SC_CTOR(my_module)
 : in1("in1"), in2("in2"), out("out")
 {}
 // ...
};

Once you do it systematically, the SystemC error messages during elaboration and simulation will become much clearer, as they will use real variable names, which you can easily locate in your source code.

Regards, Torsten

Posted

Hi,

SC_THREAD(process_thread) ;

sensitive << bsp ;

dont_initialize();

bsp is a global variable of type sc_dt::sc_bit;

The build output is (2nd line):

error C2678: binary '<<' : no operator found which takes a left-hand operand of type 'sc_core::sc_sensitive' (or there is no acceptable conversion)

Help please.

Posted

You can't be sensitive to a plain C++ variable, you have to be sensitive to a channel that implements default_event(). Did you mean

sc_signal<bool> bsp;

By the way, sc_bit is deprecated, just use bool,

Alan

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...