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

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [designs/] [leon3-altera-ep1c20/] [clkgen_ep1c20board.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
library ieee;
2
use ieee.std_logic_1164.all;
3
library gaisler;
4
use gaisler.misc.all;
5
library techmap;
6
use techmap.allclkgen.all;
7
use techmap.gencomp.all;
8
library grlib;
9
use grlib.stdlib.all;
10
 
11
 
12
------------------------------------------------------------------
13
-- Altera Cyclone ep1c20 clock generator ---------------------------------------
14
------------------------------------------------------------------
15
 
16
entity clkgen_ep1c20board is
17
 generic (
18
    tech     : integer := DEFFABTECH;
19
    clk_mul  : integer := 1;
20
    clk_div  : integer := 1;
21
    sdramen  : integer := 0;
22
    sdinvclk : integer := 0;
23
    freq     : integer := 50000);
24
  port (
25
    clkin   : in  std_logic;
26
    clkout  : out  std_logic;
27
    clk     : out std_logic;                    -- main clock
28
    clkn    : out std_logic;                    -- inverted main clock
29
    sdclk   : out std_logic;                    -- SDRAM clock
30
    cgi     : in clkgen_in_type;
31
    cgo     : out clkgen_out_type);
32
end;
33
 
34
architecture rtl of clkgen_ep1c20board is
35
 
36
  constant VERSION : integer := 1;
37
  constant CLKIN_PERIOD : integer := 20;
38
 
39
  signal   s_clk             : std_logic;
40
 
41
  signal intclk : std_ulogic;
42
 
43
begin
44
 
45
 
46
  gen : if (tech = inferred)
47
  generate
48
    intclk <= clkin;
49
    sdclk <= not intclk when SDINVCLK = 1 else intclk;
50
    clk <= intclk; clkn <= not intclk;
51
    cgo.clklock <= '1'; cgo.pcilock <= '1';
52
  end generate;
53
 
54
  alt : if (tech /= inferred) generate
55
 
56
    pll1 : altera_pll
57
      generic map (clk_mul, clk_div, freq)
58
      port map ( inclk0 => clkin, e0 => clkout, c0 => open,
59
                 locked => open);
60
    pll2 : altera_pll
61
      generic map (clk_mul, clk_div, freq)
62
      port map ( inclk0 => cgi.pllref, e0 => sdclk, c0 => s_clk,
63
                 locked => cgo.clklock);
64
    clk  <= s_clk;
65
    clkn <= not s_clk;
66
 
67
  end generate;
68
 
69
  -- pragma translate_off
70
  bootmsg : report_version
71
  generic map (
72
    "clkgen_ep1c20board" & ": EP1C20 board sdram/pci clock generator, version " & tost(VERSION),
73
    "clkgen_ep1c20board" & ": Frequency " &  tost(freq) & " KHz, PLL scaler " & tost(clk_mul) & "/" & tost(clk_div));
74
  -- pragma translate_on
75
 
76
 
77
end;
78
 
79
 

powered by: WebSVN 2.1.0

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