pv.aditya 0 Report post Posted November 2, 2012 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); Quote Share this post Link to post Share on other sites
dakupoto 33 Report post Posted November 2, 2012 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. Quote Share this post Link to post Share on other sites
afzalmd 0 Report post Posted November 2, 2012 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); Quote Share this post Link to post Share on other sites
David Black 155 Report post Posted November 2, 2012 Turning off warnings for core features that have been deprecated is probably asking for trouble. 1 maehne reacted to this Quote Share this post Link to post Share on other sites
apfitch 205 Report post Posted November 2, 2012 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 Quote Share this post Link to post Share on other sites
maehne 69 Report post Posted November 2, 2012 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 1 sumit_tuwien reacted to this Quote Share this post Link to post Share on other sites
pv.aditya 0 Report post Posted November 4, 2012 Thanks to all for your valuable feedback. Am trying to trace my signals to port binding. Will get back soon. Quote Share this post Link to post Share on other sites
Tanja 0 Report post Posted November 8, 2012 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. Quote Share this post Link to post Share on other sites
apfitch 205 Report post Posted November 8, 2012 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 Quote Share this post Link to post Share on other sites