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

Subversion Repositories pcie_sg_dma

[/] [pcie_sg_dma/] [branches/] [Virtex6/] [ML605_ISE12.3/] [pcie_sg_dma/] [Virtex6/] [ML605/] [v6_pcie_v1_3/] [source/] [pcie_reset_delay_v6.v] - Blame information for rev 11

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 11 barabba
//-----------------------------------------------------------------------------
2
//
3
// (c) Copyright 2009 Xilinx, Inc. All rights reserved.
4
//
5
// This file contains confidential and proprietary information of Xilinx, Inc.
6
// and is protected under U.S. and international copyright and other
7
// intellectual property laws.
8
//
9
// DISCLAIMER
10
//
11
// This disclaimer is not a license and does not grant any rights to the
12
// materials distributed herewith. Except as otherwise provided in a valid
13
// license issued to you by Xilinx, and to the maximum extent permitted by
14
// applicable law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL
15
// FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS,
16
// IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
17
// MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;
18
// and (2) Xilinx shall not be liable (whether in contract or tort, including
19
// negligence, or under any other theory of liability) for any loss or damage
20
// of any kind or nature related to, arising under or in connection with these
21
// materials, including for any direct, or any indirect, special, incidental,
22
// or consequential loss or damage (including loss of data, profits, goodwill,
23
// or any type of loss or damage suffered as a result of any action brought by
24
// a third party) even if such damage or loss was reasonably foreseeable or
25
// Xilinx had been advised of the possibility of the same.
26
//
27
// CRITICAL APPLICATIONS
28
//
29
// Xilinx products are not designed or intended to be fail-safe, or for use in
30
// any application requiring fail-safe performance, such as life-support or
31
// safety devices or systems, Class III medical devices, nuclear facilities,
32
// applications related to the deployment of airbags, or any other
33
// applications that could lead to death, personal injury, or severe property
34
// or environmental damage (individually and collectively, "Critical
35
// Applications"). Customer assumes the sole risk and liability of any use of
36
// Xilinx products in Critical Applications, subject only to applicable laws
37
// and regulations governing limitations on product liability.
38
//
39
// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE
40
// AT ALL TIMES.
41
//
42
//-----------------------------------------------------------------------------
43
// Project    : Virtex-6 Integrated Block for PCI Express
44
// File       : pcie_reset_delay_v6.v
45
//--
46
//-- Description: sys_reset_n delay (20ms) for Virtex6 PCIe Block
47
//--
48
//--
49
//--
50
//--------------------------------------------------------------------------------
51
 
52
`timescale 1ns/1ns
53
 
54
module pcie_reset_delay_v6 # (
55
 
56
  parameter PL_FAST_TRAIN = "FALSE",
57
  parameter REF_CLK_FREQ = 0   // 0 - 100 MHz, 1 - 125 MHz, 2 - 250 MHz
58
 
59
)
60
(
61
 
62
  input  wire        ref_clk,
63
  input  wire        sys_reset_n,
64
  output             delayed_sys_reset_n
65
 
66
);
67
 
68
  parameter TCQ = 1;
69
 
70
  localparam         TBIT =  (PL_FAST_TRAIN == "FALSE") ?  ((REF_CLK_FREQ == 1) ? 20: (REF_CLK_FREQ == 0) ? 20 : 21) : 2;
71
 
72
  reg [7:0]          reg_count_7_0;
73
  reg [7:0]          reg_count_15_8;
74
  reg [7:0]          reg_count_23_16;
75
  wire [23:0]        concat_count;
76
 
77
  assign concat_count = {reg_count_23_16, reg_count_15_8, reg_count_7_0};
78
 
79
  always @(posedge ref_clk or negedge sys_reset_n) begin
80
 
81
    if (!sys_reset_n) begin
82
 
83
      reg_count_7_0 <= #TCQ 8'h0;
84
      reg_count_15_8 <= #TCQ 8'h0;
85
      reg_count_23_16 <= #TCQ 8'h0;
86
 
87
    end else begin
88
 
89
      if (delayed_sys_reset_n != 1'b1) begin
90
 
91
        reg_count_7_0   <= #TCQ reg_count_7_0 + 1'b1;
92
        reg_count_15_8  <= #TCQ (reg_count_7_0 == 8'hff)? reg_count_15_8  + 1'b1 : reg_count_15_8 ;
93
        reg_count_23_16 <= #TCQ ((reg_count_15_8 == 8'hff) & (reg_count_7_0 == 8'hff)) ? reg_count_23_16 + 1'b1 : reg_count_23_16;
94
 
95
      end
96
 
97
    end
98
 
99
  end
100
 
101
  assign delayed_sys_reset_n = concat_count[TBIT];
102
 
103
endmodule
104
 

powered by: WebSVN 2.1.0

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