We'll discuss this as the first item at our upcoming meeting. Chuck Swart -------------BEGINNING OF IR---------------- VHDL Issue Number: 2091 Language_Version VHDL-2002 Classification Language Definition Problem Summary translation between std_logic_vector based types and std_ulogic_vector Relevant_LRM_Sections In std_logic_1164 there is a function called: to_stdlogicvector (std_ulogic_vector) which is used to convert from the base type "std_ulogic" to the base type "std_logic" because the base type for these types are the same, some simulators say they the are interchangeable. Others do not. Related_Issues There were some other issues recently on closely related subtypes. Key_Words_and_Phrases to_stdlogicvector, to_stdulogicvector Authors_Name David Bishop Authors_Phone_Number 585-726-6788 Authors_Fax_Number Authors_Email_Address dbishop@vhdl.org Authors_Affiliation Eastman Kodak Authors_Address1 2400 mt read Blvd Authors_Address2 Rochester NY 14650-3006 Authors_Address3 Current Status: Submitted Superseded By: ------------------------ Date Submitted: 19 April 2006 Date Analyzed: Author of Analysis: Revision Number: 0 Date Last Revised: Description of Problem ---------------------- Please look at the following code: library ieee: use ieee.std_logic_1164.all; use ieee.numeric_std.all; ...... variable UUU : unsigned (5 downto 0); variable SSS : std_logic_vector (5 downto 0); variable SUSU : std_ulogic_vector (5 downto 0); begin SUSU :: std_ulogic_vector (SSS); -- works but shouldn't (use to_stdulogicvector(SSS)) SSS := std_logic_vector (SUSU); -- works but shouldn't (use to_stdlogicvector(SUSU)) UUU := unsigned (sss); -- works SSS := std_logic_vector(UUU); -- works UUU := unsigned(SUSU); -- works but shouldn't (use unsigned(to_stdlogicvector(SUSU))) SUSU := std_ulogic_vector(UUU); -- works but shouldn't (use to_stdulogicvector(std_logic_vector(UUU))) Added: the relevant types in package numeric_std are: Proposed Resolution ------------------- Two as I see it. If this is legal VHDL, then a note about closely related subtypes should be in the LRM. If this is not legal VHDL, then I will notify the group which says this code is legal. So far 1 simulator says this is legal and 3 say it isn't. (Added: the relevant types in package numeric_std are: type UNSIGNED is array (NATURAL range <>) of STD_LOGIC; type SIGNED is array (NATURAL range <>) of STD_LOGIC;) VASG-ISAC Analysis & Rationale ------------------------------ TBD VASG-ISAC Recommendation for IEEE Std 1076-2002 ----------------------------------------------- TBD VASG-ISAC Recommendation for Future Revisions --------------------------------------------- TBD -------------END OF IR----------------Received on Wed Apr 19 15:38:53 2006
This archive was generated by hypermail 2.1.8 : Wed Apr 19 2006 - 15:38:55 PDT