library ieee; use ieee.std_logic_1164.all; package vhpi_example is type simple_record is record i : integer; l : std_logic; end record; procedure constrained_string_proc(string_arg : string(1 to 10)); attribute foreign of constrained_string_proc : procedure is "VHPIDIRECT constrained_string_proc"; procedure string_proc(string_arg : string); attribute foreign of string_proc : procedure is "VHPIDIRECT string_proc"; function integer_fun(i_arg : integer) return integer; attribute foreign of integer_fun : function is "VHPIDIRECT integer_fun"; function bit_fun(i_arg : bit) return bit; attribute foreign of bit_fun : function is "VHPIDIRECT bit_fun"; function std_logic_fun(std_logic_arg : std_logic) return std_logic; attribute foreign of std_logic_fun : function is "VHPIDIRECT std_logic_fun"; procedure std_logic_vector_proc(std_logic_vector_arg : in std_logic_vector); attribute foreign of std_logic_vector_proc : procedure is "VHPIDIRECT std_logic_vector_proc"; procedure std_logic_vector_proc_out(std_logic_vector_arg : out std_logic_vector); attribute foreign of std_logic_vector_proc_out : procedure is "VHPIDIRECT std_logic_vector_proc_out"; procedure simple_record_proc(simple_rec : in simple_record); attribute foreign of simple_record_proc : procedure is "VHPIDIRECT simple_record_proc"; end package; package body vhpi_example is procedure constrained_string_proc(string_arg : string(1 to 10)) is begin assert false report "VHPI" severity failure; end procedure; procedure string_proc(string_arg : string) is begin assert false report "VHPI" severity failure; end procedure; function integer_fun(i_arg : integer) return integer is begin assert false report "VHPI" severity failure; return 0; end function; function bit_fun(i_arg : bit) return bit is begin assert false report "VHPI" severity failure; return '0'; end function; function std_logic_fun(std_logic_arg : std_logic) return std_logic is begin assert false report "VHPI" severity failure; return '0'; end function; procedure std_logic_vector_proc(std_logic_vector_arg : in std_logic_vector) is begin assert false report "VHPI" severity failure; end procedure; procedure std_logic_vector_proc_out(std_logic_vector_arg : out std_logic_vector) is begin assert false report "VHPI" severity failure; end procedure; procedure simple_record_proc(simple_rec : in simple_record) is begin assert false report "VHPI" severity failure; end procedure; end package body;