|Re: Modeling off-chip communication [message #1810627 is a reply to message #1809519]
||Wed, 14 August 2019 15:19
| Falk Rehm
Registered: August 2019
Leonie Köhler wrote on Wed, 17 July 2019 09:16|
Though APP4MC is specifically targeted at embedded multi- and many-core software systems, it would still be interesting to be able to model also off-chip communication (CAN, Flexray, etc.). It seems that the "connection handler" represents already some useful entity for this problem.
Do you have some example how to represent message/packet streams on an external bus/network? Is it possible at all?
Sorry for the late response.
We tried to make the description of the communication as generic as possible. I will try to answer your question mainly from a hardware model point of view. As you already mentioned is the connection handler the central element for describing crossbars, interconnects, or even bus systems like a CAN or Flexray bus.
In Amalthea, it is no difference if you describe the communication on- or off-chip. The hierarchical structure to connect multiple ECUs with e.g. a CAN bus can be done using the HWStructure elements and the connection handler between them. The behaviour of the connection handler can be described in the connection handler definition e.g. with the "Max Concurrent Transfers" attribute will be usually 1 for a bus and for an interconnect it will be the number of attached initiator ports (also have a look at the Amalthea documentation).
In case you want to model the communication from a ProcessingUnit of one ECU to a memory on another ECU over a Bus system, you can create an AccessElement for a ProcessingUnit and attach an AccesPath to it. With the help of the AccessPath you can describe the path from the ProcessingUnit over some HwConnections (e.g. connecting the ProcessingUnit-Port with the ConnectionHandler-Port and from another ConnectionHandler-Port with the Memory-Port on the other HwStructure).
Communication from a software point of view is done via reading or writing labels. Channel communication is also supported but I am not sure if this will help you. I attached an example based on Amalthea version 0.9.5.
Have a look at the example in case you have more questions do not hesitate to ask.
Powered by FUDForum
. Page generated in 0.01683 seconds