LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.numeric_std.all; ENTITY rgb_rechner IS PORT ( y, cb, cr : IN STD_LOGIC_VECTOR (7 DOWNTO 0); r, g, b : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) ); END rgb_rechner; ARCHITECTURE behaviour OF rgb_rechner IS BEGIN rechnung: PROCESS (y, cb, cr) VARIABLE r_lang, g_lang, b_lang : STD_LOGIC_VECTOR (15 DOWNTO 0); BEGIN r_lang := std_logic_vector( (1164 * (unsigned(y) - 16)) + (1596 * (unsigned(cr) - 128)) ); g_lang := std_logic_vector( (1164 * (unsigned(y) - 16)) - (0392 * (unsigned(cb) - 128)) + (0813 * (unsigned(cr) - 128)) ); b_lang := std_logic_vector( (1164 * (unsigned(y) - 16)) + (2017 * (unsigned(cb) - 128)) ); r <= r_lang (14 DOWNTO 5); g <= g_lang (14 DOWNTO 5); b <= b_lang (14 DOWNTO 5); END PROCESS; END behaviour;