VHDL Issue Number: IR1.99.05 Classification: Question Language Version: VHDL-1076.1'99 Summary: Reference terminal clarification Related Issues: Relevant LRM Sections: 3.5.1, 4.8 Key Words and Phrases: nature declaration, reference terminal declaration Current Status: Analyzed 1076.1-99 Disposition: Unknown Closed (All Issues Completely Addressed) Bugs Fixed, Enhancements Outstanding (No ISAC Issues) Superseded (ISAC Issues Outstanding) Disposition Rationale: Superseded By: N/A ----------------------- Date Submitted: 25 Jan 2002 Author of Submission: Ramesh Mayiladuthurai Author's Affiliation: Cadence, Inc. Author's Post Address: Author's Phone Number: Author's Fax Number: Author's Net Address: ramesh@cadence.com ----------------------- Date Analyzed: 29 Jan 2002 Author of Analysis: Kenneth Bakalar Revision Number: 3 Date Last Revised: 01 Jul 2005 EC: added recommendation for future revision 06 Jul 2005 EC: new numbering 10 Jul 2005 EC: changed status Description of Problem ---------------------- The LRM, sec 3.5(.1) states that "A nature defines values that may be accessed through the attributes of a terminal. These attributes include its compatibility with other terminals, the reference terminal of the nature, and its across type and through type .... " "A scalar nature definition defines a scalar nature, its branch types, and the name of its reference terminal" 1. There are attributes 'across and 'through that can access the across and through types of a nature but there is none defined that can access the "reference" terminal of a nature. 2. Does the appearence of reference terminal "name" in a nature definition imply an implicit terminal "declaration" ? If that is true, what would be the nature of this "reference" terminal ? 3. Continuing from the previous query, is it valid to declare something like ... --------------------------------------------------------- nature elect is volt across current through gnd reference; terminal t1: elect; quantity q1 across gnd to t1; -- Is this a valid declaration? Proposed Resolution ------------------- 1076.1-ISAC Analysis & Rationale -------------------------------- LRM 4.8 states "A nature declaration declares a nature and defines the across and through types of the nature. A scalar nature declaration also declares the reference terminal of its simple nature denoted by the identifier of its scalar nature definition." LRM 3.5.1, which is cited in the problem, and LRM 4.8 together assert that the name in the nature definition preceding the reserved word "reference" denotes the reference terminal of the very nature defined by the nature definition. In the general sense that a declaration associates a name with some object, then yes, this is a kind of declaration. No other, separate declaration of the reference terminal name is required. Perhaps it would have been better if the text (LRM 3.5.1, first paragraph), "A scalar nature definition defines a scalar nature, its branch types, and the name of its reference terminal." were modified to read: "A scalar nature definition defines a scalar nature and its branch types, and declares the name of the reference terminal which is of the nature." ...but it seems a minor point. 1076.1-ISAC Recommendation for IEEE Std 1076.1-1999 --------------------------------------------------- No change to the language definition is required. 1076.1-ISAC Recommendation for Future Revisions ----------------------------------------------- Change the text at LRM 3.5.1, first paragraph to: A scalar nature definition defines a scalar nature and its branch types, and declares the name of the reference terminal which is of the nature.