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