VHDL Issue Number: 0175 Classification: Language Deficiencies and Modeling Problems Language Version: VHDL-87 Summary: The restrictions on the designated type of a file type are both too severe and too lax. Related Issues: None. Relevant LRM Sections: 3.4 Key Words and Phrases: Files, multi-dimensional arrays Current Status: Submitted 1076-1993 Disposition: Bugs Fixed, Enhancements Outstanding (No ISAC Issues) Disposition Rationale: Non-ISAC issues outstanding. Superseded By: N/A ----------------------- Date Submitted: 1991/03/15 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: TBD Author of Analysis: TBD Revision Number: $Revision: 1.9 $ Date Last Revised: $Date: 1995/08/04 01:45:13 $ Description of Problem ---------------------- The last sentence of paragraph 2 of Section 3.4 states: If the base type [of the type mark in a file type definition] is an array type, it must be a one-dimensional array type. There are two problems with this statement: 1. This constraint is apparently meant to allow implementations to efficiently implement either row-major or column-major multi- dimensional arrays. However, since the external file format is not specified, the constraint does not buy a given implementation anything, since each implementation is free to input and output multi-dimensional arrays in whatever way suits it best. 2. No constraint disallows a multi-dimensional array subelement of the designated type. If the intent is to avoid the row-major vs. column- major issue and the above constraint is indeed useful in this regard, then multi-dimensional array subelements of the designated type should also be disallowed. The constraint does restrict modelers' use of multi-dimensional arrays for ROMs RAMs, etc., since they cannot be initialized from a file. Since the constraint is binding on modelers and doesn't seem to assist implementations, it should be relaxed. Proposed Resolution ------------------- The quoted sentence from Section 3.4 should be stricken. Additionally, a statement specifically allowing multi-dimensional arrays as the designated type of files could be substituted. Alternatively, the restriction could be modified so that only unconstrained, multi-dimensional array subtypes would be disallowed. (The constrained, multi-dimensional case might be significantly easer to implement than that unconstrained, multi-dimensional case.) If it is decided that the restriction is to be kept, then additional language should be added that also disallows any subelement of the designated type from being a multi-dimensional array. (The restriction might be kept if, for example, either the correspondence between VHDL files and external files is specified, or if some requirement is established that VHDL files be portable across implementations.) VASG-ISAC Analysis & Rationale ------------------------------ TBD VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- TBD VASG-ISAC Recommendation for Future Revisions --------------------------------------------- TBD