RE: [sv-bc] clarification request

From: Rich, Dave <Dave_Rich_at_.....>
Date: Fri Sep 14 2007 - 12:29:48 PDT
Steven,

These restrictions are based on existing restrictions on the
force/release and assign/deassign constructs, which do not allow slices
of variables to be continuously assigned, while leaving other parts of
the variable alone.

I think the intent of these restrictions was to keep packed objects
treated as a singular variable and not have to split them up into
individual bits like you would a wire.

Yes, the longest static prefix rules do not distinguish between packed
and unpacked. However, the result of the longest static prefix will tell
you whether you are dealing with a packed or unpacked type. For example
if you have

int i;
bit [0:7] A [0:7];

The LSP of A[i] is the entire unpacked array. The LSP of A[1][i] is one
element of A that happens to be a packed array.


Dave


> -----Original Message-----
> From: owner-sv-bc@server.eda.org [mailto:owner-sv-bc@server.eda.org]
On
> Behalf Of Steven Sharp
> Sent: Friday, September 14, 2007 11:45 AM
> To: sv-bc@server.eda.org
> Subject: [sv-bc] clarification request
> 
> We have a user who has found that different tools are disagreeing on
> whether a mixture of procedural and continuous assignments are allowed
> to different bits of a packed struct or array.
> 
> IEEE Std 1800-2005 6.7 has the statement
> 
> "It shall be an error to have a packed structure or array type written
> with a mixture of procedural and continuous assignments."
> 
> This seems to forbid it, but could be interpreted as referring to an
> assignment to the packed object name, rather than the members or
> elements of it.  Also, it does not match the sentence just ahead of
> this, which says "Multiple assignments made to independent elements of
> a variable are examined individually."  Since different members of a
> packed struct or different elements of a packed array are independent,
> this says that they would be examined individually, so no restrictions
> would apply between them.
> 
> There is also the description in the previous paragraph about the
> restriction being based on the longest static prefix.  This
restriction
> does not distinguish between packed and unpacked types.
> 
> I do not see any technical reason to restrict this for packed
structures
> and arrays, any more than for unpacked ones.  The only difference I
can
> see is that a packed object can also be written as the whole vector.
That
> means an additional way that the bits can be referenced, and this must
be
> taken into account when checking that the same bits are not written in
> two separate ways.  Perhaps the quoted sentence was trying to say
> something
> about that.  Does anyone know the original intent of this text and the
> reasons behind it?
> 
> Steven Sharp
> sharp@cadence.com
> 
> 
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Sep 14 12:30:08 2007

This archive was generated by hypermail 2.1.8 : Fri Sep 14 2007 - 12:30:35 PDT