I wanted to respond to this since I am working on a proposal that will remove some of the restrictions with NBA assignments to dynamic types. I think the situation for sampling and updating are very similar, and should use the same language semantics.
The problem is the word "dynamic" type is used loosely. A queue or dynamic array is not a dynamic type as a whole, but its elements are. When we pass an element of a dynamic array by reference to a task, we use the term out-dated reference to mean if the array changes, the reference does not and we have to keep the memory allocated as long as the task call is active. I think the same should apply to NBA or sampling semantics.
Then there is the issue of static/automatic storage, and dynamic/heap storage. These storage categories are orthogonal to the type. We should never allow sampling of or NBA assignments to automatic variables.
You might want to read the following links for information from previous discussions:
http://ovmworld.org/forums/showthread.php?1970-Where-does-memory-gets-created-for-the-following-process&p=7251#post7251
http://www.verificationguild.com/modules.php?name=Forums&file=viewtopic&t=3910
Dave Rich
Verification Technologist
Mentor Graphics Corporation
New Office Number: 510-354-7439
-----Original Message-----
From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of Little Scott-B11206
Sent: Tuesday, February 15, 2011 5:35 AM
To: sv-ac@eda.org
Subject: [sv-ac] Relaxing rules for dynamic data types
Hi all:
In the last meeting there was a discussion about allowing assertion expressions to reference dynamic data types. My understanding is that the two primary areas of concern are:
1. What to do if the object does not exist? My thought here is that it is simply an error if the object does not exist when it is referenced. I would suggest wording as follows:
- If the expression references a dynamic variable and the value of that variable is not defined when the value is captured for evaluation, then the tool shall generate an error message.
2. How do we sample these objects. I was initially confused on this point as I assumed that they would be sampled in the preponed region just like other objects. Ed helped me understand that this is more of an implementation issue.
Do folks see other issues with allowing assertions to reference dynamic data types? Maybe we can spend a few moments during the meeting today discussing some of the implementation concerns.
Thanks,
Scott
-- 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 Tue Feb 15 09:19:12 2011
This archive was generated by hypermail 2.1.8 : Tue Feb 15 2011 - 09:19:20 PST