---------------------------------------------------------------------------------- -- Company: -- Engineer: -- -- Create Date: 19.10.2017 08:16:09 -- Design Name: -- Module Name: GeneRGB_V1 - Behavioral -- Project Name: -- Target Devices: -- Tool Versions: -- Description: -- -- Dependencies: -- -- Revision: -- Revision 0.01 - File Created -- Additional Comments: -- ---------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; -- Uncomment the following library declaration if using -- arithmetic functions with Signed or Unsigned values use IEEE.NUMERIC_STD.ALL; library ourTypes; use ourTypes.types.all; -- Uncomment the following library declaration if instantiating -- any Xilinx leaf cells in this code. --library UNISIM; --use UNISIM.VComponents.all; entity GeneRGB_V1 is Port ( X : in unsigned (9 downto 0); Y : in unsigned (8 downto 0); IMG : in STD_LOGIC; R : out STD_LOGIC_VECTOR (4 downto 0); G : out STD_LOGIC_VECTOR (5 downto 0); B : out STD_LOGIC_VECTOR (4 downto 0); snakeIn : in color; pommeIn : in color ); end GeneRGB_V1; architecture Behavioral of GeneRGB_V1 is begin process(X,Y,IMG,snakeIn,pommeIn) variable snakeCol,pommeCol : color; begin if (IMG='0') then R<=(others=>'0'); B<=(others=>'0'); G<=(others=>'0'); else snakeCol := pValue(snakeIn); pommeCol := pValue(pommeIn); R<=std_logic_vector(to_unsigned(min_int(to_integer(snakeCol.R) + to_integer(pommeCol.R),31),5)); G<=std_logic_vector(to_unsigned(min_int(to_integer(snakeCol.G) + to_integer(pommeCol.G),63),6)); B<=std_logic_vector(to_unsigned(min_int(to_integer(snakeCol.B) + to_integer(pommeCol.B),31),5)); end if; end process; end Behavioral;