VHDL Issue Number: 0114 Classification: Language Deficiencies and Modeling Problems Language Version: VHDL-87 Summary: Why can't concurrent procedures accept files? Related Issues: None. Relevant LRM Sections: 9.3, 4.3.2 Key Words and Phrases: Files, formal parameters, concurrent procedures. Current Status: Submitted 1076-1993 Disposition: Closed (All Issues Completely Addressed) Disposition Rationale: LRM was updated. Superseded By: N/A ----------------------- Date Submitted: 1991/03/05 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/03 18:43:30 $ Description of Problem ---------------------- The last sentence of paragraph 2 of Section 9.3 (on page 9-5) states: Each formal parameter of a procedure that is invoked by a concurrent procedure call must be of class constant or signal. This statement is apparently intended to disallow concurrent invocation of a procedure having a formal parameter of class variable. This restriction seems redundant, since no variables are visible in entity or block statement parts. However, files may be declared in entity and block declarative parts, so files may be visible in the corresponding statement parts. Since files are themselves variables (cf. paragraph 1 of Section 4.3.2), the quoted statement precludes a procedure accepting a file from concurrent invocation. This seems an unnecessary restriction, since the sequential procedure call in the process equivalent to the concurrent procedure call is under no such strictures. Proposed Resolution ------------------- Allow concurrent procedure calls to invoke a procedure accepting a file parameter. This may be implemented in two (non-mutually exclusive) ways: 1. Delete the quoted sentence, since it is redundant with respect to non- file variables. 2. Define files to be an object class distinct from variables. If the quoted statement is not deleted, modify it to allow formals of class file. VASG-ISAC Analysis & Rationale ------------------------------ TBD VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- TBD VASG-ISAC Recommendation for Future Revisions --------------------------------------------- TBD