Jump to content
foobar42

Using a module inside another SC_MODULE

Recommended Posts

Hi,

I'm new to SystemC and fail to use a SC_MODULE in another SC_MODULE.

My code looks somewhat like this:

SC_MODULE(module0) {

...

};

SC_MODULE(module1) {

module0 mod0("mod0");

...

};

When I want g++ to compile this, it bails out with the following error message:

sd_adder.h:19: error: expected identifier before string constant

sd_adder.h:19: error: expected ‘,’ or ‘...’ before string constant

Is it somehow possible to use modules in other modules?

Share this post


Link to post
Share on other sites

You need to instantiate the sub-module as a member in the parent module. Modules are just regular C++ classes, same rules apply.

SC_MODULE(module1) {

 SC_CTOR(module1)
   : mod0( "mod0" ) // initialise member in constructor
 {
   // ...
 }

private:
 // sub-module member declaration
 module0 mod0;
};

Greetings from Oldenburg,

Philipp

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

×