VHDL Issue Number: 0234 Classification: Editorial Language Version: VHDL-87 Summary: Creation of type/subtype in integer type declaration. Related Issues: None Relevant LRM Sections: 3.1.2 Key Words and Phrases: integer type declaration, type, subtype Current Status: Submitted 1076-1993 Disposition: Superseded (ISAC Issues Outstanding) Disposition Rationale: N/A Superseded By: 1047 ----------------------- Date Submitted: 1991/03/08 Author of Submission: Laurence Groves Author's Affiliation: Synopsys Inc. Author's Post Address: 1098 Alta Ave. Mountain View, CA 94043 Author's Phone Number: (415) 962-5426 Author's Fax Number: Author's Net Address: larry@Synopsys.COM ----------------------- Date Analyzed: TBD Author of Analysis: TBD Revision Number: $Revision: 1.9 $ Date Last Revised: $Date: 1995/07/26 23:58:17 $ Description of Problem ---------------------- This issue is regarding a clarification. There is some disagreement on the interpretation of the following: 1 entity E is 2 end; 3 4 architecture A of E is 5 type A is range 1 to 10; 6 attribute Q : integer; 7 attribute Q of A : type is 1; -- not legal 8 attribute Q of A : subtype is 1; -- legal 9 begin 10 end A; The disagreement is in the creation of a [anonymous] type and [named] subtype in the type definition (line 5). LRM 3.1.2 states: An integer type definition defines both a type and a subtype of that type. The type is an anonymous type, the range of which is selected by the implementation; this range must be such that it wholly contains the range given in the integer type definition. The subtype is a named subtype of this anonymous base type, where the name of the subtype is that given by the corresponding type declaration and the range of the subtype is the given range. It is clear from the above LRM passage that the type mark that the name "A" refers to (with an integer type definition) is a subtype, not a type (which is unnamed). When used in an attribute declaration (lines 7 and 8), the type mark is "subtype." Specifying the type mark as "type" is illegal. Proposed Resolution ------------------- Add the note after 3.1.2 stating that, if so desired, you need to attribute the subtype and that it is illegal to attribute a type. VASG-ISAC Analysis & Rationale ------------------------------ TBD VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- TBD VASG-ISAC Recommendation for Future Revisions --------------------------------------------- TBD