Hi, In conjunction with a stack overflow post, http://stackoverflow.com/questions/25737877/how-to-get-simulation-warning-when-comparing-std-logic-with-x, I have been looking at the 'X' handling of overloaded versions of "=" and "??". If you look at "="[unsigned, unsigned return unsigned], you will note that if one of the inputs has an 'X', an assertion warning is produced. OTOH, if "??" sees an 'X' it quietly reports false. From std_logic_1164: function "??" (l : STD_ULOGIC) return BOOLEAN is begin return l = '1' or l = 'H'; end function "??"; To be consistent with numeric_std, it would seem appropriate that we add an assertion (and NO_WARNING constant) similar to the following: function "??" (l : STD_ULOGIC) return BOOLEAN is begin assert NO_WARNING report "STD_LOGIC_1164.""??"": metavalue detected, returning FALSE" severity warning; return l = '1' or l = 'H'; end function "??"; What do you think? Do we need it? It would slow down code execution. There would be no backward compatibility issues since it is just an assertion. Regards, Jim -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Jim Lewis VHDL Training Expert, SynthWorks IEEE 1076 VHDL Working Group Chair Open Source VHDL Verification Methodology (OSVVM), Chief Architect and Co-founder 1-503-320-0782 Jim@SynthWorks.com http://www.SynthWorks.com VHDL Training on leading-edge, best coding practices for hardware design and verification. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Tue Sep 9 22:09:38 2014
This archive was generated by hypermail 2.1.8 : Tue Sep 09 2014 - 22:10:37 PDT