VHDL Issue Number: 0190 Classification: Language Definition Problem Language Version: VHDL-87 Summary: VPI Issue 14 -- Prefixes in USE clauses Related Issues: TBD Relevant LRM Sections: TBD Key Words and Phrases: TBD Current Status: Submitted 1076-1993 Disposition: Superseded (ISAC Issues Outstanding) Disposition Rationale: N/A Superseded By: 1070 ----------------------- Date Submitted: 1991/03/15 Author of Submission: J. R. Armstrong Author's Affiliation: Virginia Polytechnic Institute and State University Author's Post Address: Bradley Department of Electrical Engineering Virginia Polytechnic Institute and State University Blacksburg, VA 24061 Author's Phone Number: (703) 231-4723 Author's Fax Number: Author's Net Address: JRA@VTVM1.CC.VT.EDU ----------------------- Date Analyzed: TBD Author of Analysis: TBD Revision Number: $Revision: 1.10 $ Date Last Revised: $Date: 1995/05/13 21:53:48 $ Description of Problem ---------------------- Can the same prefix be used in multiple selected_names in a USE clause? For example, is "use work.definework.all, work.definework;" allowed? Test File: CH10/S04/01010104.vhd Comments: (from MCC) The line "use work.definework.all,work.definework;" is in error since the first part of the clause "use work.definework.all" causes the name WORK to become not directly visible. Thus, the sec- ond part of this clause "use work.definework" is invalid since the name WORK is now not directly visible. MCC sug- gests changing the line to read "use work.definework, definework.all;" -- ##A4001114281FFA400121A400231********************************************** --+ File: [SUITE.CH10.S04]01010104.VHD -- --+ Copyright (c) 1987, 1988 by CAD Language Systems, Inc. All rights reserve -- --+ LRM_version: IEEE Std. 1076-1987 -- --+ Subsets: -- --+ Description: -- --+ Test_point - (100400_010101) "A use clause achieves direct visibility of -- declarations that are visible by selection." -- --+ Test_objective -(4) Test that when a declaration existing outside the scop -- of the immediate design region is needed, that a use clause can make that -- declaration visible. In addition, the library section of the LRM (section -- 11.2) states that the use clauses: -- library STD, WORK; use STD.STANDARD.all -- should be implicit. This test should succeed. -- --+ References: Secondary LRM Coverage: (100400_010201) -- (100400_020301) -- --+ Instructions: None -- --+ Keywords: use clause, declaration, library, visibility -- --+ Test_Results: Expect_success. Output_Checked. -- --+ Test_Type: Locally Static Semantic -- --+ History: Created MAT/CLSI 08-30-88 -- Corrected KSC/VT 12-22-89 -- Corrected CHC/VT 5-4-90 -- --+ Comments: CLSI-FILE: [000000.SCOPE.USECLAUSE]08 -- MCC claimed that the order of selected names in the -- use clause is significant. -- This will be sent to VASG for clarification. -- -- *************************************************************************** package definework is type work is array(0 to 31) of BIT; end definework; use work.definework.all,work.definework; entity E is port (P : in bit); end E; architecture D3 of E is use work.definework; begin process (P) -- This succeeds because type work is defined in package definework, -- there is no conflict with library "work" variable doit : definework.work ; -- No_failure_here begin end process; end D3; Proposed Resolution ------------------- TBD VASG-ISAC Analysis & Rationale ------------------------------ TBD VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- TBD VASG-ISAC Recommendation for Future Revisions --------------------------------------------- TBD