diff options
Diffstat (limited to 'testsuite/gna/issue202/repro_err.vhdl')
-rw-r--r-- | testsuite/gna/issue202/repro_err.vhdl | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/testsuite/gna/issue202/repro_err.vhdl b/testsuite/gna/issue202/repro_err.vhdl new file mode 100644 index 000000000..2f2e532f5 --- /dev/null +++ b/testsuite/gna/issue202/repro_err.vhdl @@ -0,0 +1,48 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +library OSVVM; + +entity e is +end entity; + +architecture a of e is + subtype T_DATA is std_logic_vector(31 downto 0); + type T_DATA_VECTOR is array(natural range <>) of T_DATA; + + type T_SCOREBOARD_DATA is record + IsKey : std_logic; + Meta : std_logic_vector(31 downto 0); + Data : T_DATA_VECTOR(15 downto 0); + end record; + + function match(expected : T_SCOREBOARD_DATA; actual : T_SCOREBOARD_DATA) return boolean is + begin + return TRUE; + end function; + + function to_string(vector : T_SCOREBOARD_DATA) return string is + begin + return "to_string"; + end function; + + package P_Scoreboard is new OSVVM.ScoreboardGenericPkg + generic map ( + ExpectedType => T_SCOREBOARD_DATA, + ActualType => T_SCOREBOARD_DATA, + Match => match, + expected_to_string => to_string, + actual_to_string => to_string + ); + alias T_SCOREBOARD is P_Scoreboard.ScoreBoardPType + + shared variable ScoreBoard : T_SCOREBOARD; -- this causes the error message +begin + process + variable v : t_scoreboard_data; + begin + ScoreBoard.Push(v); + wait; + end process; +end architecture; |