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 COUNT_SCHALTER : unsigned(3 downto 0):=(others => '0'); --Schalter Zaehler nur 4 Bit weil mehr braucht ich derzeit ned weil 13 signal SCHALTER_GRENZE : unsigned(3 downto 0):="1101"; -- Die grenze hab ich hier ebenfalsl 13 gemacht begin process (CLK) begin if rising_edge(CLK) then COUNT <= COUNT+1; if(COUNT_SCHALTER <= SCHALTER_GRENZE ) then COUNT_SCHALTER <= COUNT_SCHALTER+1; --sollange Schalter Zaehler kleiner als SCHALTER_GRENZE dann +1 else COUNT_SCHALTER <= "0000"; --ansonsten wenn es nicht mehr der fall wird es wieder reseted end if; SOP<='1' when (COUNT_SCHALTER <= "0000") else '0'; --SOP soll auf 1 when Schalter Zaehler auf 0 ist EOP<='1' when (COUNT_SCHALTER = SCHALTER_GRENZE) else '0'; --EOP soll auf 1 when Schalter Zaehler = SCHALTER_GRENZE end if; end process; end;