Jump to content
Sign in to follow this  
anindya.hazra

port concatenation during instantiation inside constructor

Recommended Posts

Hi,

 

I have three modules A,B and C. I want to integrate these three modules inside TOP module constructor.

 

Now module A has one port sc_out<<sc_uint<2> > out;

       module B has one port sc_out<<sc_uint<2> > out;

       module C has one port sc_in<<sc_uint<4> > in;

 

Now inside TOP constructor I have instantiated all these three modules A,B and C. And during connection I am doing following-

 

A_inst->out(out1);

 

B_inst->out(out2);

 

C_inst->in((out2,out1));

 

out1 and out2 both are sc_signal<sc_uint<2> > ;

 

This is throwing error that concatenation at ports not possible. Is it I am doing something wrong? How to perform these port concatenation directly inside constructor without introducing separate SC_METHOD for that?

 

Regards,

Anindya

Share this post


Link to post
Share on other sites

You can't concatenate ports like that - the concatenation operator is not defined for ports, it's defined for data types such as sc_uint, sc_bv, sc_lv.

 

The best solution is probably (as you hint) to introduce a separate SC_METHOD.

 

If you don't want to use a separate SC_METHOD, you might be able to do what you want using sc_vector - good luck!

 

Alan

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
Sign in to follow this  

×