
There are several meanings of “ null vector” in mathematics.( Wolfram MathWorld, 2016) ⇒ Weisstein, Eric W.,( 1999- 2016) "Null Vector." From MathWorld - A Wolfram Web Resource.See: Vector Space, Euclidean Vector Space, Additive Identity.It is much better than having 19 different versions of basically the same thing.A Zero Vector is a vector composed of only zeroes. Internally then it has to detect if Bins Bin3 to Bin20 are NULL_BIN, something that is easy to check for. One place we use them is to convert a std_logic to a math type like unsigned: Y ( BinVal => ALL_RANGE, Action => integer'high, Count => 0, AtLeast => integer'high, Weight => integer'high )) īin3, Bin4, Bin5, Bin6, Bin7, Bin8, Bin9, Bin10, Bin11, Bin12, Bin13,īin14, Bin15, Bin16, Bin17, Bin18, Bin19, Bin20 : CovBinType := NULL_BINīy doing this, AddCross can accept between 2 and 20 parameters of CovBinType. Since this one has been illegal since 1076-2002, it should be reported with different language, such as: # Warning (suppressed Error): 1076-2002 requires a shared variable to be of a protected type.Ī NULL array in std_logic_vector is: constant NULL_SLV : std_logic_vector := "" Usage of a shared variable of an ordinary type is currently signaled as: # Warning: Shared variable is not of a protected type. This situation is made more confusing since they use the same language when they talk about things they choose to ignore, but are actually illegal. Maybe something like: # Warning: Possible range constraint error. It should be more like the "Warning: Possible infinite loop". So the message should be clearly identified as a "Lint Warning" and not in any way imply that you made a mistake. Unfortunately as a developer of Open Source VHDL Verification Methodology (OSVVM) which uses NULL arrays (correctly) I find the current form of their messages problematic at the best - it confuses people and causes them to report a bug when there isn't one. So the message is more of a "lint" message that they think is useful. Instead they are handy to deal with boundary conditions. In VHDL, NULL arrays are not an error (things a tool can detect) or even erroneous (things a tool may not be able to detect, but are wrong). # ** Warning: (vcom-1246) Range 0 downto 1 is null.

# Warning: COMP96_0119: The range is 'null range'. They generally say something like: Simulator 1: The message simulators give when they encounter a NULL array is generally incorrect.
