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 : unsigned(9 downto 0):=(others => '0'); begin Schalter_grenze <= 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;