Search the Community
Showing results for tags 'multidimensional port'.
Found 1 result
Hello folks: I am referring to IP-XACT 1685-2014 standard, but may be applicable to earlier versions as well. Component wire ports can have multiple drivers. The each driver has an optional range (section 188.8.131.52) which can only be one dimensional. This works alright for one dimensional ports. However the standard also allows for declaring multidimensional component ports with arrays (184.108.40.206) and vectors (220.127.116.11). How do I interpret the driver range within the context of multidimensional ports? It seems like default value can be specified for a slice of an standard verilog port. One may use a list of ranges allow port default value to be broken into several mutually exclusive parts perhaps in a more meaningful way. On the other hand, it seems to me from the spec that the default value can not be specified for an arbitrary multi dimensional slice of a (system verilog) multi dimensional port. Is it a correct assumption? I also thought of an interpretation. I am not sure if that was the real intent of the spec. Let me attempt describing using following examples. Verilog: [n:m] portname; In this case we are clear what default value and range would do. System Verilog: [a:b][c:d]...[n:m] portname; In this case we can think [n:m] portname as the base object, and other additional dimensions merely repeats the base object. Now if we interpret that we will have to apply the default value and range to all the base base objects the same way then it is consistent across the board. It would be a great help if someone can clarify this for me. Thanks in advance. -- Khan Kibria