Gast
#1494513
Hallo,
als anfänger versuche ich ein Signal zu verschieben. Dazu habe ich als
eingagangsclock 27 Mhz, diese habe ich mittels counter dann
runtergeteilt habe.
Folgender code
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity SCHIEBEREGISTER is
Port (
EINGANG : in std_logic_vector (3 downto 0);
RESET : in std_logic;
LED : out std_logic;
AUSGANG : out std_logic_vector (3 downto 0);
SAVE0 : buffer std_logic_vector (3 downto 0);
SAVE1 : buffer std_logic_vector (3 downto 0);
SAVE2 : buffer std_logic_vector (3 downto 0);
SAVE3 : buffer std_logic_vector (3 downto 0);
SAVE4 : buffer std_logic_vector (3 downto 0);
SAVE5 : buffer std_logic_vector (3 downto 0);
clk : in std_logic);
end SCHIEBEREGISTER;
architecture Behavioral of SCHIEBEREGISTER is
--signal SAVE0,SAVE1,SAVE2,SAVE3,SAVE4 : std_logic_vector (3 downto 0);
signal clk_2 : std_logic;
COMPONENT TAKT
PORT ( clk_in : in std_logic;
reset : in std_logic;
clk_out: out std_logic);
end COMPONENT;
begin
taktausgabe: TAKT
PORT MAP (clk_in=> clk, reset => RESET, clk_out=>clk_2 );
SCHIEBEREGISTER: process (clk_2,reset)
begin
if reset = '1' then
SAVE0 <="0000";
SAVE1 <="0000";
SAVE2 <="0000";
SAVE3 <="0000";
SAVE4 <="0000";
SAVE5 <="0000";
else
if (clk_2 = '1' and clk_2'event ) then
SAVE0<= EINGANG;
SAVE1<= SAVE0;
SAVE2<= SAVE1;
SAVE3<= SAVE2;
SAVE4<= SAVE3;
SAVE5<= SAVE4;
else
SAVE0 <=SAVE0;
SAVE1 <=SAVE1;
SAVE3 <=SAVE3;
SAVE4 <=SAVE4;
SAVE5 <=SAVE5;
end if;
end if;
end process SCHIEBEREGISTER;
AUSGANG<=SAVE5;
Das funktioniert aber so nicht, komisch ist das wenn ich das so
definiere dann kommt am ausgang nach ca. 2 sek. das signal, tue ich aber
den SAVE5 weg dann kommt das signal nach 6 sek...
Kann mir jemand helfen? ich wollt nur das signal um 4 takte verzögert
ausgeben?
Eingang ist hier ein switch
Ausgang sind hier 4 LED
LED ist einfach kontrolle für takt.
