process(clk,valid,x,y,Data) is begin if(rising_edge(clk)) then if(x<2) then prevDat<=256-Data; else prevDat <= Dat; end if; Dat <= 256 - Data; if(valid='1') then if((((y>=prevDat)and(y<=Dat))or((y>=Dat)and(y<=prevDat)))and(x<512)) then R <= '1'; G <= '1'; B <= '1'; else R <= '0'; G <= '0'; B <= '0'; end if; else R <= '0'; G <= '0'; B <= '0'; end if; end if; end process;