⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mem_interface_top_mem_if_top_0.v

📁 sata_device_model,对做硬盘控制器的朋友有帮助
💻 V
字号:
//*****************************************************************************
// Copyright (c) 2006 Xilinx, Inc.
// This design is confidential and proprietary of Xilinx, Inc.
// All Rights Reserved
//*****************************************************************************
//   ____  ____
//  /   /\/   /
// /___/  \  /    Vendor: Xilinx
// \   \   \/     Version: $Name: i+IP+125372 $
//  \   \         Application: MIG
//  /   /         Filename: mem_interface_top_mem_if_top_0.v
// /___/   /\     Date Last Modified: $Date: 2007/04/18 13:49:32 $
// \   \  /  \    Date Created: Wed Aug 16 2006
//  \___\/\___\
//
//Device: Virtex-5
//Design Name: DDR2
//Purpose:
//Reference:
//Revision History:
//*****************************************************************************

`timescale 1ns/1ps

module mem_interface_top_mem_if_top_0 #
  (
   parameter BANK_WIDTH     = 3,
   parameter CKE_WIDTH      = 1,
   parameter CLK_WIDTH      = 1,
   parameter COL_WIDTH      = 10,
   parameter CS_BITS        = 0,
   parameter CS_NUM         = 1,
   parameter CS_WIDTH       = 1,
   parameter DM_WIDTH       = 9,
   parameter DQ_WIDTH       = 72,
   parameter DQ_BITS        = 7,
   parameter DQ_PER_DQS     = 8,
   parameter DQS_BITS       = 4,
   parameter DQS_WIDTH      = 9,
   parameter ODT_WIDTH      = 1,
   parameter ROW_WIDTH      = 14,
   parameter ADDITIVE_LAT   = 0,
   parameter BURST_LEN      = 4,
   parameter BURST_TYPE     = 0,
   parameter CAS_LAT        = 3,
   parameter ECC_ENABLE     = 0,
   parameter MULTI_BANK_EN  = 1,
   parameter ODT_TYPE       = 0,
   parameter REDUCE_DRV     = 0,
   parameter REG_ENABLE     = 1,
   parameter TREFI_NS       = 7800,
   parameter TRAS           = 40000,
   parameter TRCD           = 15000,
   parameter TRFC           = 127500,
   parameter TRP            = 15000,
   parameter TRTP           = 7500,
   parameter TWR            = 15000,
   parameter TWTR           = 10000,
   parameter CLK_PERIOD     = 5000,
   parameter DDR2_ENABLE    = 1,
   parameter DQS_GATE_EN    = 0,
   parameter IDEL_HIGH_PERF = "TRUE",
   parameter SIM_ONLY       = 0
   )
  (
   input                                    clk0,
   input                                    clk90,
   input                                    rst0,
   input                                    rst90,
   input [2:0]                              app_af_cmd,
   input [30:0]                             app_af_addr,
   input                                    app_af_wren,
   input                                    app_wdf_wren,
   input [(2*DQ_WIDTH)-1:0]                 app_wdf_data,
   input [((2*DQ_WIDTH)/8)-1:0]             app_wdf_mask_data,
   output                                   app_af_afull,
   output                                   app_wdf_afull,
   output                                   rd_data_valid,
   output [(2*DQ_WIDTH)-1:0]                rd_data_fifo_out,
   output                                   phy_init_done,
   output [CLK_WIDTH-1:0]                   ddr_ck,
   output [CLK_WIDTH-1:0]                   ddr_ck_n,
   output [ROW_WIDTH-1:0]                   ddr_addr,
   output [BANK_WIDTH-1:0]                  ddr_ba,
   output                                   ddr_ras_n,
   output                                   ddr_cas_n,
   output                                   ddr_we_n,
   output [CS_WIDTH-1:0]                    ddr_cs_n,
   output [CKE_WIDTH-1:0]                   ddr_cke,
   output [ODT_WIDTH-1:0]                   ddr_odt,
   output [DM_WIDTH-1:0]                    ddr_dm,
   inout [DQS_WIDTH-1:0]                    ddr_dqs,
   inout [DQS_WIDTH-1:0]                    ddr_dqs_n,
   inout [DQ_WIDTH-1:0]                     ddr_dq
   );

  wire [30:0]                       af_addr;
  wire [2:0]                        af_cmd;
  wire                              af_empty;
  wire [1:0]                        af_conflict;
  wire [ROW_WIDTH-1:0]              ctrl_addr;
  wire                              ctrl_af_rden;
  wire [BANK_WIDTH-1:0]             ctrl_ba;
  wire                              ctrl_cas_n;
  wire [CS_NUM-1:0]                 ctrl_cs_n;
  wire                              ctrl_ras_n;
  wire                              ctrl_rden;
  wire                              ctrl_ref_flag;
  wire                              ctrl_we_n;
  wire                              ctrl_wren;
  wire [DQS_WIDTH-1:0]              phy_calib_rden;
  wire [DQ_WIDTH-1:0]               rd_data_fall;
  wire [DQ_WIDTH-1:0]               rd_data_rise;
  wire [(2*DQ_WIDTH)-1:0]           wdf_data;
  wire [((2*DQ_WIDTH)/8)-1:0]       wdf_mask_data;
  wire                              wdf_rden;
  wire                              phy_init_wdf_wren;
  wire [63:0]                       phy_init_wdf_data;

  //***************************************************************************

  mem_interface_top_phy_top_0 #
    (
     .BANK_WIDTH     (BANK_WIDTH),
     .CKE_WIDTH      (CKE_WIDTH),
     .CLK_WIDTH      (CLK_WIDTH),
     .COL_WIDTH      (COL_WIDTH),
     .CS_NUM         (CS_NUM),
     .CS_WIDTH       (CS_WIDTH),
     .DM_WIDTH       (DM_WIDTH),
     .DQ_WIDTH       (DQ_WIDTH),
     .DQ_BITS        (DQ_BITS),
     .DQ_PER_DQS     (DQ_PER_DQS),
     .DQS_BITS       (DQS_BITS),
     .DQS_WIDTH      (DQS_WIDTH),
     .ODT_WIDTH      (ODT_WIDTH),
     .ROW_WIDTH      (ROW_WIDTH),
     .ADDITIVE_LAT   (ADDITIVE_LAT),
     .BURST_LEN      (BURST_LEN),
     .BURST_TYPE     (BURST_TYPE),
     .CAS_LAT        (CAS_LAT),
     .ECC_ENABLE     (ECC_ENABLE),
     .ODT_TYPE       (ODT_TYPE),
     .REDUCE_DRV     (REDUCE_DRV),
     .REG_ENABLE     (REG_ENABLE),
     .CLK_PERIOD     (CLK_PERIOD),
     .DDR2_ENABLE    (DDR2_ENABLE),
     .DQS_GATE_EN    (DQS_GATE_EN),
     .IDEL_HIGH_PERF (IDEL_HIGH_PERF),
     .SIM_ONLY       (SIM_ONLY)
     )
    u_phy_top_0
      (
       .clk0               (clk0),
       .clk90              (clk90),
       .rst0               (rst0),
       .rst90              (rst90),
       .ctrl_wren          (ctrl_wren),
       .ctrl_addr          (ctrl_addr),
       .ctrl_ba            (ctrl_ba),
       .ctrl_ras_n         (ctrl_ras_n),
       .ctrl_cas_n         (ctrl_cas_n),
       .ctrl_we_n          (ctrl_we_n),
       .ctrl_cs_n          (ctrl_cs_n),
       .ctrl_rden          (ctrl_rden),
       .ctrl_ref_flag      (ctrl_ref_flag),
       .wdf_data           (wdf_data),
       .wdf_mask_data      (wdf_mask_data),
       .wdf_rden           (wdf_rden),
       .phy_init_done      (phy_init_done),
       .phy_calib_rden     (phy_calib_rden),
       .phy_init_wdf_wren  (phy_init_wdf_wren),
       .phy_init_wdf_data  (phy_init_wdf_data),
       .rd_data_rise       (rd_data_rise),
       .rd_data_fall       (rd_data_fall),
       .ddr_ck             (ddr_ck),
       .ddr_ck_n           (ddr_ck_n),
       .ddr_addr           (ddr_addr),
       .ddr_ba             (ddr_ba),
       .ddr_ras_n          (ddr_ras_n),
       .ddr_cas_n          (ddr_cas_n),
       .ddr_we_n           (ddr_we_n),
       .ddr_cs_n           (ddr_cs_n),
       .ddr_cke            (ddr_cke),
       .ddr_odt            (ddr_odt),
       .ddr_dm             (ddr_dm),
       .ddr_dqs            (ddr_dqs),
       .ddr_dqs_n          (ddr_dqs_n),
       .ddr_dq             (ddr_dq)
       );

  mem_interface_top_usr_top_0 #
    (
     .BANK_WIDTH (BANK_WIDTH),
     .COL_WIDTH  (COL_WIDTH),
     .CS_BITS    (CS_BITS),
     .DQ_WIDTH   (DQ_WIDTH),
     .DQ_PER_DQS (DQ_PER_DQS),
     .DQS_WIDTH  (DQS_WIDTH),
     .ROW_WIDTH  (ROW_WIDTH)
     )
    u_usr_top_0
      (
       .clk0              (clk0),
       .clk90             (clk90),
       .rst0              (rst0),
       .rst90             (rst90),
       .rd_data_in_rise   (rd_data_rise),
       .rd_data_in_fall   (rd_data_fall),
       .phy_calib_rden    (phy_calib_rden),
       .phy_init_wdf_wren (phy_init_wdf_wren),
       .phy_init_wdf_data (phy_init_wdf_data),
       .rd_data_valid     (rd_data_valid),
       .rd_data_fifo_out  (rd_data_fifo_out),
       .app_af_cmd        (app_af_cmd),
       .app_af_addr       (app_af_addr),
       .app_af_wren       (app_af_wren),
       .ctrl_af_rden      (ctrl_af_rden),
       .af_conflict       (af_conflict),
       .af_cmd            (af_cmd),
       .af_addr           (af_addr),
       .af_empty          (af_empty),
       .app_af_afull      (app_af_afull),
       .app_wdf_wren      (app_wdf_wren),
       .app_wdf_data      (app_wdf_data),
       .app_wdf_mask_data (app_wdf_mask_data),
       .wdf_rden          (wdf_rden),
       .app_wdf_afull     (app_wdf_afull),
       .wdf_data          (wdf_data),
       .wdf_mask_data     (wdf_mask_data)
       );


  mem_interface_top_ctrl_0 #
    (
     .BANK_WIDTH    (BANK_WIDTH),
     .COL_WIDTH     (COL_WIDTH),
     .CS_BITS       (CS_BITS),
     .CS_NUM        (CS_NUM),
     .ROW_WIDTH     (ROW_WIDTH),
     .ADDITIVE_LAT  (ADDITIVE_LAT),
     .BURST_LEN     (BURST_LEN),
     .CAS_LAT       (CAS_LAT),
     .ECC_ENABLE    (ECC_ENABLE),
     .REG_ENABLE    (REG_ENABLE),
     .MULTI_BANK_EN (MULTI_BANK_EN),
     .TREFI_NS      (TREFI_NS),
     .TRAS          (TRAS),
     .TRCD          (TRCD),
     .TRFC          (TRFC),
     .TRP           (TRP),
     .TRTP          (TRTP),
     .TWR           (TWR),
     .TWTR          (TWTR),
     .CLK_PERIOD    (CLK_PERIOD),
     .DDR2_ENABLE   (DDR2_ENABLE)
     )
    u_ctrl_0
      (
       .clk           (clk0),
       .rst           (rst0),
       .af_conflict   (af_conflict),
       .af_cmd        (af_cmd),
       .af_addr       (af_addr),
       .af_empty      (af_empty),
       .phy_init_done (phy_init_done),
       .ctrl_ref_flag (ctrl_ref_flag),
       .ctrl_af_rden  (ctrl_af_rden),
       .ctrl_wren     (ctrl_wren),
       .ctrl_rden     (ctrl_rden),
       .ctrl_addr     (ctrl_addr),
       .ctrl_ba       (ctrl_ba),
       .ctrl_ras_n    (ctrl_ras_n),
       .ctrl_cas_n    (ctrl_cas_n),
       .ctrl_we_n     (ctrl_we_n),
       .ctrl_cs_n     (ctrl_cs_n)
       );

endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -