Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / niu / vera / smx_drv / include / siu_drv_ports.if.vri
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: siu_drv_ports.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#ifdef SMX_TEST
36#else
37#include "neptune_defines.vri"
38#endif
39
40/* Port defines for SIU Stub interface to NIU */
41
42#define OUTPUT_EDGE PHOLD
43#define INPUT_EDGE PSAMPLE #-1
44#define OUTPUT_SKEW #1
45
46interface Idebug {
47 #ifdef NIU_GATE
48 input clk CLOCK verilog_node TDS_DUV_PATH.iol2clk";
49 #else
50 input clk CLOCK verilog_node TDS_DUV_PATH.niu_smx.niu_clk";
51 #endif
52
53 input niu_stall_ack INPUT_EDGE verilog_node TDS_DUV_PATH.niu_dbg1_stall_ack";
54 output niu_stall OUTPUT_EDGE verilog_node TDS_DUV_PATH.dbg1_niu_stall";
55 output niu_resume OUTPUT_EDGE verilog_node TDS_DUV_PATH.dbg1_niu_resume";
56 input niu_sii_datareq INPUT_EDGE verilog_node TDS_DUV_PATH.niu_sii_datareq"; // rx
57 input niu_sii_hdr_vld INPUT_EDGE verilog_node TDS_DUV_PATH.niu_sii_hdr_vld"; // tx
58}
59
60
61#ifdef SMX_TEST
62
63interface niu_siu_drv {
64
65 // Connects to NIU-DMC's RX/TX
66 input clk CLOCK verilog_node "smx_tb.clk";
67
68 input niu_sii_hdr_vld INPUT_EDGE verilog_node "smx_tb.niu_sii_hdr_vld"; // Ethernet requesting to send packet to SIU
69 input niu_sii_reqbypass INPUT_EDGE verilog_node "smx_tb.niu_sii_reqbypass"; // Ethernet requesting to send packet to bypass queue of SIU
70 input niu_sii_datareq INPUT_EDGE verilog_node "smx_tb.niu_sii_datareq"; // Ethernet requesting to send packet w/data to SIU
71 input [127:0] niu_sii_data INPUT_EDGE verilog_node "smx_tb.niu_sii_data"; // Packet from Ethernet to SIU
72 input [7:0] niu_sii_parity INPUT_EDGE verilog_node "smx_tb.niu_sii_parity"; // Packet parity from Ethernet to SIU
73
74 output sii_niu_oqdq OUTPUT_EDGE verilog_node "smx_tb.sii_niu_oqdq" ; // Asserted when SIU dqs an "smx_tb entry from Ordered Queue
75 output sii_niu_bqdq OUTPUT_EDGE verilog_node "smx_tb.sii_niu_bqdq" ; // Asserted when SIU dqs an "smx_tb entry from Bypass Queue
76 output sio_niu_hdr_vld OUTPUT_EDGE verilog_node "smx_tb.sio_niu_hdr_vld" ; // SIO requesting to send packet to Ethernet
77 output sio_niu_datareq OUTPUT_EDGE verilog_node "smx_tb.sio_niu_datareq" ; // Valid during header phase only - 1=current request is a read data return
78 output [127:0] sio_niu_data OUTPUT_EDGE verilog_node "smx_tb.sio_niu_data" ; // Packet from SIO to Ethernet
79 output [7:0] sio_niu_parity OUTPUT_EDGE verilog_node "smx_tb.sio_niu_parity" ; // Packet parity from SIO to Ethernet
80
81}
82
83#else
84
85interface niu_siu_drv {
86
87 // Connects to NIU-DMC's RX/TX
88 #ifdef NIU_GATE
89 input clk CLOCK verilog_node TDS_DUV_PATH.iol2clk";
90 #else
91 input clk CLOCK verilog_node TDS_DUV_PATH.niu_smx.niu_clk";
92 #endif
93
94 input niu_sii_hdr_vld INPUT_EDGE verilog_node TDS_DUV_PATH.niu_sii_hdr_vld"; // Ethernet requesting to send packet to SIU
95 input niu_sii_reqbypass INPUT_EDGE verilog_node TDS_DUV_PATH.niu_sii_reqbypass"; // Ethernet requesting to send packet to bypass queue of SIU
96 input niu_sii_datareq INPUT_EDGE verilog_node TDS_DUV_PATH.niu_sii_datareq"; // Ethernet requesting to send packet w/data to SIU
97 input [127:0] niu_sii_data INPUT_EDGE verilog_node TDS_DUV_PATH.niu_sii_data"; // Packet from Ethernet to SIU
98 input [7:0] niu_sii_parity INPUT_EDGE verilog_node TDS_DUV_PATH.niu_sii_parity"; // Packet parity from Ethernet to SIU
99 input niu_sio_dq INPUT_EDGE verilog_node TDS_DUV_PATH.niu_sio_dq"; // dq signal for output queue
100
101 input niu_reset_l INPUT_EDGE verilog_node TDS_DUV_PATH.rst_por_"; // dq signal for output queue VJH
102
103 output sii_niu_oqdq OUTPUT_EDGE verilog_node TDS_DUV_PATH.sii_niu_oqdq" ; // Asserted when SIU dqs an NIU entry from Ordered Queue
104 output sii_niu_bqdq OUTPUT_EDGE verilog_node TDS_DUV_PATH.sii_niu_bqdq" ; // Asserted when SIU dqs an NIU entry from Bypass Queue
105 output sio_niu_hdr_vld OUTPUT_EDGE verilog_node TDS_DUV_PATH.sio_niu_hdr_vld" ; // SIO requesting to send packet to Ethernet
106 output sio_niu_datareq OUTPUT_EDGE verilog_node TDS_DUV_PATH.sio_niu_datareq" ; // Valid during header phase only - 1=current request is a read data return
107 output [127:0] sio_niu_data OUTPUT_EDGE verilog_node TDS_DUV_PATH.sio_niu_data" ; // Packet from SIO to Ethernet
108 output [7:0] sio_niu_parity OUTPUT_EDGE verilog_node TDS_DUV_PATH.sio_niu_parity" ; // Packet parity from SIO to Ethernet
109
110}
111
112
113// RAS Interface signals
114
115interface ncu_smx_drv {
116 #ifdef NIU_GATE
117 input clk CLOCK verilog_node TDS_DUV_PATH.iol2clk";
118 #else
119 input clk CLOCK verilog_node TDS_DUV_PATH.niu_smx.niu_clk";
120 #endif
121
122 output ncu_niu_ctag_uei OUTPUT_EDGE verilog_node TDS_DUV_PATH.ncu_niu_ctag_uei";
123 output ncu_niu_ctag_cei OUTPUT_EDGE verilog_node TDS_DUV_PATH.ncu_niu_ctag_cei";
124 output ncu_niu_d_pei OUTPUT_EDGE verilog_node TDS_DUV_PATH.ncu_niu_d_pei ";
125
126 input niu_ncu_ctag_ue INPUT_EDGE verilog_node TDS_DUV_PATH.niu_ncu_ctag_ue";
127 input niu_ncu_ctag_ce INPUT_EDGE verilog_node TDS_DUV_PATH.niu_ncu_ctag_ce";
128 input niu_ncu_d_pe INPUT_EDGE verilog_node TDS_DUV_PATH.niu_ncu_d_pe ";
129
130}
131#endif
132
133
134// ports and binds to be moved to a different file
135port niu_siu_drv_iface {
136
137 clk;
138 niu_reset_l;
139 niu_sii_hdr_vld;
140 niu_sii_reqbypass;
141 niu_sii_datareq;
142 niu_sii_data;
143 niu_sii_parity;
144 niu_sio_dq;
145 sii_niu_oqdq;
146 sii_niu_bqdq;
147 sio_niu_hdr_vld;
148 sio_niu_datareq;
149 sio_niu_data;
150 sio_niu_parity;
151
152
153}
154
155bind niu_siu_drv_iface niu_siu_drv_pbind {
156
157 clk niu_siu_drv.clk;
158 niu_reset_l niu_siu_drv.niu_reset_l;
159 niu_sii_hdr_vld niu_siu_drv.niu_sii_hdr_vld;
160 niu_sii_reqbypass niu_siu_drv.niu_sii_reqbypass;
161 niu_sii_datareq niu_siu_drv.niu_sii_datareq;
162 niu_sii_data niu_siu_drv.niu_sii_data;
163 niu_sii_parity niu_siu_drv.niu_sii_parity;
164 niu_sio_dq niu_siu_drv.niu_sio_dq;
165
166 sii_niu_oqdq niu_siu_drv.sii_niu_oqdq;
167 sii_niu_bqdq niu_siu_drv.sii_niu_bqdq;
168 sio_niu_hdr_vld niu_siu_drv.sio_niu_hdr_vld;
169 sio_niu_datareq niu_siu_drv.sio_niu_datareq;
170 sio_niu_data niu_siu_drv.sio_niu_data;
171 sio_niu_parity niu_siu_drv.sio_niu_parity;
172
173}
174port ncu_smx_drv_iface {
175 clk;
176 ncu_niu_ctag_uei;
177 ncu_niu_ctag_cei;
178 ncu_niu_d_pei;
179 niu_ncu_ctag_ue;
180 niu_ncu_ctag_ce;
181 niu_ncu_d_pe;
182}
183bind ncu_smx_drv_iface ncu_smx_ras_pbind {
184 clk ncu_smx_drv.clk ;
185 ncu_niu_ctag_uei ncu_smx_drv.ncu_niu_ctag_uei;
186 ncu_niu_ctag_cei ncu_smx_drv.ncu_niu_ctag_cei;
187 ncu_niu_d_pei ncu_smx_drv.ncu_niu_d_pei ;
188 niu_ncu_ctag_ue ncu_smx_drv.niu_ncu_ctag_ue ;
189 niu_ncu_ctag_ce ncu_smx_drv.niu_ncu_ctag_ce ;
190 niu_ncu_d_pe ncu_smx_drv.niu_ncu_d_pe ;
191
192}
193
194
195
196
197/* Description of Signls from siu.sv
198
199 // ================== NIU =================
200 input niu_sii_hdr_vld; // Ethernet requesting to send packet to SIU
201 input niu_sii_reqbypass; // Ethernet requesting to send packet to bypass queue of SIU
202 input niu_sii_datareq; // Ethernet requesting to send packet w/data to SIU
203 // input niu_sii_datareq16; // Ethernet requesting to send packet w/16B only
204 input [127:0] niu_sii_data; // Packet from Ethernet to SIU
205 input [7:0] niu_sii_parity; // Packet parity from Ethernet to SIU
206 // input [15:0] niu_sii_be; // Packet byte enables from NIU to SIU
207 output sii_niu_oqdq; // Asserted when SIU dqs an NIU entry from Ordered Queue
208 output sii_niu_bqdq; // Asserted when SIU dqs an NIU entry from Bypass Queue
209 // ================== NIU =================
210
211 output sio_niu_hdr_vld; // SIO requesting to send packet to Ethernet
212 output sio_niu_datareq; // Valid during header phase only - 1=current request is a read data return
213 output [127:0] sio_niu_data; // Packet from SIO to Ethernet
214 output [7:0] sio_niu_parity; // Packet parity from SIO to Ethernet
215
216*/
217