Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / niu / rxc_sat / vera / monitor / include / rdmc_mon_if.vri
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: rdmc_mon_if.vri
4// Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
5// 4150 Network Circle, Santa Clara, California 95054, U.S.A.
6//
7// * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8//
9// This program is free software; you can redistribute it and/or modify
10// it under the terms of the GNU General Public License as published by
11// the Free Software Foundation; version 2 of the License.
12//
13// This program is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16// GNU General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with this program; if not, write to the Free Software
20// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21//
22// For the avoidance of doubt, and except that if any non-GPL license
23// choice is available it will apply instead, Sun elects to use only
24// the General Public License version 2 (GPLv2) at this time for any
25// software where a choice of GPL license versions is made
26// available with the language indicating that GPLv2 or any later version
27// may be used, or where a choice of which version of the GPL is applied is
28// otherwise unspecified.
29//
30// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
31// CA 95054 USA or visit www.sun.com if you need additional information or
32// have any questions.
33//
34// ========== Copyright Header End ============================================
35#include "neptune_defines.vri"
36
37#define RXC_CK_IN_TIMING PSAMPLE #-1
38#define RXC_CK_OUT_TIMING PHOLD #0
39#define RXC_CK_CLK_TIMING CLOCK
40
41//*******************************************************************************
42//************ INTERFACE ********************************************************
43//*******************************************************************************
44
45interface rdmc_mon_if {
46#ifdef NIU_GATE
47input clk RXC_CK_CLK_TIMING verilog_node RDC_DUV_PATH.iol2clk";
48#else
49input clk RXC_CK_CLK_TIMING verilog_node RDC_DUV_PATH.niu_clk";
50#endif
51
52// Outputs from RDMC to META
53
54input[4:0] dma_num RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_req_dma_num";
55input[1:0] func_num RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_req_func_num";
56input[1:0] port_num RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_req_port_num";
57
58// Cmd Phase signals
59input req RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_req";
60input[63:0] req_address RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_req_address";
61input[7:0] req_cmd RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_req_cmd";
62input[13:0] req_length RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_req_length";
63// Based on bits 88-101 of the ipp_dmc_data packet
64
65
66// Input from META to RDMC
67input accept RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.meta0_rdmc_wr_req_accept";
68
69// Data Phase signals
70
71// Input from META to RDMC
72input data_req RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.meta0_rdmc_wr_data_req";
73
74// Outputs from RDMC to META
75input[127:0] data RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_data";
76input data_vld RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_data_valid";
77input[15:0] req_byteen RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_req_byteenable";
78input[3:0] status RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_status";
79input xfr_comp RXC_CK_IN_TIMING verilog_node RDC_DUV_PATH.rdmc_meta0_wr_transfer_comp";
80
81}
82
83//**************************************************************************************************
84//******** PORTS*************************************************************************************
85//**************************************************************************************************
86
87port rdmc_mon_port {
88 clk;
89 dma_num;
90 func_num;
91 port_num;
92
93// CMD phase signals
94 req;
95 req_address;
96 req_cmd;
97 req_length;
98
99//Data phase signals
100 data;
101 data_vld;
102 req_byteen;
103 status;
104 xfr_comp;
105
106//Input from the META to RDMC (handshake)
107 accept;
108 data_req;
109}
110
111//**************************************************************************************************
112//******** BIND*************************************************************************************
113//**************************************************************************************************
114
115bind rdmc_mon_port rdmc_mon_port_bind {
116 clk rdmc_mon_if.clk;//Check for the name
117 //Output from the RDMC to META
118 dma_num rdmc_mon_if.dma_num;
119 func_num rdmc_mon_if.func_num;
120 port_num rdmc_mon_if.port_num;
121
122// CMD phase signals
123 req rdmc_mon_if.req;
124 req_address rdmc_mon_if.req_address ;
125 req_cmd rdmc_mon_if.req_cmd;
126 req_length rdmc_mon_if.req_length;
127
128//Data phase signals
129 data rdmc_mon_if.data;
130 data_vld rdmc_mon_if.data_vld;
131 req_byteen rdmc_mon_if.req_byteen;
132 status rdmc_mon_if.status;
133 xfr_comp rdmc_mon_if.xfr_comp;
134
135//Input from the META to RDMC
136 accept rdmc_mon_if.accept;
137 data_req rdmc_mon_if.data_req;
138}
139
140//****************************************************************************
141//****************************************************************************
142//****************************************************************************
143