VHDL Issue Number: 0110 Classification: Language Definition Problem Language Version: VHDL-87 Summary: May library names be redefined between the analysis of a primary unit and a corresponding secondary unit? Related Issues: 0111 Relevant LRM Sections: 6.3, 11.2 Key Words and Phrases: Library names, use clauses, expanded names Current Status: Analyzed 1076-1993 Disposition: Bugs Fixed, Enhancements Outstanding (No ISAC Issues) Disposition Rationale: Non-ISAC issues outstanding Superseded By: N/A ----------------------- Date Submitted: 1988/07/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/15 Author of Analysis: Oz Levia Revision Number: $Revision: 1.9 $ Date Last Revised: $Date: 1995/08/03 18:31:14 $ Description of Problem ---------------------- Consider the following design units: library L; entity E is ... ; end E; architecture A of E is ... ; end A; The visibility rules of VHDL state that the library logical name L is visible in the architecture A as well as in the entity E. If the design units are analyzed at different times, it is conceivable that the library name L may denote different libraries during different analyses. The LRM is silent on the meaning, if any, implied by this condition, but the Language Definition Problem seems to require that a library name referred to during the analysis of any secondary unit denote the same library as was denoted by that name during the analysis of the primary unit. Since the LRM does not identify this condition as an error, we issue a warning message in our Analyzer if this condition is detected. Proposed Resolution ------------------- State explicitly that the library denoted by a given library name may not change during the analysis of a given design unit, nor may it change between the analysis of a given primary unit and a secondary unit corresponding to that primary unit. VASG-ISAC Analysis & Rationale ------------------------------ To require that the logical library name used during analysis of a primary unit and the analysis of its secondary unit represent "the same" physical location is to require that implementations detect identity of physical specifications. Some on the ISAC did not feel this is a reasonable requirement. The relationship between the logical specification and a physical realization is one of the hardest relationships to mandate. In general, it is impossible to mandate that a logical library name represents "the same" physical location (i.e., directory, file, etc.) at different times. This is so because of links, relative path, and symbolic names which different operating systems use to depict the physical location. VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- Do nothing. The ISAC recommends that implementations do the best they can in that area (i.e., issue warning or a note if possible.) No standard requirement is extended. Specifically, it is not considered an error if the above situation arises and as a consequence, it is not a requirement to issue an error message. VASG-ISAC Recommendation for Future Revisions --------------------------------------------- None.