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

Subversion Repositories sata_phy

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /sata_phy
    from Rev 14 to Rev 15
    Reverse comparison

Rev 14 → Rev 15

/trunk/hdl/sata_s6_sata1_gtp.v
0,0 → 1,378
///////////////////////////////////////////////////////////////////////////////
// ____ ____
// / /\/ /
// /___/ \ / Vendor: Xilinx
// \ \ \/ Version : 1.11
// \ \ Application : Spartan-6 FPGA GTP Transceiver Wizard
// / / Filename : sata_s6_sata1_gtp.v
// /___/ /\
// \ \ / \
// \___\/\___\
//
//
// Module sata_s6_sata1_gtp (a GTP Wrapper)
// Generated by Xilinx Spartan-6 FPGA GTP Transceiver Wizard
//
//
// (c) Copyright 2009 - 2011 Xilinx, Inc. All rights reserved.
//
// This file contains confidential and proprietary information
// of Xilinx, Inc. and is protected under U.S. and
// international copyright and other intellectual property
// laws.
//
// DISCLAIMER
// This disclaimer is not a license and does not grant any
// rights to the materials distributed herewith. Except as
// otherwise provided in a valid license issued to you by
// Xilinx, and to the maximum extent permitted by applicable
// law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
// WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
// AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
// BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
// INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
// (2) Xilinx shall not be liable (whether in contract or tort,
// including negligence, or under any other theory of
// liability) for any loss or damage of any kind or nature
// related to, arising under or in connection with these
// materials, including for any direct, or any indirect,
// special, incidental, or consequential loss or damage
// (including loss of data, profits, goodwill, or any type of
// loss or damage suffered as a result of any action brought
// by a third party) even if such damage or loss was
// reasonably foreseeable or Xilinx had been advised of the
// possibility of the same.
//
// CRITICAL APPLICATIONS
// Xilinx products are not designed or intended to be fail-
// safe, or for use in any application requiring fail-safe
// performance, such as life-support or safety devices or
// systems, Class III medical devices, nuclear facilities,
// applications related to the deployment of airbags, or any
// other applications that could lead to death, personal
// injury, or severe property or environmental damage
// (individually and collectively, "Critical
// Applications"). Customer assumes the sole risk and
// liability of any use of Xilinx products in Critical
// Applications, subject only to applicable laws and
// regulations governing limitations on product liability.
//
// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
// PART OF THIS FILE AT ALL TIMES.
 
 
 
`timescale 1ns / 1ps
 
 
//***************************** Entity Declaration ****************************
(* CORE_GENERATION_INFO = "sata_s6_sata1_gtp,s6_gtpwizard_v1_11,{gtp0_protocol_file=sata,gtp1_protocol_file=Use_GTP0_settings}" *)
module sata_s6_sata1_gtp #
(
// Simulation attributes
parameter WRAPPER_SIM_GTPRESET_SPEEDUP = 0, // Set to 1 to speed up sim reset
parameter WRAPPER_CLK25_DIVIDER_0 = 6,
parameter WRAPPER_CLK25_DIVIDER_1 = 6,
parameter WRAPPER_PLL_DIVSEL_FB_0 = 2,
parameter WRAPPER_PLL_DIVSEL_FB_1 = 2,
parameter WRAPPER_PLL_DIVSEL_REF_0 = 1,
parameter WRAPPER_PLL_DIVSEL_REF_1 = 1,
parameter WRAPPER_SIMULATION = 0 // Set to 1 for simulation
)
(
//_________________________________________________________________________
//_________________________________________________________________________
//TILE0 (X0_Y0)
 
//---------------------- Loopback and Powerdown Ports ----------------------
input [2:0] TILE0_LOOPBACK0_IN,
input [2:0] TILE0_LOOPBACK1_IN,
//------------------------------- PLL Ports --------------------------------
input TILE0_CLK00_IN,
input TILE0_CLK01_IN,
input TILE0_GTPRESET0_IN,
input TILE0_GTPRESET1_IN,
output TILE0_PLLLKDET0_OUT,
output TILE0_RESETDONE0_OUT,
output TILE0_RESETDONE1_OUT,
//--------------------- Receive Ports - 8b10b Decoder ----------------------
output [1:0] TILE0_RXCHARISCOMMA0_OUT,
output [1:0] TILE0_RXCHARISCOMMA1_OUT,
output [1:0] TILE0_RXCHARISK0_OUT,
output [1:0] TILE0_RXCHARISK1_OUT,
output [1:0] TILE0_RXDISPERR0_OUT,
output [1:0] TILE0_RXDISPERR1_OUT,
output [1:0] TILE0_RXNOTINTABLE0_OUT,
output [1:0] TILE0_RXNOTINTABLE1_OUT,
//-------------------- Receive Ports - Clock Correction --------------------
output [2:0] TILE0_RXCLKCORCNT0_OUT,
output [2:0] TILE0_RXCLKCORCNT1_OUT,
//------------- Receive Ports - Comma Detection and Alignment --------------
output TILE0_RXBYTEISALIGNED0_OUT,
output TILE0_RXBYTEISALIGNED1_OUT,
input TILE0_RXENMCOMMAALIGN0_IN,
input TILE0_RXENMCOMMAALIGN1_IN,
input TILE0_RXENPCOMMAALIGN0_IN,
input TILE0_RXENPCOMMAALIGN1_IN,
//----------------- Receive Ports - RX Data Path interface -----------------
output [15:0] TILE0_RXDATA0_OUT,
output [15:0] TILE0_RXDATA1_OUT,
output TILE0_RXRECCLK0_OUT,
output TILE0_RXRECCLK1_OUT,
input TILE0_RXRESET0_IN,
input TILE0_RXRESET1_IN,
input TILE0_RXUSRCLK0_IN,
input TILE0_RXUSRCLK1_IN,
input TILE0_RXUSRCLK20_IN,
input TILE0_RXUSRCLK21_IN,
//----- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------
input TILE0_GATERXELECIDLE0_IN,
input TILE0_GATERXELECIDLE1_IN,
input TILE0_IGNORESIGDET0_IN,
input TILE0_IGNORESIGDET1_IN,
output TILE0_RXELECIDLE0_OUT,
output TILE0_RXELECIDLE1_OUT,
input [1:0] TILE0_RXEQMIX0_IN,
input [1:0] TILE0_RXEQMIX1_IN,
input TILE0_RXN0_IN,
input TILE0_RXN1_IN,
input TILE0_RXP0_IN,
input TILE0_RXP1_IN,
//--------- Receive Ports - RX Elastic Buffer and Phase Alignment ----------
output [2:0] TILE0_RXSTATUS0_OUT,
output [2:0] TILE0_RXSTATUS1_OUT,
//-------------------------- TX/RX Datapath Ports --------------------------
output [1:0] TILE0_GTPCLKOUT0_OUT,
output [1:0] TILE0_GTPCLKOUT1_OUT,
//----------------- Transmit Ports - 8b10b Encoder Control -----------------
input [1:0] TILE0_TXCHARISK0_IN,
input [1:0] TILE0_TXCHARISK1_IN,
//---------------- Transmit Ports - TX Data Path interface -----------------
input [15:0] TILE0_TXDATA0_IN,
input [15:0] TILE0_TXDATA1_IN,
output TILE0_TXOUTCLK0_OUT,
output TILE0_TXOUTCLK1_OUT,
input TILE0_TXRESET0_IN,
input TILE0_TXRESET1_IN,
input TILE0_TXUSRCLK0_IN,
input TILE0_TXUSRCLK1_IN,
input TILE0_TXUSRCLK20_IN,
input TILE0_TXUSRCLK21_IN,
//------------- Transmit Ports - TX Driver and OOB signalling --------------
input [3:0] TILE0_TXDIFFCTRL0_IN,
input [3:0] TILE0_TXDIFFCTRL1_IN,
output TILE0_TXN0_OUT,
output TILE0_TXN1_OUT,
output TILE0_TXP0_OUT,
output TILE0_TXP1_OUT,
input [2:0] TILE0_TXPREEMPHASIS0_IN,
input [2:0] TILE0_TXPREEMPHASIS1_IN,
//--------------- Transmit Ports - TX Ports for PCI Express ----------------
input TILE0_TXELECIDLE0_IN,
input TILE0_TXELECIDLE1_IN,
//------------------- Transmit Ports - TX Ports for SATA -------------------
input TILE0_TXCOMSTART0_IN,
input TILE0_TXCOMSTART1_IN,
input TILE0_TXCOMTYPE0_IN,
input TILE0_TXCOMTYPE1_IN
 
 
);
 
 
//***************************** Wire Declarations *****************************
 
// ground and vcc signals
wire tied_to_ground_i;
wire [63:0] tied_to_ground_vec_i;
wire tied_to_vcc_i;
wire [63:0] tied_to_vcc_vec_i;
wire tile0_plllkdet0_i;
wire tile0_plllkdet1_i;
 
reg tile0_plllkdet0_i2;
reg [4:0] count00;
reg start00;
//********************************* Main Body of Code**************************
 
assign tied_to_ground_i = 1'b0;
assign tied_to_ground_vec_i = 64'h0000000000000000;
assign tied_to_vcc_i = 1'b1;
assign tied_to_vcc_vec_i = 64'hffffffffffffffff;
 
generate
if (WRAPPER_SIMULATION==1)
begin : simulation
 
assign TILE0_PLLLKDET0_OUT = tile0_plllkdet0_i2;
 
always@(posedge TILE0_CLK00_IN or posedge TILE0_GTPRESET0_IN)
begin
if (TILE0_GTPRESET0_IN == 1'b1) begin
count00 <= 5'b00000;
end
else begin
if ((count00 == 5'b10100) | (tile0_plllkdet0_i == 1'b0)) begin
count00 <= 5'b00000;
end
else begin
count00 <= count00 + 5'b00001;
end
end
end
 
always@(posedge TILE0_CLK00_IN or negedge tile0_plllkdet0_i)
begin
if(tile0_plllkdet0_i == 1'b0) begin
tile0_plllkdet0_i2 <= 1'b0;
end
else begin
if((count00 == 5'b10100) & (tile0_plllkdet0_i == 1'b1)) begin
tile0_plllkdet0_i2 <= 1'b1;
end
end
end
 
 
end //end WRAPPER_SIMULATION =1 generate section
else
begin: implementation
 
assign TILE0_PLLLKDET0_OUT = tile0_plllkdet0_i;
 
end
endgenerate //End generate for WRAPPER_SIMULATION
 
//------------------------- Tile Instances -------------------------------
 
 
 
//_________________________________________________________________________
//_________________________________________________________________________
//TILE0 (X0_Y0)
 
sata_s6_sata1_gtp_tile #
(
// Simulation attributes
.TILE_SIM_GTPRESET_SPEEDUP (WRAPPER_SIM_GTPRESET_SPEEDUP),
.TILE_CLK25_DIVIDER_0 (WRAPPER_CLK25_DIVIDER_0),
.TILE_CLK25_DIVIDER_1 (WRAPPER_CLK25_DIVIDER_1),
.TILE_PLL_DIVSEL_FB_0 (WRAPPER_PLL_DIVSEL_FB_0),
.TILE_PLL_DIVSEL_FB_1 (WRAPPER_PLL_DIVSEL_FB_1),
.TILE_PLL_DIVSEL_REF_0 (WRAPPER_PLL_DIVSEL_REF_0),
.TILE_PLL_DIVSEL_REF_1 (WRAPPER_PLL_DIVSEL_REF_1),
//
.TILE_PLL_SOURCE_0 ("PLL0"),
.TILE_PLL_SOURCE_1 ("PLL0")
)
tile0_sata_s6_sata1_gtp_i
(
//---------------------- Loopback and Powerdown Ports ----------------------
.LOOPBACK0_IN (TILE0_LOOPBACK0_IN),
.LOOPBACK1_IN (TILE0_LOOPBACK1_IN),
//------------------------------- PLL Ports --------------------------------
.CLK00_IN (TILE0_CLK00_IN),
.CLK01_IN (TILE0_CLK01_IN),
.GTPRESET0_IN (TILE0_GTPRESET0_IN),
.GTPRESET1_IN (TILE0_GTPRESET1_IN),
.PLLLKDET0_OUT (tile0_plllkdet0_i),
.PLLLKDET1_OUT (tile0_plllkdet1_i),
.RESETDONE0_OUT (TILE0_RESETDONE0_OUT),
.RESETDONE1_OUT (TILE0_RESETDONE1_OUT),
//--------------------- Receive Ports - 8b10b Decoder ----------------------
.RXCHARISCOMMA0_OUT (TILE0_RXCHARISCOMMA0_OUT),
.RXCHARISCOMMA1_OUT (TILE0_RXCHARISCOMMA1_OUT),
.RXCHARISK0_OUT (TILE0_RXCHARISK0_OUT),
.RXCHARISK1_OUT (TILE0_RXCHARISK1_OUT),
.RXDISPERR0_OUT (TILE0_RXDISPERR0_OUT),
.RXDISPERR1_OUT (TILE0_RXDISPERR1_OUT),
.RXNOTINTABLE0_OUT (TILE0_RXNOTINTABLE0_OUT),
.RXNOTINTABLE1_OUT (TILE0_RXNOTINTABLE1_OUT),
//-------------------- Receive Ports - Clock Correction --------------------
.RXCLKCORCNT0_OUT (TILE0_RXCLKCORCNT0_OUT),
.RXCLKCORCNT1_OUT (TILE0_RXCLKCORCNT1_OUT),
//------------- Receive Ports - Comma Detection and Alignment --------------
.RXBYTEISALIGNED0_OUT (TILE0_RXBYTEISALIGNED0_OUT),
.RXBYTEISALIGNED1_OUT (TILE0_RXBYTEISALIGNED1_OUT),
.RXENMCOMMAALIGN0_IN (TILE0_RXENMCOMMAALIGN0_IN),
.RXENMCOMMAALIGN1_IN (TILE0_RXENMCOMMAALIGN1_IN),
.RXENPCOMMAALIGN0_IN (TILE0_RXENPCOMMAALIGN0_IN),
.RXENPCOMMAALIGN1_IN (TILE0_RXENPCOMMAALIGN1_IN),
//----------------- Receive Ports - RX Data Path interface -----------------
.RXDATA0_OUT (TILE0_RXDATA0_OUT),
.RXDATA1_OUT (TILE0_RXDATA1_OUT),
.RXRECCLK0_OUT (TILE0_RXRECCLK0_OUT),
.RXRECCLK1_OUT (TILE0_RXRECCLK1_OUT),
.RXRESET0_IN (TILE0_RXRESET0_IN),
.RXRESET1_IN (TILE0_RXRESET1_IN),
.RXUSRCLK0_IN (TILE0_RXUSRCLK0_IN),
.RXUSRCLK1_IN (TILE0_RXUSRCLK1_IN),
.RXUSRCLK20_IN (TILE0_RXUSRCLK20_IN),
.RXUSRCLK21_IN (TILE0_RXUSRCLK21_IN),
//----- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------
.GATERXELECIDLE0_IN (TILE0_GATERXELECIDLE0_IN),
.GATERXELECIDLE1_IN (TILE0_GATERXELECIDLE1_IN),
.IGNORESIGDET0_IN (TILE0_IGNORESIGDET0_IN),
.IGNORESIGDET1_IN (TILE0_IGNORESIGDET1_IN),
.RXELECIDLE0_OUT (TILE0_RXELECIDLE0_OUT),
.RXELECIDLE1_OUT (TILE0_RXELECIDLE1_OUT),
.RXEQMIX0_IN (TILE0_RXEQMIX0_IN),
.RXEQMIX1_IN (TILE0_RXEQMIX1_IN),
.RXN0_IN (TILE0_RXN0_IN),
.RXN1_IN (TILE0_RXN1_IN),
.RXP0_IN (TILE0_RXP0_IN),
.RXP1_IN (TILE0_RXP1_IN),
//--------- Receive Ports - RX Elastic Buffer and Phase Alignment ----------
.RXSTATUS0_OUT (TILE0_RXSTATUS0_OUT),
.RXSTATUS1_OUT (TILE0_RXSTATUS1_OUT),
//-------------------------- TX/RX Datapath Ports --------------------------
.GTPCLKOUT0_OUT (TILE0_GTPCLKOUT0_OUT),
.GTPCLKOUT1_OUT (TILE0_GTPCLKOUT1_OUT),
//----------------- Transmit Ports - 8b10b Encoder Control -----------------
.TXCHARISK0_IN (TILE0_TXCHARISK0_IN),
.TXCHARISK1_IN (TILE0_TXCHARISK1_IN),
//---------------- Transmit Ports - TX Data Path interface -----------------
.TXDATA0_IN (TILE0_TXDATA0_IN),
.TXDATA1_IN (TILE0_TXDATA1_IN),
.TXOUTCLK0_OUT (TILE0_TXOUTCLK0_OUT),
.TXOUTCLK1_OUT (TILE0_TXOUTCLK1_OUT),
.TXRESET0_IN (TILE0_TXRESET0_IN),
.TXRESET1_IN (TILE0_TXRESET1_IN),
.TXUSRCLK0_IN (TILE0_TXUSRCLK0_IN),
.TXUSRCLK1_IN (TILE0_TXUSRCLK1_IN),
.TXUSRCLK20_IN (TILE0_TXUSRCLK20_IN),
.TXUSRCLK21_IN (TILE0_TXUSRCLK21_IN),
//------------- Transmit Ports - TX Driver and OOB signalling --------------
.TXDIFFCTRL0_IN (TILE0_TXDIFFCTRL0_IN),
.TXDIFFCTRL1_IN (TILE0_TXDIFFCTRL1_IN),
.TXN0_OUT (TILE0_TXN0_OUT),
.TXN1_OUT (TILE0_TXN1_OUT),
.TXP0_OUT (TILE0_TXP0_OUT),
.TXP1_OUT (TILE0_TXP1_OUT),
.TXPREEMPHASIS0_IN (TILE0_TXPREEMPHASIS0_IN),
.TXPREEMPHASIS1_IN (TILE0_TXPREEMPHASIS1_IN),
//--------------- Transmit Ports - TX Ports for PCI Express ----------------
.TXELECIDLE0_IN (TILE0_TXELECIDLE0_IN),
.TXELECIDLE1_IN (TILE0_TXELECIDLE1_IN),
//------------------- Transmit Ports - TX Ports for SATA -------------------
.TXCOMSTART0_IN (TILE0_TXCOMSTART0_IN),
.TXCOMSTART1_IN (TILE0_TXCOMSTART1_IN),
.TXCOMTYPE0_IN (TILE0_TXCOMTYPE0_IN),
.TXCOMTYPE1_IN (TILE0_TXCOMTYPE1_IN)
 
);
 
endmodule
 

powered by: WebSVN 2.1.0

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