sarav

TLM 1.0 => TLM 2.0

4 posts in this topic

Hello
There is an existing model with tlm1.0 sockets - sc_port and sc_export.

Is it possible to bind these sockets to tlm2.0 initiator and target sockets?

If yes, then what is the conversion procedure involved?

I'm new to SystemC, any help/insight on this is appreciated.

Thanks.
 

Share this post


Link to post
Share on other sites

Hi.

AFAIK, there is nothing like that.

In TLM1 communication is based on fifos. In TLM2 it is sockets and transport calls. This is a big difference. TLM2 is conceptually different and not just a slight improvement over TLM1.

What you need is a channel that does the conversion from fifo content to payload and transport calls. This is not straightforward and not possible in a generic way.

 

Greetings

Share this post


Link to post
Share on other sites

Hello
Thank you for that information George.
I understand it is not as straightforward as binding sockets together.
Will it be possible to retrieve the data used in the fifo into a structure, and then mapping fields from that structure to appropriate fields in the tlm 2.0 payload?
Thanks

Share this post


Link to post
Share on other sites
7 hours ago, sarav said:

Will it be possible to retrieve the data used in the fifo into a structure, and then mapping fields from that structure to appropriate fields in the tlm 2.0 payload?

Yes, I do this kind of conversion of TLM-1.0 to TLM-2.0 and vice versa very often, because for synthesis only TLM-1.0 is supported, and for VP TLM-2.0 is commonly used.

The converter will be application-specific, because TLM-1.0 has no standard payload (Many TLM-1.0 models even define their own interfaces, instead of using standard put/get ).

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