Shalom, I agree with you that this needs to be explicit defined and is not that difficult to do so. Variables have initial state, and require a definition for their default initial value. Nets have an un-driven state when they are unconnected or driven with high impedance. The only situation where the default initial state and un-driven state for a given type would be different is when the type is 4-state. The question is: what's the best way to clearly define this? Can it be fully described in a single table? Or do need a description for each type? Dave > -----Original Message----- > From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of > Bresticker, Shalom > Sent: Saturday, November 05, 2005 10:53 PM > To: Steven Sharp; sv-bc@eda.org > Subject: RE: [sv-bc] 4.10.4 "Enumerated types in numerical expressions" - > unclearness > > Hi, > > See below. > > >In SystemVerilog, there are too many types to make this > >approach practical. > >What was needed was a concise generic term for the value to be > >used in these > >situations. Since the most obvious place where this value is > >used is the > >default initial value of a variable, the term "default initial > >value" came > >into use. And as the standard was clarified and new situations > >needing an > >"undefined" value were identified, they were generally defined > >to use this > >"default initial value". > > > [Shalom: ] The phrase "default initial value" is actually only used in a > small number of places: > > - Here in 4.10.4.3 and 4.10.4.4, regarding enumeration next() and prev > () > - In 4.11, p. 30, with respect to a variable of an unpacked union type > - In 5.6.1, with respect to dynamic arrays > - In 5.9.6, with respect to non-existent members of associative arrays > - In 5.13, in a similar context > - In 5.14.1, in a similar context with respect to queues > - In Table 6-1 with respect to variables > - In 19.12.1, with respect to variables > > Thus the phrase used in 4.10.4.3 and 4.10.4.4 as it currently stands is > at best not well defined. The "default initial value" of an > "enumeration" is not well defined. What is defined is the "default > initial value" of an enumeration variable, which is not the same thing. > > > >When some of the new data types were allowed on nets, this > >phrase became > >less accurate. It really should have become "default initial > >value for > >a variable of this type", but that is no longer concise and may > >even be > >more confusing. Perhaps these places should have been changed > >to say > >"the value from Table 6-1". > > [Shalom: ] I am not sure that in the case of enumerations, "the value > from Table 6-1" would be unambiguous. For enumerations, Table 6-1 says, > "base type default initial value". But that brings us back to the > original question, as "default initial value" is defined for variables, > not for types. > > You might have to say something like "default initial value for a > variable of the base type". > > Since Table 6-1 does not apply to nets, it might be wise to avoid saying > "default initial value" of a type, but rather "of a variable of this > type", as you said, even though you have some reservations about it. > > Thanks, > Shalom >Received on Sun Nov 6 00:36:21 2005
This archive was generated by hypermail 2.1.8 : Sun Nov 06 2005 - 00:37:53 PST