Reply To: About function coverage of OS-VVM by vector signal

Why OSVVM™? Forums OSVVM About function coverage of OS-VVM by vector signal Reply To: About function coverage of OS-VVM by vector signal

Ian Gibbins


Two issues with your code:

  1. You are using ‘std_logic_unsigned‘ package which can cause serious problems when mixed with VHDL-2008 code. Long story short: if your system contains ‘std_logic_unsigned‘ precompiled in VHDL-2002 mode and you try to use it together with OS-VVM packages compiled in VHDL-2008 mode, logic types internal markers in the libraries will be incompatible in both. You may get no errors/warnings during your design compilation, or receive confusing messages stating that subprograms cannot be found for given argument types. Please use NUMERIC_STD_UNSIGNED that was added to VHDL-2008 specifically for the same purposes as ‘std_logic_unsigned‘, but avoids numerous problems in the older package.
  2. Once you replace package in the design unit header, there is one more issue left: you are creating 8 INTEGER bins, so the data sampled in the data collection process should be INTEGER, not INTEGER_VECTOR. Please replace test_cover.ICover(to_integer_vector (cnto)); with test_cover.ICover(to_integer (cnto));.

After those two changes you should get correct results.

BTW, the replies in Forums are treated as HTML code (with different tags allowed for different levels of users). List of allowed tags is always presented below the entry field. It means that not allowed tags will be stripped before posting, and ‘less than’ and ‘greater than’ characters may be treated as parts of tag. You can either escape those characters, or in case of VHDL code export it to HTML from some popular editor (Notepad++, Programmer’s Notepad, etc.) and then paste exported HTML to the reply.