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'); --wie mach ich das SCHALTER_GRENZE den Wert von Schalter Eingang übernimmt ? begin -- Vieleicht so ? SCHALTER_GRENZE <= SCHALTER process (CLK) begin if rising_edge(CLK) then COUNT <= COUNT+1; 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;