--
--	Package File Template
--
--	Purpose: This package defines data types for data transfers


library IEEE;
use IEEE.STD_LOGIC_1164.all;

package data_IO is

	type data_in_type is record
		data_in 				: STD_LOGIC_VECTOR (15 downto 0);
		data_in_valid 		: STD_LOGIC;								-- indicates data_in valid on clock
		data_in_last 		: STD_LOGIC;								-- indicates last data in frame
	end record;
	
	
	type data_out_type is record
		data_out_valid		: std_logic;								-- indicates data out is valid
		data_out_last		: std_logic;								-- with data out valid indicates the last byte of a frame
		data_out				: std_logic_vector (15 downto 0);		-- ethernet frame (from dst mac addr through to last byte of frame)	 
	end record;
	
	type src_addr_type is record
		mac_addr :  std_logic_vector(47 downto 0);
		ip_addr	:  std_logic_vector(31 downto 0);
		port_nb	: STD_LOGIC_VECTOR (15 downto 0);
	end record;
	
end data_IO;
