Jump to content

Recommended Posts

Hi,

I am seeing a similar issue as mentioned in the thread below with the tlm package shipped with SystemC-2.3.2 and SystemC-2.3.1.

https://workspace.accellera.org/Discussion_Forums/helpforum/archive/msg/msg?list_name=help_forum&monthdir=200802&msg=msg00013.html

Are the suggestions made by Alan the only options to work around this issue ? Would this be fixed in the official tlm release ?

Thanks in advance for the help/suggestions.

 

Share this post


Link to post
Share on other sites

Thanks for providing this feedback on the SystemC PoC implementation! It would help if you could share some more details about the exact error messages as well as a minimal self-contained example exposing the problem you are observing. Then, we may discuss the issue more seriously.

Share this post


Link to post
Share on other sites

Hi,

Thanks for the response. In lined is the test case that fails to compile.

#include "tlm"
#include "systemc.h"

class slave : public sc_module {
public:
        sc_port<tlm::tlm_fifo_get_if<int> > target_port;

        SC_HAS_PROCESS(slave);
        slave(sc_module_name nm) :
        sc_module(nm) {
                SC_THREAD(run);
        }
        void run() {
                for(int a = 0 ; a < 20 ; a++)
                {
                        int b;
                        target_port->nb_peek(b);
                        std::cout << b << " ";
                }
        }
};

Errors:

test.cpp: In member function 'void slave::run()':
test.cpp:17:17: error: request for member 'nb_peek' is ambiguous
    target_port->nb_peek(b);
                 ^
In file included from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h:39:0,
                 from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h:23,
                 from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h:29,
                 from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm:26,
                 from test.cpp:1:
systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_fifo_ifs.h:54:16: note: candidates are: bool tlm::tlm_fifo_debug_if<T>::nb_peek(T&, int) const [with T = int]
   virtual bool nb_peek( T & , int n ) const = 0;
                ^
In file included from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_fifo_ifs.h:28:0,
                 from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h:39,
                 from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h:23,
                 from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h:29,
                 from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm:26,
                 from test.cpp:1:
systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_core_ifs.h:116:16: note:                 bool tlm::tlm_nonblocking_peek_if<T>::nb_peek(T&) const [with T = int]
   virtual bool nb_peek( T &t ) const = 0;
 

Share this post


Link to post
Share on other sites
1 hour ago, vasu_c said:

Thank you so much Roman and Philipp. Appreciate the work around suggested.

Please can I know which release would contain this fix ?

2.3.3 will be released next week w/o a fix. So most likely next one after 2.3.3

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×