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

Subversion Repositories xenie

[/] [xenie/] [trunk/] [examples/] [Eth_example/] [src/] [ip/] [rxaui_0/] [synth/] [rxaui_0_cl_resets.vhd] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 DFC
-------------------------------------------------------------------------------
2
-- Title      : RXAUI Core Level Resets
3
-- Project    : RXAUI
4
-------------------------------------------------------------------------------
5
-- File       : rxaui_0_cl_resets.vhd
6
-------------------------------------------------------------------------------
7
-- Description: This module holds the per-core resets for the
8
--              RXAUI core
9
-------------------------------------------------------------------------------
10
-- (c) Copyright 2009 - 2013 Xilinx, Inc. All rights reserved. 
11
--
12
-- This file contains confidential and proprietary information
13
-- of Xilinx, Inc. and is protected under U.S. and
14
-- international copyright and other intellectual property
15
-- laws.
16
--
17
-- DISCLAIMER
18
-- This disclaimer is not a license and does not grant any
19
-- rights to the materials distributed herewith. Except as
20
-- otherwise provided in a valid license issued to you by
21
-- Xilinx, and to the maximum extent permitted by applicable
22
-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
23
-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
24
-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
25
-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
26
-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
27
-- (2) Xilinx shall not be liable (whether in contract or tort,
28
-- including negligence, or under any other theory of
29
-- liability) for any loss or damage of any kind or nature
30
-- related to, arising under or in connection with these
31
-- materials, including for any direct, or any indirect,
32
-- special, incidental, or consequential loss or damage
33
-- (including loss of data, profits, goodwill, or any type of
34
-- loss or damage suffered as a result of any action brought
35
-- by a third party) even if such damage or loss was
36
-- reasonably foreseeable or Xilinx had been advised of the
37
-- possibility of the same.
38
--
39
-- CRITICAL APPLICATIONS
40
-- Xilinx products are not designed or intended to be fail-
41
-- safe, or for use in any application requiring fail-safe
42
-- performance, such as life-support or safety devices or
43
-- systems, Class III medical devices, nuclear facilities,
44
-- applications related to the deployment of airbags, or any
45
-- other applications that could lead to death, personal
46
-- injury, or severe property or environmental damage
47
-- (individually and collectively, "Critical
48
-- Applications"). Customer assumes the sole risk and
49
-- liability of any use of Xilinx products in Critical
50
-- Applications, subject only to applicable laws and
51
-- regulations governing limitations on product liability.
52
--
53
-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
54
-- PART OF THIS FILE AT ALL TIMES.
55
-------------------------------------------------------------------------------
56
 
57
library ieee;
58
use ieee.std_logic_1164.all;
59
use ieee.numeric_std.all;
60
 
61
entity rxaui_0_cl_resets is
62
    port (
63
      reset               : in  std_logic; -- Asynchronous reset
64
      clk156              : in  std_logic; -- 156.25MHz Clock derived from GT txoutclk
65
      uclk_txlock         : in  std_logic; -- PLL is locked (either the GT_COMMON, or GT_CHANNEL)
66
      reset156            : out  std_logic -- Synchronous reset to clk156
67
      );
68
end rxaui_0_cl_resets;
69
 
70
architecture rtl of rxaui_0_cl_resets is
71
  component rxaui_0_ff_synchronizer
72
    generic
73
    (
74
      C_NUM_SYNC_REGS     : integer := 3
75
    );
76
    port
77
    (
78
      clk                 : in  std_logic;
79
      data_in             : in std_logic;
80
      data_out            : out std_logic
81
    );
82
  end component;
83
 
84
  attribute ASYNC_REG : string;
85
  attribute shreg_extract : string;
86
 
87
  signal reset156_r1      : std_logic;
88
  signal reset156_r2      : std_logic;
89
  signal reset156_r3      : std_logic;
90
  attribute ASYNC_REG of reset156_r1   : signal is "TRUE";
91
  attribute ASYNC_REG of reset156_r2   : signal is "TRUE";
92
  attribute ASYNC_REG of reset156_r3   : signal is "TRUE";
93
 
94
begin
95
 
96
  p_reset : process (clk156)
97
  begin
98
    if rising_edge(clk156) then
99
      if reset = '1' then
100
        reset156_r1 <= '1';
101
        reset156_r2 <= '1';
102
        reset156_r3 <= '1';
103
      else
104
        reset156_r1 <= not uclk_txlock;
105
        reset156_r2 <= reset156_r1;
106
        reset156_r3 <= reset156_r2;
107
      end if;
108
    end if;
109
  end process;
110
 
111
  reset156 <= reset156_r3;
112
 
113
end rtl;

powered by: WebSVN 2.1.0

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