________________________________
From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf
Of Francoise Martinolle
Sent: Friday, January 21, 2005 3:38 PM
To: sv-bc@eda.org
Cc: stuart@sutherland-hdl.com
Subject: [sv-bc] errata 101/errata 168
I also looked at errata 322 in the same page and I don't
understand why we changed what was there to :
"
If the first argument to an array dimension function would cause
$dimensions to return 0 or if the second argument is If an out-of-range
dimension is specified, then an 'x shall be returned. these functions
shall return a 'x.
"
Why if $dimensions return 0, we change it to return 'x? Is it
when it is assigned to a 4 state data object? I cannot make any
sense of this. I do understand the out of range.
I believe that this was done so that one could distinguish cases when
there is information to return about a particular array dimension from
cases when it does NOT make sense to return a non-negative value which
could be mistaken to be a reasonable answer. Consider a singular
object:
logic a;
We agree that this has 0 dimensions:
$dimensions(a) == 0
If you were to ask
$left(a,0)
and it returned a non-negative value then your code could not identify
that the value is inaccurate. 'x is something that you can test for
in your code, to let you know that the query is invalid.
Matt
Received on Sun Jan 23 23:05:05 2005
This archive was generated by hypermail 2.1.8 : Sun Jan 23 2005 - 23:05:21 PST