nickg / nvc

VHDL compiler and simulator
https://www.nickg.me.uk/nvc/
GNU General Public License v3.0
589 stars 75 forks source link

invalid container kind T_ELAB for VR_QUEUE_COUNT_THRESHOLD #858

Closed avelure closed 3 months ago

avelure commented 3 months ago

This requires UVVM to be installed.

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

library uvvm_util;
context uvvm_util.uvvm_util_context;

library bitvis_vip_scoreboard;
use bitvis_vip_scoreboard.generic_sb_support_pkg.all;

entity test is
end entity;

architecture tb of test is
    constant C_SLV_SB_CONFIG_DEFAULT : t_sb_config := (mismatch_alert_level      => NO_ALERT,
                                                     allow_lossy               => false,
                                                     allow_out_of_order        => false,
                                                     overdue_check_alert_level => WARNING,
                                                     overdue_check_time_limit  => 0 ns,
                                                     ignore_initial_garbage    => false);

  package slv_sb_pkg is new bitvis_vip_scoreboard.generic_sb_pkg
    generic map(t_element         => std_logic_vector(7 downto 0),
                element_match     => std_match,
                to_string_element => to_string,
                sb_config_default => C_SLV_SB_CONFIG_DEFAULT);

  use slv_sb_pkg.all;

  shared variable sb_under_test : slv_sb_pkg.t_generic_sb;
begin
  p_main: process
  begin
    sb_under_test.add_expected(std_logic_vector(to_unsigned(1, 8)), TAG, "tag added", "add expected: " & to_string(1));
    wait;
  end process p_main;
end architecture;
nvc -L~/.nvc/lib --std=08 -a test_uvvm_scoreboard.vhd
nvc -L~/.nvc/lib --std=08 -e test -r
** Note:

         *****************************************************************************************************
          This is a *** LICENSED PRODUCT *** as given in the LICENSE.TXT in the root directory.
         *****************************************************************************************************

   Function SHOW_LICENSE [T_VOID return BOOLEAN] at C:\proj\public\src\license_pkg.vhd:44
   Package UVVM_UTIL.METHODS_PKG-body at C:\proj\public\src\methods_pkg.vhd:2987
   Process (init) at C:\proj\public\minimal\test_uvvm_scoreboard.vhd:14
** Note:

         =====================================================================================================
         =====================================================================================================
         This info section may be turned off via C_SHOW_UVVM_UTILITY_LIBRARY_INFO in adaptations_pkg.vhd

         Important Simulator setup:
         - Set simulator to break on severity 'FAILURE'
         - Set simulator transcript to a monospace font (e.g. Courier new)

         UVVM Utility Library setup:
         - It is recommended to go through the two powerpoint presentations provided with the download
         - There is a Quick-Reference in the doc-directory
         - In order to change layout or behaviour - please check the src*/adaptations_pkg.vhd
           This is intended for personal or company customization

         License conditions are given in LICENSE.TXT
         =====================================================================================================
         =====================================================================================================

   Function SHOW_UVVM_UTILITY_LIBRARY_INFO [T_VOID return BOOLEAN] at C:\proj\public\src\license_pkg.vhd:56
   Package UVVM_UTIL.METHODS_PKG-body at C:\proj\public\src\methods_pkg.vhd:2988
   Process (init) at C:\proj\public\minimal\test_uvvm_scoreboard.vhd:14

Name       WORK.TEST.SLV_SB_PKG.SB_QUEUE_PKG.T_GENERIC_QUEUE.PERFORM_PRE_ADD_CHECKS(I)
Kind       function
Context    WORK.TEST.SLV_SB_PKG.SB_QUEUE_PKG.T_GENERIC_QUEUE
Blocks     1
Registers  2
Types      2
Variables  0
Parameters 2
  r0    context                         // P<WORK.TEST.SLV_SB_PKG.SB_QUEUE_PKG.T_GENERIC_QUEUE>
  r1    INSTANCE                        // -2^31..2^31-1
Begin
   0: Empty basic block

** Fatal: invalid container kind T_ELAB for VR_QUEUE_COUNT_THRESHOLD
[00007FF6C0912970]
[00007FF6C09BBD46]
[00007FF6C0911943]
[00007FF6C0998241]
[00007FF6C0997B01]
[00007FF6C0987381]
[00007FF6C0985CAF]
[00007FF6C0988EFE]
[00007FF6C0989A16]
[00007FF6C098E31C]
[00007FF6C099AA35]
[00007FF6C0985C61]
[00007FF6C0988EFE]
[00007FF6C0989A16]
[00007FF6C098E1F3]
[00007FF6C099AA35]
[00007FF6C0985C61]
[00007FF6C0988EFE]
[00007FF6C098A55B]
[00007FF6C09A7096]
[00007FF6C099EF32]
[00007FF6C098914D]
[00007FF6C098B838]
[00007FF6C09A7096]

Please report this bug at https://github.com/nickg/nvc/issues