ID:	  N-007

Proposed by:  David Bishop and Paul Menchini  12/02
Analyzed by:  
Resolved:     

Summary:
    Create a function named IEEE.numeric_std.match
    and make it based on the IEEE.std_logic_1164.match.
    Rewrite IEEE.numeric_std.std_match to be an alias to
    the corresponding match function.

Detail:
    IEEE.numeric_std.std_match includes overloading for 
    std_logic_vector.  This functionality should be available 
    to any user of std_logic_1164.  It was desired to move
    std_match for std_logic_vector to std_logic_1164, however,
    that would break references of the form IEEE.numeric_std.std_match.

    Hence, in a coordinated effort with std_logic_1164, match was
    added to std_logic_1164 for std_logic family types and match
    was added to numeric_std and numeric_bit for unsigned and signed
    types.   

    Rather than maintain the functionality of std_match, std_match
    will be an alias to the match function.  

    This proposal suggests three modifications:
      
  1. Add match to std_logic_1164 for std_logic_1164 types. See std_logic_1164 CP-010
  2. Add match as follows to numeric_std: function match (L, R: signed) return boolean is begin return ieee.std_logic_1164.match( std_logic_vector(L), std_logic_vector(R)); end function std_match; function match (L, R: unsigned) return boolean is begin return ieee.std_logic_1164.match( std_logic_vector(L), std_logic_vector(R)); end function std_match;
  3. Remove the std_match functions from numeric_std and numeric_bit alias std_match is ieee.std_logic_1164.match [ ieee.std_logic_1164.std_ulogic, ieee.std_logic_1164.std_ulogic ] return std.standard.boolean; alias std_match is ieee.std_logic_1164.match [ ieee.std_logic_1164.std_ulogic_vector, ieee.std_logic_1164.std_ulogic_vector, ] return std.standard.boolean; alias std_match is ieee.std_logic_1164.match [ ieee.std_logic_1164.std_logic_vector, ieee.std_logic_1164.std_logic_vector, ] return std.standard.boolean; alias std_match is match [ unsigned, unsigned ] return std.standard.boolean; alias std_match is match [ signed, signed ] return std.standard.boolean;
Analysis: [To be performed by the Working Group.] Resolution: [To be determined by the Working Group.]
Back to the numeric package proposals
Please send feedback to David Bishop dbishop@vhdl.org