Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / niu / rtl / niu_smx_req_sii.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: niu_smx_req_sii.v
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
36module niu_smx_req_sii(
37/*AUTOARG*/
38 // Outputs
39 niu_sii_hdr_vld, niu_sii_reqbypass, niu_sii_datareq, niu_sii_data,
40 niu_sii_parity, wreq_cmdff_rd, wreq_pcmd_ff_rd, rdreq_cmdff_rd,
41 wreq_dataff_rd, siireq_idle, sii_cs, arb_cs, tid_xmited_set,
42 tid_xmited_set_addr,
43 // Inputs
44 clk, reset_l, sii_niu_oqdq, sii_niu_bqdq, wreq_cmdff_rdata,
45 wreq_cmdff_empty, wreq_pcmd_ff_rdata, wreq_pcmd_ff_empty,
46 rdreq_cmdff_rdata, rdreq_cmdff_empty, wreq_dataff_rdata,
47 wreq_dataff_empty, tid_valid_rdata_bus
48 );
49
50input clk;
51input reset_l;
52
53// sii interface
54output niu_sii_hdr_vld;
55output niu_sii_reqbypass;
56output niu_sii_datareq;
57output [127:0] niu_sii_data;
58output [7:0] niu_sii_parity;
59
60input sii_niu_oqdq;
61input sii_niu_bqdq;
62
63
64// wr cmdff if
65output wreq_cmdff_rd;
66input [65:0] wreq_cmdff_rdata;
67input wreq_cmdff_empty; // not use
68
69// wr pcmd ff if
70output wreq_pcmd_ff_rd;
71input [3:0] wreq_pcmd_ff_rdata;
72input wreq_pcmd_ff_empty; // use this as wr req empty status
73
74// rd cmdff if
75output rdreq_cmdff_rd;
76input [65:0] rdreq_cmdff_rdata;
77input rdreq_cmdff_empty;
78
79// dataff if
80output wreq_dataff_rd;
81input [127:0] wreq_dataff_rdata;
82input wreq_dataff_empty; // not use for now???
83
84// stall_hdlr if
85output siireq_idle;
86
87output [1:0] sii_cs;
88output [1:0] arb_cs;
89
90// added 121405
91input [63:0] tid_valid_rdata_bus;
92// status file interface
93output tid_xmited_set; // rst by sii_req
94output [5:0] tid_xmited_set_addr;
95
96
97wire [128:0] arb_hdr_data;
98wire [127:0] wreq_dataff_rdata;
99wire [65:0] rdreq_cmdff_rdata;
100wire [5:0] tid_xmited_set_addr;
101
102wire arb_xmitflag;
103wire arb_rwflag;
104wire arb_bypass;
105wire siireq_nxt_xmit;
106wire ocr_avail;
107wire bcr_avail;
108wire o_enq;
109wire b_enq;
110
111niu_smx_sm_req_siireq siireq(
112 .clk (clk),
113 .reset_l (reset_l),
114 .niu_sii_hdr_vld (niu_sii_hdr_vld),
115 .niu_sii_reqbypass (niu_sii_reqbypass),
116 .niu_sii_datareq (niu_sii_datareq),
117 .niu_sii_data (niu_sii_data[127:0]),
118 .niu_sii_parity (niu_sii_parity[7:0]),
119 .xmitflag (arb_xmitflag),
120 .rwflag (arb_rwflag),
121 .hdr_data (arb_hdr_data[128:0]),
122 .bypass (arb_bypass),
123 .nxt_xmit (siireq_nxt_xmit),
124 .wreq_dataff_rd (wreq_dataff_rd),
125 .wreq_dataff_rdata (wreq_dataff_rdata[127:0]),
126 .wreq_dataff_empty (wreq_dataff_empty),
127 .sii_cs (sii_cs[1:0]),
128 .siireq_idle (siireq_idle),
129 .tid_xmited_set (tid_xmited_set),
130 .tid_xmited_set_addr (tid_xmited_set_addr[5:0])
131);
132
133niu_smx_sm_req_siiarb siiarb(
134 .clk (clk),
135 .reset_l (reset_l),
136 .wreq_cmdff_rd (wreq_cmdff_rd),
137 .wreq_cmdff_rdata (wreq_cmdff_rdata[65:0]),
138 .wreq_cmdff_empty (wreq_cmdff_empty),
139 .wreq_pcmd_ff_rd (wreq_pcmd_ff_rd),
140 .wreq_pcmd_ff_rdata (wreq_pcmd_ff_rdata[3:0]),
141 .wreq_pcmd_ff_empty (wreq_pcmd_ff_empty),
142 .rdreq_cmdff_rd (rdreq_cmdff_rd),
143 .rdreq_cmdff_rdata (rdreq_cmdff_rdata[65:0]),
144 .rdreq_cmdff_empty (rdreq_cmdff_empty),
145 .xmitflag (arb_xmitflag),
146 .rwflag (arb_rwflag),
147 .hdr_data (arb_hdr_data[128:0]),
148 .bypass (arb_bypass),
149 .nxt_xmit (siireq_nxt_xmit),
150 .ocr_avail (ocr_avail),
151 .bcr_avail (bcr_avail),
152 .o_enq (o_enq),
153 .b_enq (b_enq),
154 .arb_cs (arb_cs[1:0]),
155 .tid_valid_rdata_bus (tid_valid_rdata_bus[63:0])
156);
157
158niu_smx_req_sii_cr sii_cr(
159 .clk (clk),
160 .reset_l (reset_l),
161 .sii_niu_oqdq (sii_niu_oqdq),
162 .sii_niu_bqdq (sii_niu_bqdq),
163 .o_enq (o_enq),
164 .b_enq (b_enq),
165 .ocr_avail (ocr_avail),
166 .bcr_avail (bcr_avail)
167);
168
169endmodule
170
171