RE: [sv-bc] errata 101/errata 168

From: Maidment, Matthew R <matthew.r.maidment@intel.com>
Date: Sun Jan 23 2005 - 23:04:56 PST

 

________________________________

        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