library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; entity SOURCE is port( CLK : in std_logic; SOP : out std_logic; EOP : out std_logic; DATA_IN : in std_logic_vector(7 downto 0); DATA_OUT : out std_logic_vector(7 downto 0); SCHALTER : in std_logic_vector(9 downto 0) ); end SOURCE; architecture Behavioral of SOURCE is signal COUNT : unsigned(9 downto 0) := (others => '0'); signal Schalter_grenze : integer range 0 to 1023; begin Schalter_grenze <= to_integer(unsigned(SCHALTER(9 downto 0))); -- Hier hab ich es umgewandelt process (CLK) begin if rising_edge(CLK) then if(COUNT <= Schalter_grenze) then COUNT <= COUNT+1; --sollange Schalter Zaehler kleiner als SCHALTER_GRENZE dann +1 else COUNT <= "0000000000"; --ansonsten wenn es nicht mehr der fall wird es wieder reseted end if; end if; end process; SOP <= '1' when (COUNT <= "0000000000") else '0'; --SOP soll auf 1 when Schalter Zaehler auf 0 ist EOP <= '1' when (COUNT = Schalter_grenze) else '0'; --EOP soll auf 1 when Schalter Zaehler = SCHALTER_GRENZE end;