Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | // ========== Copyright Header Begin ========================================== |
2 | // | |
3 | // OpenSPARC T2 Processor File: fc_niu_ev2a.vr | |
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 "niu_pktgen_csr_ev2a.vrh" | |
36 | ||
37 | #include "std_display_class.vrh" | |
38 | extern StandardDisplay gDbg; | |
39 | #define STD_DISP gDbg | |
40 | ||
41 | #include "memArray.vrh" | |
42 | extern MemArray gMem; | |
43 | ||
44 | #include "niu_mem.vrh" | |
45 | extern CSparseMem SparseMem; | |
46 | ||
47 | #ifdef FC_NO_PEU_VERA | |
48 | #ifdef USE_BOBO | |
49 | extern hdl_task bobo_write_64bit (bit [39:0] pa, | |
50 | bit [63:0] data64 | |
51 | ); | |
52 | #else | |
53 | #ifndef FC_NO_PEU_VERA | |
54 | extern hdl_task pep_write_32bit (bit [39:0] pa, | |
55 | bit [31:0] data32 | |
56 | ); | |
57 | #endif | |
58 | #endif // USE_BOBO | |
59 | #endif // FC_NO_PEU_VERA | |
60 | ||
61 | ||
62 | /* Utility function used by other Fc_Niu_Ev2a functions */ | |
63 | task Fc_Niu_Ev2a_write1 (bit [63:0] data, | |
64 | bit [63:0] memArray_addr, | |
65 | string func_name) | |
66 | { | |
67 | bit [7:0] be = 8'hff; | |
68 | bit [63:0] Rdata0; | |
69 | ||
70 | Rdata0 = {data[7:0], | |
71 | data[15:8], | |
72 | data[23:16], | |
73 | data[31:24], | |
74 | data[39:32], | |
75 | data[47:40], | |
76 | data[55:48], | |
77 | data[63:56]}; | |
78 | SparseMem.WriteMem(memArray_addr, Rdata0, be); | |
79 | PR_INFO("fc_niu_ev2a", MON_INFO, | |
80 | psprintf("MAQ-Debug : %s Addr = 64'h%h, Data = %h, Rdata = %h \n ", | |
81 | func_name, memArray_addr, data, Rdata0 )); | |
82 | gMem.writeBM (memArray_addr, data, be); | |
83 | #ifdef FC_NO_PEU_VERA | |
84 | #ifdef USE_BOBO | |
85 | bobo_write_64bit(memArray_addr[39:0], Rdata0[63:0]); | |
86 | #else | |
87 | #ifndef FC_NO_PEU_VERA | |
88 | pep_write_32bit (memArray_addr[39:0], Rdata0[31:0]); | |
89 | pep_write_32bit (memArray_addr[39:0]+40'h4, Rdata0[63:32]); | |
90 | #endif | |
91 | #endif // USE_BOBO | |
92 | #endif // FC_NO_PEU_VERA | |
93 | } | |
94 | ||
95 | ||
96 | task Fc_Niu_Ev2a_setRxDmaCfig_1 (bit [63:0] data) | |
97 | { | |
98 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_RXDMA_CFIG1_0, | |
99 | "setRxDmaCfig_1"); | |
100 | /* | |
101 | // SparseMem.WriteMem(64'h200000800, data,8'hff); | |
102 | // printf("MAQ-Debug : setRxDmaCfig_1 Addr = 64'h200000800, Data = %h \n ", data ); | |
103 | data_tmp0 = data; | |
104 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
105 | SparseMem.WriteMem(64'hc100000800, Rdata0,8'hff); | |
106 | printf("MAQ-Debug : setRxDmaCfig_1 Addr = 64'hc100000800, Data = %h \n ", data ); | |
107 | printf("MAQ-Debug : setRxDmaCfig_1 Addr = 64'hc100000800, Data(Rdata) = %h \n ", Rdata0 ); | |
108 | ||
109 | memArray_addr = 64'hc100000800; | |
110 | be = 8'hff; | |
111 | gMem.writeBM (memArray_addr[63:0], data, be); | |
112 | printf("KHH-Debug : gMem.WriteBM setRxDmaCfig_1 Addr = 64'hc100000800, Data = %h \n ", data); | |
113 | */ | |
114 | } | |
115 | ||
116 | ||
117 | task Fc_Niu_Ev2a_setRxDmaCfig_1_1 (bit [63:0] data) | |
118 | { | |
119 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_RXDMA_CFIG1_1, | |
120 | "setRxDmaCfig_1_1"); | |
121 | /* | |
122 | // SparseMem.WriteMem(64'h200000a00, {32'h0000_0000, 24'h800000, mailbox_address[39:32]},8'hff); | |
123 | // printf("MAQ-Debug : setRxDmaCfig_1_1 Addr = 64'h200000a00, Data = %h \n ", {32'h0000_0000, 24'h800000, mailbox_address[39:32]}); | |
124 | data_tmp1 = {32'h0000_0000, 24'h800000, mailbox_address[39:32]}; | |
125 | Rdata1 = {data_tmp1[7:0],data_tmp1[15:8],data_tmp1[23:16],data_tmp1[31:24],data_tmp1[39:32],data_tmp1[47:40],data_tmp1[55:48],data_tmp1[63:56]}; | |
126 | SparseMem.WriteMem(64'hc100000a00, Rdata1,8'hff); | |
127 | printf("MAQ-Debug : setRxDmaCfig_1_1 Addr = 64'hc100000a00, Data = %h \n ", {32'h0000_0000, 24'h800000, mailbox_address[39:32]}); | |
128 | printf("MAQ-Debug : setRxDmaCfig_1_1 Addr = 64'hc100000a00, Data(Rdata) = %h \n ", Rdata1); | |
129 | ||
130 | memArray_addr = 64'hc100000a00; | |
131 | be = 8'hff; | |
132 | gMem.writeBM (memArray_addr[63:0], {32'h0000_0000, 24'h800000, mailbox_address[39:32]}, be); | |
133 | printf("KHH-Debug : gMem.WriteBM setRxDmaCfig_1_1 Addr = 64'hc100000a00, Data = %h \n ", {32'h0000_0000, 24'h800000, mailbox_address[39:32]}); | |
134 | */ | |
135 | } | |
136 | ||
137 | ||
138 | task Fc_Niu_Ev2a_setRxDmaCfig_2 (bit [63:0] data) | |
139 | { | |
140 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_RXDMA_CFIG2, | |
141 | "RXDMA_CFIG2_START"); | |
142 | /* | |
143 | bit [7:0] be = 8'hff; | |
144 | bit [63:0] memArray_addr; | |
145 | bit [63:0] data_tmp0; | |
146 | bit [63:0] Rdata0; | |
147 | ||
148 | // SparseMem.WriteMem(64'h200000900, {32'h0000_0000, mailbox_address[31:6], 6'h00},8'hff); | |
149 | // printf("MAQ-Debug : RXDMA_CFIG2_START Addr = 64'h200000900, Data = %h \n ", {32'h0000_0000, mailbox_address[31:6], 6'h00} ); | |
150 | data_tmp0 = {32'h0000_0000, mailbox_address[31:6], 6'h00}; | |
151 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
152 | SparseMem.WriteMem(64'hc100000900, Rdata0,8'hff); | |
153 | printf("MAQ-Debug : RXDMA_CFIG2_START Addr = 64'hc100000900, Data = %h \n ", {32'h0000_0000, mailbox_address[31:6], 6'h00} ); | |
154 | printf("MAQ-Debug : RXDMA_CFIG2_START Addr = 64'hc100000900, Data(Rdata) = %h \n ", Rdata0 ); | |
155 | ||
156 | memArray_addr = 64'hc100000900; | |
157 | be = 8'hff; | |
158 | gMem.writeBM (memArray_addr[63:0], {32'h0000_0000, mailbox_address[31:6], 6'h00}, be); | |
159 | printf("KHH-Debug : gMem.WriteBM RXDMA_CFIG2_START Addr = 64'hc100000900, Data = %h \n ", {32'h0000_0000, mailbox_address[31:6], 6'h00}); | |
160 | */ | |
161 | } | |
162 | ||
163 | ||
164 | task Fc_Niu_Ev2a_SetPage0Registers (bit [31:0] mask, | |
165 | bit [31:0] value, | |
166 | bit [31:0] reloc) | |
167 | { | |
168 | Fc_Niu_Ev2a_write1({32'h0,mask}, NIU_PKTGEN_CSR_EV2A_RX_LOG_MASK1, | |
169 | "RX_LOG_MASK1_START"); | |
170 | Fc_Niu_Ev2a_write1({32'h0,value}, NIU_PKTGEN_CSR_EV2A_RX_LOG_VAL1, | |
171 | "RX_LOG_VAL1_START"); | |
172 | Fc_Niu_Ev2a_write1({32'h0,reloc}, NIU_PKTGEN_CSR_EV2A_RX_LOG_RELO1, | |
173 | "RX_LOG_RELO1_START"); | |
174 | /* | |
175 | bit [7:0] be = 8'hff; | |
176 | bit [63:0] memArray_addr; | |
177 | bit [63:0] Rdata0; | |
178 | bit [63:0] Rdata1; | |
179 | bit [63:0] Rdata2; | |
180 | bit [63:0] data_tmp0; | |
181 | bit [63:0] data_tmp1; | |
182 | bit [63:0] data_tmp2; | |
183 | ||
184 | // SparseMem.WriteMem(64'h200000100, {32'h0,mask},8'hff); | |
185 | // SparseMem.WriteMem(64'h200000200, {32'h0,value},8'hff); | |
186 | // SparseMem.WriteMem(64'h200000300, {32'h0,reloc},8'hff); | |
187 | // printf("MAQ-Debug : RX_LOG_MASK1_START Addr = 64'h200000100, Data = %h \n ", {32'h0,mask} ); | |
188 | // printf("MAQ-Debug : RX_LOG_VAL1_START Addr = 64'h200000100, Data = %h \n ", {32'h0,value} ); | |
189 | // printf("MAQ-Debug : RX_LOG_RELO1_START Addr = 64'h200000100, Data = %h \n ", {32'h0,reloc} ); | |
190 | data_tmp0 = {32'h0,mask}; | |
191 | data_tmp1 = {32'h0,value}; | |
192 | data_tmp2 = {32'h0,reloc}; | |
193 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
194 | Rdata1 = {data_tmp1[7:0],data_tmp1[15:8],data_tmp1[23:16],data_tmp1[31:24],data_tmp1[39:32],data_tmp1[47:40],data_tmp1[55:48],data_tmp1[63:56]}; | |
195 | Rdata2 = {data_tmp2[7:0],data_tmp2[15:8],data_tmp2[23:16],data_tmp2[31:24],data_tmp2[39:32],data_tmp2[47:40],data_tmp2[55:48],data_tmp2[63:56]}; | |
196 | SparseMem.WriteMem(64'hc100000100, Rdata0,8'hff); | |
197 | SparseMem.WriteMem(64'hc100000200, Rdata1,8'hff); | |
198 | SparseMem.WriteMem(64'hc100000300, Rdata2,8'hff); | |
199 | printf("MAQ-Debug : RX_LOG_MASK1_START Addr = 64'hc100000100, Data = %h \n ", {32'h0,mask} ); | |
200 | printf("MAQ-Debug : RX_LOG_VAL1_START Addr = 64'hc100000200, Data = %h \n ", {32'h0,value} ); | |
201 | printf("MAQ-Debug : RX_LOG_RELO1_START Addr = 64'hc100000300, Data = %h \n ", {32'h0,reloc} ); | |
202 | printf("MAQ-Debug : RX_LOG_MASK1_START Addr = 64'hc100000100, Data(Rdata) = %h \n ", Rdata0 ); | |
203 | printf("MAQ-Debug : RX_LOG_VAL1_START Addr = 64'hc100000200, Data(Rdata) = %h \n ", Rdata1 ); | |
204 | printf("MAQ-Debug : RX_LOG_RELO1_START Addr = 64'hc100000300, Data(Rdata) = %h \n ", Rdata2 ); | |
205 | ||
206 | memArray_addr = 64'hc100000100; | |
207 | be = 8'hff; | |
208 | gMem.writeBM (memArray_addr[63:0], {32'h0,mask}, be); | |
209 | ||
210 | memArray_addr = 64'hc100000200; | |
211 | gMem.writeBM (memArray_addr[63:0], {32'h0,value}, be); | |
212 | ||
213 | memArray_addr = 64'hc100000300; | |
214 | gMem.writeBM (memArray_addr[63:0], {32'h0,reloc}, be); | |
215 | printf("KHH-Debug : gMem.WriteBM RX_LOG_MASK1_START Addr = 64'hc100000100, Data = %h \n ", {32'h0,mask}); | |
216 | printf("KHH-Debug : gMem.WriteBM RX_LOG_VAL1_START Addr = 64'hc100000200, Data = %h \n ", {32'h0,value}); | |
217 | printf("KHH-Debug : gMem.WriteBM RX_LOG_RELO1_START Addr = 64'hc100000300, Data = %h \n ", {32'h0,reloc}); | |
218 | */ | |
219 | } | |
220 | ||
221 | ||
222 | task Fc_Niu_Ev2a_SetPage1Registers (bit [31:0] mask, | |
223 | bit [31:0] value, | |
224 | bit [31:0] reloc) | |
225 | { | |
226 | Fc_Niu_Ev2a_write1({32'h0,mask}, NIU_PKTGEN_CSR_EV2A_RX_LOG_MASK2, | |
227 | "RX_LOG_MASK2_START"); | |
228 | Fc_Niu_Ev2a_write1({32'h0,value}, NIU_PKTGEN_CSR_EV2A_RX_LOG_VAL2, | |
229 | "RX_LOG_VAL2_START"); | |
230 | Fc_Niu_Ev2a_write1({32'h0,reloc}, NIU_PKTGEN_CSR_EV2A_RX_LOG_RELO2, | |
231 | "RX_LOG_RELO2_START"); | |
232 | /* | |
233 | bit [63:0] memArray_addr; | |
234 | bit [7:0] be = 8'hff; | |
235 | bit [63:0] Rdata0; | |
236 | bit [63:0] Rdata1; | |
237 | bit [63:0] Rdata2; | |
238 | bit [63:0] data_tmp0; | |
239 | bit [63:0] data_tmp1; | |
240 | bit [63:0] data_tmp2; | |
241 | ||
242 | // SparseMem.WriteMem(64'h200000c00, {32'h0,mask},8'hff); | |
243 | // SparseMem.WriteMem(64'h200000d00, {32'h0,value},8'hff); | |
244 | // SparseMem.WriteMem(64'h200000e00, {32'h0,reloc},8'hff); | |
245 | // printf("MAQ-Debug : RX_LOG_MASK2_START Addr = 64'h200000c00, Data = %h \n ", {32'h0,mask} ); | |
246 | // printf("MAQ-Debug : RX_LOG_VAL2_START Addr = 64'h200000d00, Data = %h \n ", {32'h0,value} ); | |
247 | // printf("MAQ-Debug : RX_LOG_RELO2_START Addr = 64'h200000e00, Data = %h \n ", {32'h0,reloc} ); | |
248 | data_tmp0 = {32'h0,mask}; | |
249 | data_tmp1 = {32'h0,value}; | |
250 | data_tmp2 = {32'h0,reloc}; | |
251 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
252 | Rdata1 = {data_tmp1[7:0],data_tmp1[15:8],data_tmp1[23:16],data_tmp1[31:24],data_tmp1[39:32],data_tmp1[47:40],data_tmp1[55:48],data_tmp1[63:56]}; | |
253 | Rdata2 = {data_tmp2[7:0],data_tmp2[15:8],data_tmp2[23:16],data_tmp2[31:24],data_tmp2[39:32],data_tmp2[47:40],data_tmp2[55:48],data_tmp2[63:56]}; | |
254 | SparseMem.WriteMem(64'hc100000c00, Rdata0,8'hff); | |
255 | SparseMem.WriteMem(64'hc100000d00, Rdata1,8'hff); | |
256 | SparseMem.WriteMem(64'hc100000e00, Rdata2,8'hff); | |
257 | printf("MAQ-Debug : RX_LOG_MASK2_START Addr = 64'hc100000c00, Data = %h \n ", {32'h0,mask} ); | |
258 | printf("MAQ-Debug : RX_LOG_VAL2_START Addr = 64'hc100000d00, Data = %h \n ", {32'h0,value} ); | |
259 | printf("MAQ-Debug : RX_LOG_RELO2_START Addr = 64'hc100000e00, Data = %h \n ", {32'h0,reloc} ); | |
260 | printf("MAQ-Debug : RX_LOG_MASK2_START Addr = 64'hc100000c00, Data(Rdata) = %h \n ", Rdata0 ); | |
261 | printf("MAQ-Debug : RX_LOG_VAL2_START Addr = 64'hc100000d00, Data(Rdata) = %h \n ", Rdata1 ); | |
262 | printf("MAQ-Debug : RX_LOG_RELO2_START Addr = 64'hc100000e00, Data(Rdata) = %h \n ", Rdata2 ); | |
263 | ||
264 | memArray_addr = 64'hc100000c00; | |
265 | be = 8'hff; | |
266 | gMem.writeBM (memArray_addr[63:0], {32'h0,mask}, be); | |
267 | ||
268 | memArray_addr = 64'hc100000d00; | |
269 | gMem.writeBM (memArray_addr[63:0], {32'h0,value}, be); | |
270 | ||
271 | memArray_addr = 64'hc100000e00; | |
272 | gMem.writeBM (memArray_addr[63:0], {32'h0,reloc}, be); | |
273 | printf("KHH-Debug : gMem.WriteBM RX_LOG_MASK2_START Addr = 64'hc100000c00, Data = %h \n ", {32'h0,mask}); | |
274 | printf("KHH-Debug : gMem.WriteBM RX_LOG_VAL2_START Addr = 64'hc100000d00, Data = %h \n ", {32'h0,value}); | |
275 | printf("KHH-Debug : gMem.WriteBM RX_LOG_RELO2_START Addr = 64'hc100000e00, Data = %h \n ", {32'h0,reloc}); | |
276 | */ | |
277 | } | |
278 | ||
279 | ||
280 | task Fc_Niu_Ev2a_setRxLogPgVld (bit [63:0] data) | |
281 | { | |
282 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_RX_LOG_PAGE_VLD, | |
283 | "RX_LOG_PAGE_VLD"); | |
284 | /* | |
285 | bit [63:0] Rdata0; | |
286 | bit [63:0] data_tmp0; | |
287 | bit [63:0] memArray_addr; | |
288 | bit [7:0] be = 8'hff; | |
289 | ||
290 | // SparseMem.WriteMem(64'h200000400, data,8'hff); | |
291 | // printf("MAQ-Debug : RX_LOG_PAGE_VLD Addr = 64'h200000400, Data = %h \n ", data ); | |
292 | data_tmp0 = data; | |
293 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
294 | SparseMem.WriteMem(64'hc100000400, Rdata0,8'hff); | |
295 | printf("MAQ-Debug : RX_LOG_PAGE_VLD Addr = 64'hc100000400, Data = %h \n ", data ); | |
296 | printf("MAQ-Debug : RX_LOG_PAGE_VLD Addr = 64'hc100000400, Data(Rdata) = %h \n ", Rdata0 ); | |
297 | ||
298 | memArray_addr = 64'hc100000400; | |
299 | be = 8'hff; | |
300 | gMem.writeBM (memArray_addr[63:0], data, be); | |
301 | printf("KHH-Debug : gMem.WriteBM RX_LOG_PAGE_VLD Addr = 64'hc100000400, Data = %h \n ", data); | |
302 | */ | |
303 | } | |
304 | ||
305 | ||
306 | task Fc_Niu_Ev2a_setRbrConfig_A (bit [63:0] data) | |
307 | { | |
308 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_RBR_CFIG_A, | |
309 | "setRbrConfig_A"); | |
310 | /* | |
311 | bit [63:0] Rdata0; | |
312 | bit [63:0] data_tmp0; | |
313 | bit [63:0] memArray_addr; | |
314 | bit [7:0] be = 8'hff; | |
315 | ||
316 | // SparseMem.WriteMem(64'h200000500, config_rbr_data1,8'hff); | |
317 | // printf("MAQ-Debug : setRbrConfig_A Addr = 64'h200000500, Data = %h \n ", config_rbr_data1 ); | |
318 | data_tmp0 = config_rbr_data1; | |
319 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
320 | SparseMem.WriteMem(64'hc100000500, Rdata0,8'hff); | |
321 | printf("MAQ-Debug : setRbrConfig_A Addr = 64'hc100000500, Data = %h \n ", config_rbr_data1 ); | |
322 | printf("MAQ-Debug : setRbrConfig_A Addr = 64'hc100000500, Data(Rdata) = %h \n ", Rdata0 ); | |
323 | ||
324 | // peutest.env.N2fcWrMem(64'hc100000500, config_rbr_data1[31:0],8'hf); | |
325 | // printf("KHH-Debug : setRbrConfig_A Addr = 64'hc100000500, Data = %h \n ", config_rbr_data1[31:0]); | |
326 | // peutest.env.N2fcWrMem(64'hc100000504, config_rbr_data1[63:32],8'hf); | |
327 | // printf("KHH-Debug : setRbrConfig_A Addr = 64'hc100000504, Data = %h \n ", config_rbr_data1[63:32]); | |
328 | ||
329 | // SparseMem.WriteMem(64'hc100000500, config_rbr_data1,8'hff); | |
330 | // printf("MAQ-Debug : setRbrConfig_A Addr = 64'hc100000500, Data = %h \n ", config_rbr_data1 ); | |
331 | ||
332 | memArray_addr = 64'hc100000500; | |
333 | be = 8'hff; | |
334 | gMem.writeBM (memArray_addr[63:0], config_rbr_data1, be); | |
335 | printf("KHH-Debug : gMem.WriteBM setRbrConfig_A Addr = 64'hc100000500, Data = %h \n ", config_rbr_data1[31:0]); | |
336 | */ | |
337 | } | |
338 | ||
339 | ||
340 | task Fc_Niu_Ev2a_setRbrConfig_B (bit [63:0] data) | |
341 | { | |
342 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_RBR_CFIG_B, | |
343 | "setRbrConfig_B"); | |
344 | /* | |
345 | bit [63:0] Rdata0; | |
346 | bit [63:0] data_tmp0; | |
347 | bit [63:0] memArray_addr; | |
348 | bit [7:0] be = 8'hff; | |
349 | ||
350 | // SparseMem.WriteMem(64'h200000600, data,8'hff); | |
351 | // printf("MAQ-Debug : setRbrConfig_B Addr = 64'h200000600, Data = %h \n ", data ); | |
352 | data_tmp0 = data; | |
353 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
354 | SparseMem.WriteMem(64'hc100000600, Rdata0,8'hff); | |
355 | printf("MAQ-Debug : setRbrConfig_B Addr = 64'hc100000600, Data = %h \n ", data ); | |
356 | printf("MAQ-Debug : setRbrConfig_B Addr = 64'hc100000600, Data(Rdata) = %h \n ", Rdata0 ); | |
357 | ||
358 | memArray_addr = 64'hc100000600; | |
359 | be = 8'hff; | |
360 | gMem.writeBM (memArray_addr[63:0], data, be); | |
361 | printf("KHH-Debug : gMem.WriteBM setRbrConfig_B Addr = 64'hc100000600, Data = %h \n ", data); | |
362 | */ | |
363 | } | |
364 | ||
365 | ||
366 | task Fc_Niu_Ev2a_setRxRingKick (bit [63:0] data) | |
367 | { | |
368 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_RBR_KICK, | |
369 | "setRxRingKick"); | |
370 | /* | |
371 | bit [63:0] memArray_addr; | |
372 | bit [63:0] Rdata0; | |
373 | bit [63:0] data_tmp0; | |
374 | bit [7:0] be = 8'hff; | |
375 | ||
376 | // SparseMem.WriteMem(64'h200000b00, data,8'hff); | |
377 | // printf("MAQ-Debug : setRxRingKick Addr = 64'h200000b00, Data = %h \n ", data ); | |
378 | data_tmp0 = data; | |
379 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
380 | SparseMem.WriteMem(64'hc100000b00, Rdata0,8'hff); | |
381 | printf("MAQ-Debug : setRxRingKick Addr = 64'hc100000b00, Data = %h \n ", data ); | |
382 | printf("MAQ-Debug : setRxRingKick Addr = 64'hc100000b00, Data(Rdata) = %h \n ", Rdata0 ); | |
383 | ||
384 | memArray_addr = 64'hc100000b00; | |
385 | be = 8'hff; | |
386 | gMem.writeBM (memArray_addr[63:0], data, be); | |
387 | printf("KHH-Debug : gMem.WriteBM setRxRingKick Addr = 64'hc100000b00, Data = %h \n ", data); | |
388 | */ | |
389 | } | |
390 | ||
391 | ||
392 | task Fc_Niu_Ev2a_setRcrConfig_A (bit [63:0] data) | |
393 | { | |
394 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_RCR_CFIG_A, | |
395 | "setRcrConfig_A"); | |
396 | /* | |
397 | bit[63:0] Rdata0; | |
398 | bit[63:0] data_tmp0; | |
399 | bit [63:0] memArray_addr; | |
400 | bit [7:0] be = 8'hff; | |
401 | ||
402 | // SparseMem.WriteMem(64'h200000700, data,8'hff); | |
403 | // printf("MAQ-Debug : setRcrConfig_A Addr = 64'h200000700, Data = %h \n ", data ); | |
404 | data_tmp0 = data; | |
405 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
406 | SparseMem.WriteMem(64'hc100000700, Rdata0,8'hff); | |
407 | printf("MAQ-Debug : setRcrConfig_A Addr = 64'hc100000700, Data = %h \n ", data ); | |
408 | printf("MAQ-Debug : setRcrConfig_A Addr = 64'hc100000700, Data(Rdata) = %h \n ", Rdata0 ); | |
409 | ||
410 | memArray_addr = 64'hc100000700; | |
411 | be = 8'hff; | |
412 | gMem.writeBM (memArray_addr[63:0], data, be); | |
413 | printf("KHH-Debug : gMem.WriteBM setRcrConfig_A Addr = 64'hc100000700, Data = %h \n ", data); | |
414 | */ | |
415 | } | |
416 | ||
417 | ||
418 | //////////////////////////////////////////////////////////////////////////// | |
419 | //////////////////////////////////////////////////////////////////////////// | |
420 | ||
421 | task Fc_Niu_Ev2a_setTxRingConfig (bit [63:0] data) | |
422 | { | |
423 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_TX_RNG_CFIG, | |
424 | "setTxRingConfig"); | |
425 | /* | |
426 | bit [63:0] data_tmp0; | |
427 | bit [63:0] Rdata0; | |
428 | bit [63:0] memArray_addr; | |
429 | bit [7:0] be = 8'hff; | |
430 | ||
431 | data_tmp0 = data; | |
432 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
433 | // SparseMem.WriteMem(64'h100000000, config_data,8'hff); | |
434 | SparseMem.WriteMem(64'hc100001000, Rdata0,8'hff); | |
435 | printf("MAQ-Debug : setTxRingConfig Addr = 64'hc100001000, Data = %h \n ", data ); | |
436 | printf("MAQ-Debug : setTxRingConfig Addr = 64'hc100001000, Data(Rdata) = %h \n ", Rdata0); | |
437 | ||
438 | memArray_addr = 64'hc100001000; | |
439 | be = 8'hff; | |
440 | gMem.writeBM (memArray_addr[63:0], data, be); | |
441 | printf("KHH-Debug : gMem.WriteBM setTxRingConfig Addr = 64'hc100001000, Data = %h \n ", config_data); | |
442 | */ | |
443 | } | |
444 | ||
445 | ||
446 | task Fc_Niu_Ev2a_setTxRingKick (bit [63:0] data) | |
447 | { | |
448 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_TX_RNG_KICK, | |
449 | "setTxRingKick"); | |
450 | /* | |
451 | bit [63:0] data_tmp0; | |
452 | bit [63:0] Rdata0; | |
453 | bit [63:0] memArray_addr; | |
454 | bit [7:0] be = 8'hff; | |
455 | ||
456 | // Write the Kick data for Core to program | |
457 | data_tmp0 = ac_data; | |
458 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
459 | // SparseMem.WriteMem(64'h100000100, ac_data,8'hff); | |
460 | SparseMem.WriteMem(64'hc100001100, Rdata0,8'hff); | |
461 | printf("MAQ-Debug : setTxRingKick Addr = 64'hc100001100, Data = %h \n ", ac_data ); | |
462 | printf("MAQ-Debug : setTxRingKick Addr = 64'hc100001100, Data(Rdata) = %h \n ", Rdata0); | |
463 | ||
464 | memArray_addr = 64'hc100001100; | |
465 | be = 8'hff; | |
466 | gMem.writeBM (memArray_addr[63:0], ac_data, be); | |
467 | printf("KHH-Debug : gMem.WriteBM setTxRingKick = 64'hc100001100, Data = %h \n ", ac_data); | |
468 | */ | |
469 | } | |
470 | ||
471 | ||
472 | task Fc_Niu_Ev2a_SetTxLPValid (bit [63:0] data) | |
473 | { | |
474 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_TX_LOG_PAGE_VLD, | |
475 | "SetTxLPValid"); | |
476 | /* | |
477 | bit [63:0] data_tmp0; | |
478 | bit [63:0] Rdata0; | |
479 | bit [63:0] memArray_addr; | |
480 | bit [7:0] be = 8'hff; | |
481 | ||
482 | data_tmp0 = data; | |
483 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
484 | // SparseMem.WriteMem(64'h100000800, data,8'hff); | |
485 | SparseMem.WriteMem(64'hc100001800, Rdata0,8'hff); | |
486 | printf("MAQ-Debug : SetTxLPValid Addr = 64'hc100001800, Data = %h \n ", data ); | |
487 | printf("MAQ-Debug : SetTxLPValid Addr = 64'hc100001800, Data(Rdata) = %h \n ", Rdata0); | |
488 | ||
489 | memArray_addr = 64'hc100001800; | |
490 | be = 8'hff; | |
491 | gMem.writeBM (memArray_addr[63:0], data, be); | |
492 | printf("KHH-Debug : gMem.WriteBM SetTxLPValid = 64'hc100001800, Data = %h \n ", data); | |
493 | */ | |
494 | } | |
495 | ||
496 | ||
497 | task Fc_Niu_Ev2a_SetTxLPMask1 (bit [63:0] data) | |
498 | { | |
499 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_TX_LOG_MASK1, | |
500 | "SetTxLPMask1"); | |
501 | /* | |
502 | bit [63:0] data_tmp0; | |
503 | bit [63:0] Rdata0; | |
504 | bit [63:0] memArray_addr; | |
505 | bit [7:0] be = 8'hff; | |
506 | ||
507 | data_tmp0 = data; | |
508 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
509 | // SparseMem.WriteMem(64'h100000200, data,8'hff); | |
510 | SparseMem.WriteMem(64'hc100001200, Rdata0,8'hff); | |
511 | printf("MAQ-Debug : SetTxLPMask1 Addr = 64'hc100001200, Data = %h \n ", data ); | |
512 | printf("MAQ-Debug : SetTxLPMask1 Addr = 64'hc100001200, Data(Rdata) = %h \n ", Rdata0); | |
513 | ||
514 | memArray_addr = 64'hc100001200; | |
515 | be = 8'hff; | |
516 | gMem.writeBM (memArray_addr[63:0], data, be); | |
517 | printf("KHH-Debug : gMem.WriteBM SetTxLPMask1 = 64'hc100001200, Data = %h \n ", data); | |
518 | */ | |
519 | } | |
520 | ||
521 | ||
522 | task Fc_Niu_Ev2a_SetTxLPValue1 (bit [63:0] data) | |
523 | { | |
524 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_TX_LOG_VALUE1, | |
525 | "SetTxLPValue1"); | |
526 | /* | |
527 | bit [63:0] data_tmp0; | |
528 | bit [63:0] Rdata0; | |
529 | bit [63:0] memArray_addr; | |
530 | bit [7:0] be = 8'hff; | |
531 | ||
532 | data_tmp0 = data; | |
533 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
534 | // SparseMem.WriteMem(64'h100000300, data,8'hff); | |
535 | SparseMem.WriteMem(64'hc100001300, Rdata0,8'hff); | |
536 | printf("MAQ-Debug : SetTxLPValue1 Addr = 64'hc100001300, Data = %h \n ", data ); | |
537 | printf("MAQ-Debug : SetTxLPValue1 Addr = 64'hc100001300, Data(Rdata) = %h \n ", Rdata0); | |
538 | ||
539 | memArray_addr = 64'hc100001300; | |
540 | be = 8'hff; | |
541 | gMem.writeBM (memArray_addr[63:0], data, be); | |
542 | printf("KHH-Debug : gMem.WriteBM SetTxLPValue1 = 64'hc100001300, Data = %h \n ", data); | |
543 | */ | |
544 | } | |
545 | ||
546 | ||
547 | task Fc_Niu_Ev2a_SetTxLPMask2 (bit [63:0] data) | |
548 | { | |
549 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_TX_LOG_MASK2, | |
550 | "SetTxLPMask2"); | |
551 | /* | |
552 | bit [63:0] data_tmp0; | |
553 | bit [63:0] Rdata0; | |
554 | bit [63:0] memArray_addr; | |
555 | bit [7:0] be = 8'hff; | |
556 | ||
557 | data_tmp0 = data; | |
558 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
559 | // SparseMem.WriteMem(64'h100000500, data,8'hff); | |
560 | SparseMem.WriteMem(64'hc100001500, Rdata0,8'hff); | |
561 | printf("MAQ-Debug : SetTxLPMask2 Addr = 64'hc100001500, Data = %h \n ", data ); | |
562 | printf("MAQ-Debug : SetTxLPMask2 Addr = 64'hc100001500, Data(Rdata) = %h \n ", Rdata0); | |
563 | ||
564 | memArray_addr = 64'hc100001500; | |
565 | be = 8'hff; | |
566 | gMem.writeBM (memArray_addr[63:0], data, be); | |
567 | printf("KHH-Debug : gMem.WriteBM SetTxLPMask2 = 64'hc100001500, Data = %h \n ", data); | |
568 | */ | |
569 | } | |
570 | ||
571 | ||
572 | task Fc_Niu_Ev2a_SetTxLPValue2 (bit [63:0] data) | |
573 | { | |
574 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_TX_LOG_VALUE2, | |
575 | "SetTxLPValue2"); | |
576 | /* | |
577 | bit [63:0] data_tmp0; | |
578 | bit [63:0] Rdata0; | |
579 | bit [63:0] memArray_addr; | |
580 | bit [7:0] be = 8'hff; | |
581 | ||
582 | data_tmp0 = data; | |
583 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
584 | // SparseMem.WriteMem(64'h100000600, data,8'hff); | |
585 | SparseMem.WriteMem(64'hc100001600, Rdata0,8'hff); | |
586 | printf("MAQ-Debug : SetTxLPValue2 Addr = 64'hc100001600, Data = %h \n ", data ); | |
587 | printf("MAQ-Debug : SetTxLPValue2 Addr = 64'hc100001600, Data(Rdata) = %h \n ", Rdata0); | |
588 | ||
589 | memArray_addr = 64'hc100001600; | |
590 | be = 8'hff; | |
591 | gMem.writeBM (memArray_addr[63:0], data, be); | |
592 | printf("KHH-Debug : gMem.WriteBM SetTxLPValue2 = 64'hc100001600, Data = %h \n ", data); | |
593 | */ | |
594 | } | |
595 | ||
596 | ||
597 | task Fc_Niu_Ev2a_SetTxLPRELOC1 (bit [63:0] data) | |
598 | { | |
599 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_TX_LOG_PAGE_RELO1, | |
600 | "SetTxLPRELOC1"); | |
601 | /* | |
602 | bit [63:0] data_tmp0; | |
603 | bit [63:0] Rdata0; | |
604 | bit [63:0] memArray_addr; | |
605 | bit [7:0] be = 8'hff; | |
606 | ||
607 | data_tmp0 = data; | |
608 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
609 | // SparseMem.WriteMem(64'h100000400, data,8'hff); | |
610 | SparseMem.WriteMem(64'hc100001400, Rdata0,8'hff); | |
611 | printf("MAQ-Debug : SetTxLPRELOC1 Addr = 64'hc100001400, Data = %h \n ", data ); | |
612 | printf("MAQ-Debug : SetTxLPRELOC1 Addr = 64'hc100001400, Data(Rdata) = %h \n ", Rdata0); | |
613 | ||
614 | memArray_addr = 64'hc100001400; | |
615 | be = 8'hff; | |
616 | gMem.writeBM (memArray_addr[63:0], data, be); | |
617 | printf("KHH-Debug : gMem.WriteBM SetTxLPRELOC1 = 64'hc100001400, Data = %h \n ", data); | |
618 | */ | |
619 | } | |
620 | ||
621 | ||
622 | task Fc_Niu_Ev2a_SetTxLPRELOC2 (bit [63:0] data) | |
623 | { | |
624 | Fc_Niu_Ev2a_write1(data, NIU_PKTGEN_CSR_EV2A_TX_LOG_PAGE_RELO2, | |
625 | "SetTxLPRELOC2"); | |
626 | /* | |
627 | bit [63:0] data_tmp0; | |
628 | bit [63:0] Rdata0; | |
629 | bit [63:0] memArray_addr; | |
630 | bit [7:0] be = 8'hff; | |
631 | ||
632 | data_tmp0 = data; | |
633 | Rdata0 = {data_tmp0[7:0],data_tmp0[15:8],data_tmp0[23:16],data_tmp0[31:24],data_tmp0[39:32],data_tmp0[47:40],data_tmp0[55:48],data_tmp0[63:56]}; | |
634 | // SparseMem.WriteMem(64'h100000700, data,8'hff); | |
635 | SparseMem.WriteMem(64'hc100001700, Rdata0,8'hff); | |
636 | printf("MAQ-Debug : SetTxLPRELOC2 Addr = 64'hc100001700, Data = %h \n ", data ); | |
637 | printf("MAQ-Debug : SetTxLPRELOC2 Addr = 64'hc100001700, Data(Rdata) = %h \n ", Rdata0); | |
638 | ||
639 | memArray_addr = 64'hc100001700; | |
640 | be = 8'hff; | |
641 | gMem.writeBM (memArray_addr[63:0], data, be); | |
642 | printf("KHH-Debug : gMem.WriteBM SetTxLPRELOC2 = 64'hc100001700, Data = %h \n ", data); | |
643 | */ | |
644 | } |