rahuljn Posted October 15, 2014 Report Posted October 15, 2014 Hi Experts I am modeling an abstraction definition for some protocol whcih has bidirectional TLM ports. Form the standard, I found I can use initiative as "both" for bidirectional ports but I have either onMaster and onSlave. There is nothing line inout(both in and out) Is it a limitation in the standard or there is a way to model such bidirectional TLM ports. Thanks RahulJn Quote
kock Posted November 6, 2014 Report Posted November 6, 2014 Hello RahuIJn. In IP-XACT there are wire ports and transactional ports. The element direction with values in, out, inout, and phantom is used for wire ports. The element initiative with values provides, requires, both, and phantom is used for transactional ports. A transactional port has initiative provides if the transactional port provides (implements) a service (method) that can be called by another port. A transactional port has initiative requires if the transactional ports requires (calls) a service (method) that is implemented by another port. Initiative both means that the transactional port implements and calls methods. If your bidirectional port is a standard TLM2 socket then you do not need to model this as a bidirectional port. We have the following style for that (for a target socket): <spirit:busInterface> <spirit:name>RegisterIF</spirit:name> <spirit:busType spirit:version="2011-1.0" spirit:name="TLM2GP" spirit:library="ieee1666" spirit:vendor="accellera.org"/> <spirit:abstractionType spirit:version="2011-1.0" spirit:name="TLM2GP_tlm" spirit:library="ieee1666" spirit:vendor="accellera.org"/> <spirit:slave> <spirit:memoryMapRef spirit:memoryMapRef="RegisterMap"/> </spirit:slave> <spirit:portMaps> <spirit:portMap> <spirit:logicalPort> <spirit:name>TLMSOCKET</spirit:name> </spirit:logicalPort> <spirit:physicalPort> <spirit:name>socket</spirit:name> </spirit:physicalPort> </spirit:portMap> </spirit:portMaps> </spirit:busInterface> <spirit:port> <spirit:name>socket</spirit:name> <spirit:transactional> <spirit:transTypeDef> <spirit:typeName>tlm::tlm_target_socket<32></spirit:typeName> <spirit:typeDefinition>tlm.h</spirit:typeDefinition> </spirit:transTypeDef> <spirit:service> <spirit:initiative>provides</spirit:initiative> <spirit:serviceTypeDefs> <spirit:serviceTypeDef> <spirit:typeName spirit:implicit="true">tlm_fw_transport_if</spirit:typeName> </spirit:serviceTypeDef> </spirit:serviceTypeDefs> </spirit:service> </spirit:transactional> <spirit:access/> </spirit:port> An initiator socket is similar with initiative requires. Best regards, Erwin Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.