Jump to content

Get run time error E120 while duplicating the sc_module


Recommended Posts

I want to instantiate two module with the same implementation in the top module like below:

int sc_main(int argc, char* argv[])
 {
        pe *pe = new pe("pe0", "0");
        pe *pe1 = new pe("pe1", "1");

        sc_start();

}

If there is only one PE, everything works as expected. But, I got a run time error, Error: (E120) sc_export instance has no interface: pe1.cpu1.tlm_base_initiator_socket_export_1, while running simulation with 2 PEs. I have checked the interfaces are implemented and bound for all the sockets in the PE module. What can I do to make sure where the problem is?

 

Thanks and appreciate for all suggestions in advance!

Link to comment
Share on other sites

First observation: sc_main is not a module. I would suggest you put them in a real top module; however, that is likely not the real problem.

Second observation: you need to show us more code. WHat you have showns is insufficient to analyze. For example, we have no idea what the port connectivity is nor how it is connected. If you have TLM, then you need to show those aspect. We would need to see at least the contents of pe and cpu for the information you have shown.

Link to comment
Share on other sites

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