Jump to content

IPXact port allLogicalDirectionsAllowed


Khushi

Recommended Posts

Hello

What is the usage of setting allLogicalDirectionsAllowed to true in ipxact:port/ipxact:wire.

The LRM says it allows to map that physical port to a logical port with different direction.

If we set allLogicalDirectionsAllowed to true, then isn't it violates the direction semantics of absdef logical port vs component physical port. 

I am not able to understand the usage scenarion where we actually need allLogicalDirectionsAllowed=true ?

Thank you

Kushi

Link to comment
Share on other sites

Hello Kushi,

As the LRM says, if allLogicalDirectionsAllowed is true then the direction constraints for that port are ignored if it is mapped to a logical port. A scenario is an AMBA clock port for which the direction of logical ports is input. If your IP would have a clock output port, then you can set allLogicalDirectionsAllowed to true for that port and map it to an AMBA logical clock port. Another example is that you map one physical to both a target and an initiator interface on the same IP. Often logical ports in both interfaces have opposite directions and you would need to set allLogicalDirectionsAllowed to true.

Best regards,
Erwin

Link to comment
Share on other sites

Thank you Erwin

But I am not sure to understand this. 

For clk and reset(in AMBA) the direction is "in" for both onMaster and onSlave which means (as I understand) both master and slave interfaces are driven by a clock/reset via an external clock/reset driver. So corresponding clk/rst physical port on both master and slave interfaces should be of direction "in". And corresponding physical ports on clock/reset driver should be of direction "out". So I am not sure to understand when you said IP would have clock output port and we want it to map to AMBA bus interface

In addition to this, I am not sure to get your following statement

"Often logical ports in both interfaces have opposite directions and you would need to set allLogicalDirectionsAllowed to true"

As usually in abs defs we have different directions for master and slave(onMaster/direction and onSlave/direction) so do we still need to set allLogicalDirectionsAllowed to true ?

Thank you

Khushi

Link to comment
Share on other sites

Hello Kushi,

Please see the diagram below which shows a subsystem with an AMBA initiator interface that is connected to a NoC with an AMBA target interface. The AMBA clock is generated inside the subsystem using a clock gate that gates the clock source from a clock generation unit. In this case, the clock port in the AMBA interface of the subsystem is an output. Hence it requires allLogicalDirectionsAllowed value true to allow port mapping on the AMBA logical clock port.

image.png.eee3f963f05e88fdc719383d05e867a5.png

The second diagram below shows a subsystem that uses a bus interface with two logical ports A and B. They have direction in for onTarget and direction out for onInitiator. The target interface maps a1 to A and b to B. The initiator interface maps a2 to A and b to B. Port b requires allLogicalDirectionsAllowed value true.
image.png.8a7ecfa4be0a0f10f76abb1c968779e9.png

Hopefully the examples clarify things for you.

Best regards,
Erwin

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...