CMX
CMX firmware code in-line documentation
 All Classes Namespaces Files Functions Variables
Delay.vhd
Go to the documentation of this file.
1 ----------------------------------------------------------------------------------
5 ----------------------------------------------------------------------------------
6 library IEEE;
7 use IEEE.STD_LOGIC_1164.ALL;
8 
9 -- Uncomment the following library declaration if using
10 -- arithmetic functions with Signed or Unsigned values
11 --use IEEE.NUMERIC_STD.ALL;
12 
13 -- Uncomment the following library declaration if instantiating
14 -- any Xilinx primitives in this code.
15 --library UNISIM;
16 --use UNISIM.VComponents.all;
17 
18 entity Delay is
19  generic (
20  del_length : integer := 2);
21  port (
22  undelayed_in : in std_logic;
23  delayed_out : out std_logic;
24  clk : in std_logic);
25 end Delay;
26 
27 architecture Behavioral of Delay is
28  signal tmp : std_logic_vector(del_length downto 0);
29 
30 
31 begin
32 
33 
34  gen_delay: for i_tick in tmp'high downto 1 generate
35 
36  process(clk)
37  begin
38  if rising_edge(clk) then
39  tmp(i_tick)<=tmp(i_tick-1);
40  end if;
41  end process;
42 
43  end generate gen_delay;
44 
45  tmp(0)<=undelayed_in;
46 
47  delayed_out<=tmp(tmp'high);
48 
49 end Behavioral;
50 
del_lengthinteger :=2
Definition: Delay.vhd:20
out delayed_outstd_logic
Definition: Delay.vhd:23
in undelayed_instd_logic
Definition: Delay.vhd:22
std_logic_vector (del_length downto 0) tmp
Definition: Delay.vhd:28
in clkstd_logic
Definition: Delay.vhd:24
Definition: Delay.vhd:18