VHDL Issue Number: 0012 Classification: Language Definition Problem Language Version: VHDL-87 Summary: Can implicitly declared subprograms be attributed? Related Issues: 0014, 0017 Relevant LRM Sections: 3.4.1, 4.4, 5.1, 6.6, 10.3 Key Words and Phrases: User-defined attributes, attribute names, implicit subprograms Current Status: ISAC-Approved 1076-1993 Disposition: Closed (All Issues Completely Addressed) Disposition Rationale: Suggested changes were put in LRM. Superseded By: N/A ----------------------- Date Submitted: 1989/02/07 Author of Submission: Paul Menchini Author's Affiliation: CAD Language Systems, Inc. Author's Post Address: P.O. Box 13036 Research Triangle Park, NC 27709-3036 Author's Phone Number: (919) 361-1913 Author's Fax Number: Author's Net Address: mench@clsi.com ----------------------- Date Analyzed: 1991/03/21 Author of Analysis: Clive R. Charlwood Revision Number: $Revision: 1.9 $ Date Last Revised: $Date: 1995/05/13 19:34:42 $ Description of Problem ---------------------- The LRM is unclear on the semantics of associating user-defined attributes with the implicitly declared subprograms defining the operations on files. (These subprograms are, at present, the only implicitly defined subprograms.) To illustrate, consider the following example: type F is file of Integer; attribute Implicit: Boolean; attribute Implicit of READ, WRITE: procedure is True; attribute Implicit of ENDFILE : function is True; Is this example a legal VHDL fragment? Specifically, does the entity classes "procedure" and "function" include the procedures and the function implicitly declared by the declaration of the file type F? Proposed Resolution ------------------- Associating user-defined attributes with implicitly declared subprograms should be legal. Either permit the entity class "procedure" to include the implicitly declared procedures and permit "function" to include the implicitly declared functions, or introduce new entity classes (e.g., "implicit procedure" and "implicit function") to cover these cases. VASG-ISAC Analysis & Rationale ------------------------------ The request to be able to attribute implicitly declared subprograms is reasonable. Furthermore, it does not appear to cause any conflict/problems with the rest of the Language Definition Problem. VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- Assume that the first paragraph on page 5-2: "The attribute designator must denote an attribute. The entity name list identifies those entities that inherit the attribute, as defined below:" refers to both implicit and explicit subprograms. VASG-ISAC Recommendation for Future Revisions --------------------------------------------- Re-word the first paragraph on page 5-2 as follows: "The attribute designator must denote an attribute. The entity name list identifies those entities ***, both implicit and explicit,*** that inherit the attribute, as defined below:"