Karos Lu Posted February 24, 2020 Report Posted February 24, 2020 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! Quote
David Black Posted February 24, 2020 Report Posted February 24, 2020 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. Quote
Recommended Posts
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.