summaryrefslogtreecommitdiffstats
path: root/fpga/hp_lcd_driver/clkgen_cyclone4.vhdl
blob: 4c679079a3667b587109dd481e5618ddecf07a42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.NUMERIC_STD.all;
use work.all;

entity clkgen is
    port (
        sys_rst_n : in  std_logic;
        clk_in    : in  std_logic;
        i_clk     : out std_logic;
        o_clk     : out std_logic;
        o_clk_x2  : out std_logic;
        o_clk_phy : out std_logic;
        locked    : out std_logic
        );
end clkgen;
architecture Behavioural of clkgen is

    signal clkfbout    : std_logic;
    signal clk_120m    : std_logic;
    signal clk_78_642m : std_logic;
    signal clk_48m     : std_logic;
    signal clk_24m     : std_logic;
    signal pll_locked  : std_logic;

    signal reset : std_logic;
begin

    clkgen_a : entity work.clkgen_cyclone4_a_impl
        port map (
            areset => not sys_rst_n,
            inclk0 => clk_in,
            c0     => clk_78_642m,
            locked => open);


    i_clk <= clk_78_642m;

    clkgen_b : entity work.clkgen_cyclone4_b_impl
        port map (
            areset => not sys_rst_n,
            inclk0 => clk_in,
            c0     => clk_120m,
            c1     => open,
            c2     => clk_48m,
            c3     => clk_24m,
            locked => pll_locked);

    o_clk <= clk_24m;

    -- not used in the cyclone design
    o_clk_x2 <= clk_48m;


    o_clk_phy <= clk_120m;

    locked <= pll_locked;


end Behavioural;