OpenCores
URL https://opencores.org/ocsvn/riscv_vhdl/riscv_vhdl/trunk

Subversion Repositories riscv_vhdl

[/] [riscv_vhdl/] [trunk/] [rtl/] [techmap/] [pll/] [clkp90_tech.vhd] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 sergeykhbr
-----------------------------------------------------------------------------
2
--! @file
3
--! @copyright Copyright 2015 GNSS Sensor Ltd. All right reserved.
4
--! @author    Sergey Khabarov - sergeykhbr@gmail.com
5
--! @brief     Virtual clock phase offset generator (90 deg)
6
------------------------------------------------------------------------------
7
 
8
--! Standard library
9
library ieee;
10
use ieee.std_logic_1164.all;
11
library techmap;
12
use techmap.gencomp.all;
13
 
14
entity clkp90_tech is
15
  generic (
16
    tech    : integer range 0 to NTECH := 0;
17
    --! clock frequency in KHz
18
    freq    : integer := 125000
19
  );
20
  port (
21
    --! Active High
22
    i_rst    : in  std_logic;
23
    i_clk    : in  std_logic;
24
    o_clk    : out std_logic;
25
    o_clkp90 : out std_logic;
26
    o_clk2x  : out std_logic;
27
    o_lock   : out std_logic
28
  );
29
end clkp90_tech;
30
 
31
architecture rtl of clkp90_tech is
32
 
33
  component clkp90_virtex6 is
34
  port (
35
    i_clk    : in std_logic;
36
    o_clk    : out std_logic;
37
    o_clkp90 : out std_logic
38
  );
39
  end component;
40
 
41
  component clkp90_kintex7 is
42
  generic (
43
    freq    : integer := 125000
44
  );
45
  port (
46
    --! Active High
47
    i_rst    : in  std_logic;
48
    i_clk    : in  std_logic;
49
    o_clk    : out std_logic;
50
    o_clkp90 : out std_logic;
51
    o_clk2x  : out std_logic;
52
    o_lock   : out std_logic
53
  );
54
  end component;
55
 
56
begin
57
 
58
   xv6 : if tech = virtex6 generate
59
      v1 : clkp90_virtex6 port map (
60
           i_clk    => i_clk,
61
           o_clk    => o_clk,
62
           o_clkp90 => o_clkp90
63
      );
64
      o_clk2x <= '0';
65
      o_lock <= '0';
66
   end generate;
67
 
68
   xl7 : if tech = kintex7  or tech = artix7 or tech = zynq7000 generate
69
      v1 : clkp90_kintex7 generic map (
70
          freq => freq
71
      ) port map (
72
          i_rst    => i_rst,
73
          i_clk    => i_clk,
74
          o_clk    => o_clk,
75
          o_clkp90 => o_clkp90,
76
          o_clk2x  => o_clk2x,
77
          o_lock   => o_lock
78
     );
79
   end generate;
80
 
81
   inf : if tech = inferred generate
82
      o_clk    <= i_clk;
83
      o_clkp90 <= i_clk;
84
      o_clk2x  <= '0';
85
      o_lock  <= '0';
86
   end generate;
87
 
88
   m180 : if tech = micron180 generate
89
   end generate;
90
 
91
end;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.