nickg / nvc

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

Access violation #859

Closed avelure closed 6 months ago

avelure commented 6 months ago

This requires UVVM to be installed.

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

package model_pkg is
  type t_axilite_rd_slave_in_if is record
    araddr  : std_logic_vector;
    arvalid : std_logic;
    rready  : std_logic;
  end record;

end package model_pkg;

use work.model_pkg.all;

entity model is
  port(
    rd_port_in  : in  t_axilite_rd_slave_in_if(araddr(31 downto 0))
  );
end entity model;

architecture beh of model is
begin
end architecture beh;

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_axilite;
use bitvis_vip_axilite.axilite_bfm_pkg.all;

entity test is
end entity;

architecture tb of test is
  constant C_ADDR_WIDTH_2 : natural := 32;
  constant C_DATA_WIDTH_2 : natural := 64;
  signal axilite_if_2 : t_axilite_if(write_address_channel(awaddr(31 downto 0)),
                                     write_data_channel(wdata(63 downto 0),
                                                        wstrb(7 downto 0)),
                                     read_address_channel(araddr(31 downto 0)),
                                     read_data_channel(rdata(63 downto 0))) := init_axilite_if_signals(32, 64);
begin

  i_model : entity work.model
    port map(
      rd_port_in.araddr   => axilite_if_2.read_address_channel.araddr,
      rd_port_in.arvalid  => axilite_if_2.read_address_channel.arvalid,
      rd_port_in.rready   => axilite_if_2.read_data_channel.rready
    );

  p_main: process
  begin
    wait;
  end process p_main;
end architecture;
nvc -L~/.nvc/lib --std=08 -a test_uvvm_axilite.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
   Package BITVIS_VIP_AXILITE.AXILITE_BFM_PKG-body at C:\proj\public\src\axilite_bfm_pkg.vhd:257
   Process (init) at C:\proj\public\minimal\test_uvvm_axilite.vhd:39
** 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
   Package BITVIS_VIP_AXILITE.AXILITE_BFM_PKG-body at C:\proj\public\src\axilite_bfm_pkg.vhd:257
   Process (init) at C:\proj\public\minimal\test_uvvm_axilite.vhd:39

*** Caught exception c0000005 (EXCEPTION_ACCESS_VIOLATION) [address=0000013EB23D2248, ip=00007FF6C0999AE8] ***

[00007FF6C0912970]
[00007FF6C0912D29]
[00007FFCFF5CCF5C] UnhandledExceptionFilter+0x1ec
[00007FFD01B78ABD] memcpy+0x2bbd
[00007FFD01B5F197] _C_specific_handler+0x97
[00007FFD01B7441F] _chkstk+0x12f
[00007FFD01AEE466] RtlFindCharInUnicodeString+0xa96
[00007FFD01B7340E] KiUserExceptionDispatcher+0x2e
[00007FF6C0999AE8]
[00007FF6C09B7446]
[00007FF6C096737A]
[00007FF6C096E42D]
[00007FF6C0968BC7]
[00007FF6C096E443]
[00007FF6C0964869]
[00007FF6C0908AE9]
[00007FF6C0902D78]
[00007FF6C08F1315]
[00007FF6C08F1366]
[00007FFD00E1257D] BaseThreadInitThunk+0x1d
[00007FFD01B2AA58] RtlUserThreadStart+0x28

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