Jump to content
Sign in to follow this  

Sending all transactions, arriving at several targets, from one initiator

Recommended Posts

Hi All,


I'm quite new to TLM and have just joined this forum. I'd appreciate if you could help me to clarify one probably very simple question.

I have N targets and one initiator. Each target handles transactions of particular priority. I need to analyze several transactions, arriving at these targets in one delta-cycle, select one with the highest priority and send it from the only one initiator. Priorities can change dynamically. Can you please share your ideas on that? 


Thank you in advance,



Share this post

Link to post
Share on other sites

Connections in TLM2 are point-to-point. If you need to connect one initiator to many targets you need a router in the middle.


With a loosely timed style of coding you might not even need a delta cycle, a single call could take no time at all - though of course the initiator would probably contain a wait after each function call.


Have look at the LT example here:






Share this post

Link to post
Share on other sites

I would suggest using the multi-sockets (see section 17.1.4 of IEEE-1666-2011).


You did not mention how priorities are determined. If the communications carries the priority as separate signals, then I suggest you consider using an ignorable extension (sections 15.2 and 15.21). If contained in the payload, then you can inspect it directly.


You can find more information at doulos.com/knowhow/systemc/ and a good video tutorial on the application of extensions at http://www.accellera.org/resources/videos/tlm20extensions/

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