Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / niu / rtl / niu_pio_imask0_decoder.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: niu_pio_imask0_decoder.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/*%W% %G%*/
36
37/*****************************************************************
38 *
39 * File Name : niu_pio_imask0_decoder.v
40 * Author Name : John Lo
41 * Description : It contains ldf_mask 0~63 read/write decoder,
42 *
43 * Parent Module: niu_pio_imask0_decoder.v
44 * Child Module:
45 * Interface Mod: many.
46 * Date Created : 3/30/04
47 *
48 * Copyright (c) 2020, Sun Microsystems, Inc.
49 * Sun Proprietary and Confidential
50 *
51 * Modification :
52 *
53 ****************************************************************/
54
55module niu_pio_imask0_decoder (/*AUTOARG*/
56 // Outputs
57 imask0_ack, imask0_rdata, imask0_err, ld_ldf_mask0, ld_ldf_mask1,
58 ld_ldf_mask2, ld_ldf_mask3, ld_ldf_mask4, ld_ldf_mask5,
59 ld_ldf_mask6, ld_ldf_mask7, ld_ldf_mask8, ld_ldf_mask9,
60 ld_ldf_mask10, ld_ldf_mask11, ld_ldf_mask12, ld_ldf_mask13,
61 ld_ldf_mask14, ld_ldf_mask15, ld_ldf_mask16, ld_ldf_mask17,
62 ld_ldf_mask18, ld_ldf_mask19, ld_ldf_mask20, ld_ldf_mask21,
63 ld_ldf_mask22, ld_ldf_mask23, ld_ldf_mask24, ld_ldf_mask25,
64 ld_ldf_mask26, ld_ldf_mask27, ld_ldf_mask28, ld_ldf_mask29,
65 ld_ldf_mask30, ld_ldf_mask31, ld_ldf_mask32, ld_ldf_mask33,
66 ld_ldf_mask34, ld_ldf_mask35, ld_ldf_mask36, ld_ldf_mask37,
67 ld_ldf_mask38, ld_ldf_mask39, ld_ldf_mask40, ld_ldf_mask41,
68 ld_ldf_mask42, ld_ldf_mask43, ld_ldf_mask44, ld_ldf_mask45,
69 ld_ldf_mask46, ld_ldf_mask47, ld_ldf_mask48, ld_ldf_mask49,
70 ld_ldf_mask50, ld_ldf_mask51, ld_ldf_mask52, ld_ldf_mask53,
71 ld_ldf_mask54, ld_ldf_mask55, ld_ldf_mask56, ld_ldf_mask57,
72 ld_ldf_mask58, ld_ldf_mask59, ld_ldf_mask60, ld_ldf_mask61,
73 ld_ldf_mask62, ld_ldf_mask63,
74 // Inputs
75 clk, reset, imask0_sel_reg, addr, rd, ldf_mask0, ldf_mask1,
76 ldf_mask2, ldf_mask3, ldf_mask4, ldf_mask5, ldf_mask6, ldf_mask7,
77 ldf_mask8, ldf_mask9, ldf_mask10, ldf_mask11, ldf_mask12,
78 ldf_mask13, ldf_mask14, ldf_mask15, ldf_mask16, ldf_mask17,
79 ldf_mask18, ldf_mask19, ldf_mask20, ldf_mask21, ldf_mask22,
80 ldf_mask23, ldf_mask24, ldf_mask25, ldf_mask26, ldf_mask27,
81 ldf_mask28, ldf_mask29, ldf_mask30, ldf_mask31, ldf_mask32,
82 ldf_mask33, ldf_mask34, ldf_mask35, ldf_mask36, ldf_mask37,
83 ldf_mask38, ldf_mask39, ldf_mask40, ldf_mask41, ldf_mask42,
84 ldf_mask43, ldf_mask44, ldf_mask45, ldf_mask46, ldf_mask47,
85 ldf_mask48, ldf_mask49, ldf_mask50, ldf_mask51, ldf_mask52,
86 ldf_mask53, ldf_mask54, ldf_mask55, ldf_mask56, ldf_mask57,
87 ldf_mask58, ldf_mask59, ldf_mask60, ldf_mask61, ldf_mask62,
88 ldf_mask63
89 );
90 input clk;
91 input reset;
92 input imask0_sel_reg;
93 // pio broadcast signals
94 input [18:0] addr;
95 input rd;
96 input [1:0] ldf_mask0 ;
97 input [1:0] ldf_mask1 ;
98 input [1:0] ldf_mask2 ;
99 input [1:0] ldf_mask3 ;
100 input [1:0] ldf_mask4 ;
101 input [1:0] ldf_mask5 ;
102 input [1:0] ldf_mask6 ;
103 input [1:0] ldf_mask7 ;
104 input [1:0] ldf_mask8 ;
105 input [1:0] ldf_mask9 ;
106 input [1:0] ldf_mask10;
107 input [1:0] ldf_mask11;
108 input [1:0] ldf_mask12;
109 input [1:0] ldf_mask13;
110 input [1:0] ldf_mask14;
111 input [1:0] ldf_mask15;
112 input [1:0] ldf_mask16;
113 input [1:0] ldf_mask17;
114 input [1:0] ldf_mask18;
115 input [1:0] ldf_mask19;
116 input [1:0] ldf_mask20;
117 input [1:0] ldf_mask21;
118 input [1:0] ldf_mask22;
119 input [1:0] ldf_mask23;
120 input [1:0] ldf_mask24;
121 input [1:0] ldf_mask25;
122 input [1:0] ldf_mask26;
123 input [1:0] ldf_mask27;
124 input [1:0] ldf_mask28;
125 input [1:0] ldf_mask29;
126 input [1:0] ldf_mask30;
127 input [1:0] ldf_mask31;
128 input [1:0] ldf_mask32;
129 input [1:0] ldf_mask33;
130 input [1:0] ldf_mask34;
131 input [1:0] ldf_mask35;
132 input [1:0] ldf_mask36;
133 input [1:0] ldf_mask37;
134 input [1:0] ldf_mask38;
135 input [1:0] ldf_mask39;
136 input [1:0] ldf_mask40;
137 input [1:0] ldf_mask41;
138 input [1:0] ldf_mask42;
139 input [1:0] ldf_mask43;
140 input [1:0] ldf_mask44;
141 input [1:0] ldf_mask45;
142 input [1:0] ldf_mask46;
143 input [1:0] ldf_mask47;
144 input [1:0] ldf_mask48;
145 input [1:0] ldf_mask49;
146 input [1:0] ldf_mask50;
147 input [1:0] ldf_mask51;
148 input [1:0] ldf_mask52;
149 input [1:0] ldf_mask53;
150 input [1:0] ldf_mask54;
151 input [1:0] ldf_mask55;
152 input [1:0] ldf_mask56;
153 input [1:0] ldf_mask57;
154 input [1:0] ldf_mask58;
155 input [1:0] ldf_mask59;
156 input [1:0] ldf_mask60;
157 input [1:0] ldf_mask61;
158 input [1:0] ldf_mask62;
159 input [1:0] ldf_mask63;
160
161 output imask0_ack;
162 output [63:0] imask0_rdata;
163 output imask0_err;
164
165 output ld_ldf_mask0 ;
166 output ld_ldf_mask1 ;
167 output ld_ldf_mask2 ;
168 output ld_ldf_mask3 ;
169 output ld_ldf_mask4 ;
170 output ld_ldf_mask5 ;
171 output ld_ldf_mask6 ;
172 output ld_ldf_mask7 ;
173 output ld_ldf_mask8 ;
174 output ld_ldf_mask9 ;
175 output ld_ldf_mask10;
176 output ld_ldf_mask11;
177 output ld_ldf_mask12;
178 output ld_ldf_mask13;
179 output ld_ldf_mask14;
180 output ld_ldf_mask15;
181 output ld_ldf_mask16;
182 output ld_ldf_mask17;
183 output ld_ldf_mask18;
184 output ld_ldf_mask19;
185 output ld_ldf_mask20;
186 output ld_ldf_mask21;
187 output ld_ldf_mask22;
188 output ld_ldf_mask23;
189 output ld_ldf_mask24;
190 output ld_ldf_mask25;
191 output ld_ldf_mask26;
192 output ld_ldf_mask27;
193 output ld_ldf_mask28;
194 output ld_ldf_mask29;
195 output ld_ldf_mask30;
196 output ld_ldf_mask31;
197 output ld_ldf_mask32;
198 output ld_ldf_mask33;
199 output ld_ldf_mask34;
200 output ld_ldf_mask35;
201 output ld_ldf_mask36;
202 output ld_ldf_mask37;
203 output ld_ldf_mask38;
204 output ld_ldf_mask39;
205 output ld_ldf_mask40;
206 output ld_ldf_mask41;
207 output ld_ldf_mask42;
208 output ld_ldf_mask43;
209 output ld_ldf_mask44;
210 output ld_ldf_mask45;
211 output ld_ldf_mask46;
212 output ld_ldf_mask47;
213 output ld_ldf_mask48;
214 output ld_ldf_mask49;
215 output ld_ldf_mask50;
216 output ld_ldf_mask51;
217 output ld_ldf_mask52;
218 output ld_ldf_mask53;
219 output ld_ldf_mask54;
220 output ld_ldf_mask55;
221 output ld_ldf_mask56;
222 output ld_ldf_mask57;
223 output ld_ldf_mask58;
224 output ld_ldf_mask59;
225 output ld_ldf_mask60;
226 output ld_ldf_mask61;
227 output ld_ldf_mask62;
228 output ld_ldf_mask63;
229
230// common reg declaration
231 reg [63:0] rd_data;
232 reg non_qualified_addr_err;
233// common wrie declaration
234 wire [63:0] imask0_rdata;
235 wire rd_en;
236 wire wr_en;
237 wire rasr;
238// output reg declaration
239 reg ld_ldf_mask0 ;
240 reg ld_ldf_mask1 ;
241 reg ld_ldf_mask2 ;
242 reg ld_ldf_mask3 ;
243 reg ld_ldf_mask4 ;
244 reg ld_ldf_mask5 ;
245 reg ld_ldf_mask6 ;
246 reg ld_ldf_mask7 ;
247 reg ld_ldf_mask8 ;
248 reg ld_ldf_mask9 ;
249 reg ld_ldf_mask10;
250 reg ld_ldf_mask11;
251 reg ld_ldf_mask12;
252 reg ld_ldf_mask13;
253 reg ld_ldf_mask14;
254 reg ld_ldf_mask15;
255 reg ld_ldf_mask16;
256 reg ld_ldf_mask17;
257 reg ld_ldf_mask18;
258 reg ld_ldf_mask19;
259 reg ld_ldf_mask20;
260 reg ld_ldf_mask21;
261 reg ld_ldf_mask22;
262 reg ld_ldf_mask23;
263 reg ld_ldf_mask24;
264 reg ld_ldf_mask25;
265 reg ld_ldf_mask26;
266 reg ld_ldf_mask27;
267 reg ld_ldf_mask28;
268 reg ld_ldf_mask29;
269 reg ld_ldf_mask30;
270 reg ld_ldf_mask31;
271 reg ld_ldf_mask32;
272 reg ld_ldf_mask33;
273 reg ld_ldf_mask34;
274 reg ld_ldf_mask35;
275 reg ld_ldf_mask36;
276 reg ld_ldf_mask37;
277 reg ld_ldf_mask38;
278 reg ld_ldf_mask39;
279 reg ld_ldf_mask40;
280 reg ld_ldf_mask41;
281 reg ld_ldf_mask42;
282 reg ld_ldf_mask43;
283 reg ld_ldf_mask44;
284 reg ld_ldf_mask45;
285 reg ld_ldf_mask46;
286 reg ld_ldf_mask47;
287 reg ld_ldf_mask48;
288 reg ld_ldf_mask49;
289 reg ld_ldf_mask50;
290 reg ld_ldf_mask51;
291 reg ld_ldf_mask52;
292 reg ld_ldf_mask53;
293 reg ld_ldf_mask54;
294 reg ld_ldf_mask55;
295 reg ld_ldf_mask56;
296 reg ld_ldf_mask57;
297 reg ld_ldf_mask58;
298 reg ld_ldf_mask59;
299 reg ld_ldf_mask60;
300 reg ld_ldf_mask61;
301 reg ld_ldf_mask62;
302 reg ld_ldf_mask63;
303
304`ifdef NEPTUNE
305/* ---------------------------------------------------------- */
306 reg imask0_sel_reg_int;
307 reg rd_int;
308 reg [18:0] addr_int;
309
310always @(posedge clk)
311 if (reset)
312 begin
313 imask0_sel_reg_int <= 1'b0;
314 rd_int <= 1'b0;
315 addr_int <= 19'b0;
316 end
317 else
318 begin
319 imask0_sel_reg_int <= imask0_sel_reg ;
320 rd_int <= rd ;
321 addr_int <= addr;
322 end
323
324`else
325/* ---------------------------------------------------------- */
326
327 wire imask0_sel_reg_int;
328 wire rd_int;
329 wire [18:0] addr_int;
330
331 assign imask0_sel_reg_int = imask0_sel_reg ;
332 assign rd_int = rd ;
333 assign addr_int = addr ;
334/* ----------------------------------------------------------- */
335`endif
336
337niu_rw_ctl imask0_rw_ctl(
338 // Outputs
339 .wr_en (wr_en),
340 .rd_en (rd_en),
341 .ack (imask0_ack),
342 .rdata (imask0_rdata[63:0]),
343 .err (imask0_err),
344 .rasr (rasr),
345 // Inputs
346 .clk (clk),
347 .sel (imask0_sel_reg_int),
348 .rd (rd_int),
349 .rd_data (rd_data[63:0]),
350 .non_qualified_addr_err(non_qualified_addr_err));
351
352
353always @ (/*AUTOSENSE*/addr_int or ldf_mask0 or ldf_mask1 or ldf_mask10
354 or ldf_mask11 or ldf_mask12 or ldf_mask13 or ldf_mask14
355 or ldf_mask15 or ldf_mask16 or ldf_mask17 or ldf_mask18
356 or ldf_mask19 or ldf_mask2 or ldf_mask20 or ldf_mask21
357 or ldf_mask22 or ldf_mask23 or ldf_mask24 or ldf_mask25
358 or ldf_mask26 or ldf_mask27 or ldf_mask28 or ldf_mask29
359 or ldf_mask3 or ldf_mask30 or ldf_mask31 or ldf_mask32
360 or ldf_mask33 or ldf_mask34 or ldf_mask35 or ldf_mask36
361 or ldf_mask37 or ldf_mask38 or ldf_mask39 or ldf_mask4
362 or ldf_mask40 or ldf_mask41 or ldf_mask42 or ldf_mask43
363 or ldf_mask44 or ldf_mask45 or ldf_mask46 or ldf_mask47
364 or ldf_mask48 or ldf_mask49 or ldf_mask5 or ldf_mask50
365 or ldf_mask51 or ldf_mask52 or ldf_mask53 or ldf_mask54
366 or ldf_mask55 or ldf_mask56 or ldf_mask57 or ldf_mask58
367 or ldf_mask59 or ldf_mask6 or ldf_mask60 or ldf_mask61
368 or ldf_mask62 or ldf_mask63 or ldf_mask7 or ldf_mask8
369 or ldf_mask9 or wr_en)
370 begin
371 non_qualified_addr_err = 0;
372 rd_data = 64'hdead_beef_dead_beef;
373
374 ld_ldf_mask0 = 0;
375 ld_ldf_mask1 = 0;
376 ld_ldf_mask2 = 0;
377 ld_ldf_mask3 = 0;
378 ld_ldf_mask4 = 0;
379 ld_ldf_mask5 = 0;
380 ld_ldf_mask6 = 0;
381 ld_ldf_mask7 = 0;
382 ld_ldf_mask8 = 0;
383 ld_ldf_mask9 = 0;
384 ld_ldf_mask10 = 0;
385 ld_ldf_mask11 = 0;
386 ld_ldf_mask12 = 0;
387 ld_ldf_mask13 = 0;
388 ld_ldf_mask14 = 0;
389 ld_ldf_mask15 = 0;
390 ld_ldf_mask16 = 0;
391 ld_ldf_mask17 = 0;
392 ld_ldf_mask18 = 0;
393 ld_ldf_mask19 = 0;
394 ld_ldf_mask20 = 0;
395 ld_ldf_mask21 = 0;
396 ld_ldf_mask22 = 0;
397 ld_ldf_mask23 = 0;
398 ld_ldf_mask24 = 0;
399 ld_ldf_mask25 = 0;
400 ld_ldf_mask26 = 0;
401 ld_ldf_mask27 = 0;
402 ld_ldf_mask28 = 0;
403 ld_ldf_mask29 = 0;
404 ld_ldf_mask30 = 0;
405 ld_ldf_mask31 = 0;
406 ld_ldf_mask32 = 0;
407 ld_ldf_mask33 = 0;
408 ld_ldf_mask34 = 0;
409 ld_ldf_mask35 = 0;
410 ld_ldf_mask36 = 0;
411 ld_ldf_mask37 = 0;
412 ld_ldf_mask38 = 0;
413 ld_ldf_mask39 = 0;
414 ld_ldf_mask40 = 0;
415 ld_ldf_mask41 = 0;
416 ld_ldf_mask42 = 0;
417 ld_ldf_mask43 = 0;
418 ld_ldf_mask44 = 0;
419 ld_ldf_mask45 = 0;
420 ld_ldf_mask46 = 0;
421 ld_ldf_mask47 = 0;
422 ld_ldf_mask48 = 0;
423 ld_ldf_mask49 = 0;
424 ld_ldf_mask50 = 0;
425 ld_ldf_mask51 = 0;
426 ld_ldf_mask52 = 0;
427 ld_ldf_mask53 = 0;
428 ld_ldf_mask54 = 0;
429 ld_ldf_mask55 = 0;
430 ld_ldf_mask56 = 0;
431 ld_ldf_mask57 = 0;
432 ld_ldf_mask58 = 0;
433 ld_ldf_mask59 = 0;
434 ld_ldf_mask60 = 0;
435 ld_ldf_mask61 = 0;
436 ld_ldf_mask62 = 0;
437 ld_ldf_mask63 = 0;
438
439 case({addr_int[18:3],3'b0}) //synopsys parallel_case full_case
440 19'h0_0000: begin
441 ld_ldf_mask0 = wr_en;
442 rd_data = {62'b0,ldf_mask0};
443 end
444 19'h0_2000: begin
445 ld_ldf_mask1 = wr_en;
446 rd_data = {62'b0,ldf_mask1};
447 end
448 19'h0_4000: begin
449 ld_ldf_mask2 = wr_en;
450 rd_data = {62'b0,ldf_mask2};
451 end
452 19'h0_6000: begin
453 ld_ldf_mask3 = wr_en;
454 rd_data = {62'b0,ldf_mask3};
455 end
456 19'h0_8000: begin
457 ld_ldf_mask4 = wr_en;
458 rd_data = {62'b0,ldf_mask4};
459 end
460 19'h0_a000: begin
461 ld_ldf_mask5 = wr_en;
462 rd_data = {62'b0,ldf_mask5};
463 end
464 19'h0_c000: begin
465 ld_ldf_mask6 = wr_en;
466 rd_data = {62'b0,ldf_mask6};
467 end
468 19'h0_e000: begin
469 ld_ldf_mask7 = wr_en;
470 rd_data = {62'b0,ldf_mask7};
471 end
472 19'h1_0000: begin
473 ld_ldf_mask8 = wr_en;
474 rd_data = {62'b0,ldf_mask8};
475 end
476 19'h1_2000: begin
477 ld_ldf_mask9 = wr_en;
478 rd_data = {62'b0,ldf_mask9};
479 end
480 19'h1_4000: begin
481 ld_ldf_mask10 = wr_en;
482 rd_data = {62'b0,ldf_mask10};
483 end
484 19'h1_6000: begin
485 ld_ldf_mask11 = wr_en;
486 rd_data = {62'b0,ldf_mask11};
487 end
488 19'h1_8000: begin
489 ld_ldf_mask12 = wr_en;
490 rd_data = {62'b0,ldf_mask12};
491 end
492 19'h1_a000: begin
493 ld_ldf_mask13 = wr_en;
494 rd_data = {62'b0,ldf_mask13};
495 end
496 19'h1_c000: begin
497 ld_ldf_mask14 = wr_en;
498 rd_data = {62'b0,ldf_mask14};
499 end
500 19'h1_e000: begin
501 ld_ldf_mask15 = wr_en;
502 rd_data = {62'b0,ldf_mask15};
503 end
504 19'h2_0000: begin
505 ld_ldf_mask16 = wr_en;
506 rd_data = {62'b0,ldf_mask16};
507 end
508 19'h2_2000: begin
509 ld_ldf_mask17 = wr_en;
510 rd_data = {62'b0,ldf_mask17};
511 end
512 19'h2_4000: begin
513 ld_ldf_mask18 = wr_en;
514 rd_data = {62'b0,ldf_mask18};
515 end
516 19'h2_6000: begin
517 ld_ldf_mask19 = wr_en;
518 rd_data = {62'b0,ldf_mask19};
519 end
520 19'h2_8000: begin
521 ld_ldf_mask20 = wr_en;
522 rd_data = {62'b0,ldf_mask20};
523 end
524 19'h2_a000: begin
525 ld_ldf_mask21 = wr_en;
526 rd_data = {62'b0,ldf_mask21};
527 end
528 19'h2_c000: begin
529 ld_ldf_mask22 = wr_en;
530 rd_data = {62'b0,ldf_mask22};
531 end
532 19'h2_e000: begin
533 ld_ldf_mask23 = wr_en;
534 rd_data = {62'b0,ldf_mask23};
535 end
536 19'h3_0000: begin
537 ld_ldf_mask24 = wr_en;
538 rd_data = {62'b0,ldf_mask24};
539 end
540 19'h3_2000: begin
541 ld_ldf_mask25 = wr_en;
542 rd_data = {62'b0,ldf_mask25};
543 end
544 19'h3_4000: begin
545 ld_ldf_mask26 = wr_en;
546 rd_data = {62'b0,ldf_mask26};
547 end
548 19'h3_6000: begin
549 ld_ldf_mask27 = wr_en;
550 rd_data = {62'b0,ldf_mask27};
551 end
552 19'h3_8000: begin
553 ld_ldf_mask28 = wr_en;
554 rd_data = {62'b0,ldf_mask28};
555 end
556 19'h3_a000: begin
557 ld_ldf_mask29 = wr_en;
558 rd_data = {62'b0,ldf_mask29};
559 end
560 19'h3_c000: begin
561 ld_ldf_mask30 = wr_en;
562 rd_data = {62'b0,ldf_mask30};
563 end
564 19'h3_e000: begin
565 ld_ldf_mask31 = wr_en;
566 rd_data = {62'b0,ldf_mask31};
567 end
568 19'h4_0000: begin
569 ld_ldf_mask32 = wr_en;
570 rd_data = {62'b0,ldf_mask32};
571 end
572 19'h4_2000: begin
573 ld_ldf_mask33 = wr_en;
574 rd_data = {62'b0,ldf_mask33};
575 end
576 19'h4_4000: begin
577 ld_ldf_mask34 = wr_en;
578 rd_data = {62'b0,ldf_mask34};
579 end
580 19'h4_6000: begin
581 ld_ldf_mask35 = wr_en;
582 rd_data = {62'b0,ldf_mask35};
583 end
584 19'h4_8000: begin
585 ld_ldf_mask36 = wr_en;
586 rd_data = {62'b0,ldf_mask36};
587 end
588 19'h4_a000: begin
589 ld_ldf_mask37 = wr_en;
590 rd_data = {62'b0,ldf_mask37};
591 end
592 19'h4_c000: begin
593 ld_ldf_mask38 = wr_en;
594 rd_data = {62'b0,ldf_mask38};
595 end
596 19'h4_e000: begin
597 ld_ldf_mask39 = wr_en;
598 rd_data = {62'b0,ldf_mask39};
599 end
600 19'h5_0000: begin
601 ld_ldf_mask40 = wr_en;
602 rd_data = {62'b0,ldf_mask40};
603 end
604 19'h5_2000: begin
605 ld_ldf_mask41 = wr_en;
606 rd_data = {62'b0,ldf_mask41};
607 end
608 19'h5_4000: begin
609 ld_ldf_mask42 = wr_en;
610 rd_data = {62'b0,ldf_mask42};
611 end
612 19'h5_6000: begin
613 ld_ldf_mask43 = wr_en;
614 rd_data = {62'b0,ldf_mask43};
615 end
616 19'h5_8000: begin
617 ld_ldf_mask44 = wr_en;
618 rd_data = {62'b0,ldf_mask44};
619 end
620 19'h5_a000: begin
621 ld_ldf_mask45 = wr_en;
622 rd_data = {62'b0,ldf_mask45};
623 end
624 19'h5_c000: begin
625 ld_ldf_mask46 = wr_en;
626 rd_data = {62'b0,ldf_mask46};
627 end
628 19'h5_e000: begin
629 ld_ldf_mask47 = wr_en;
630 rd_data = {62'b0,ldf_mask47};
631 end
632 19'h6_0000: begin
633 ld_ldf_mask48 = wr_en;
634 rd_data = {62'b0,ldf_mask48};
635 end
636 19'h6_2000: begin
637 ld_ldf_mask49 = wr_en;
638 rd_data = {62'b0,ldf_mask49};
639 end
640 19'h6_4000: begin
641 ld_ldf_mask50 = wr_en;
642 rd_data = {62'b0,ldf_mask50};
643 end
644 19'h6_6000: begin
645 ld_ldf_mask51 = wr_en;
646 rd_data = {62'b0,ldf_mask51};
647 end
648 19'h6_8000: begin
649 ld_ldf_mask52 = wr_en;
650 rd_data = {62'b0,ldf_mask52};
651 end
652 19'h6_a000: begin
653 ld_ldf_mask53 = wr_en;
654 rd_data = {62'b0,ldf_mask53};
655 end
656 19'h6_c000: begin
657 ld_ldf_mask54 = wr_en;
658 rd_data = {62'b0,ldf_mask54};
659 end
660 19'h6_e000: begin
661 ld_ldf_mask55 = wr_en;
662 rd_data = {62'b0,ldf_mask55};
663 end
664 19'h7_0000: begin
665 ld_ldf_mask56 = wr_en;
666 rd_data = {62'b0,ldf_mask56};
667 end
668 19'h7_2000: begin
669 ld_ldf_mask57 = wr_en;
670 rd_data = {62'b0,ldf_mask57};
671 end
672 19'h7_4000: begin
673 ld_ldf_mask58 = wr_en;
674 rd_data = {62'b0,ldf_mask58};
675 end
676 19'h7_6000: begin
677 ld_ldf_mask59 = wr_en;
678 rd_data = {62'b0,ldf_mask59};
679 end
680 19'h7_8000: begin
681 ld_ldf_mask60 = wr_en;
682 rd_data = {62'b0,ldf_mask60};
683 end
684 19'h7_a000: begin
685 ld_ldf_mask61 = wr_en;
686 rd_data = {62'b0,ldf_mask61};
687 end
688 19'h7_c000: begin
689 ld_ldf_mask62 = wr_en;
690 rd_data = {62'b0,ldf_mask62};
691 end
692 19'h7_e000: begin
693 ld_ldf_mask63 = wr_en;
694 rd_data = {62'b0,ldf_mask63};
695 end
696
697 default: begin
698 rd_data = 64'hdead_beef_dead_beef;
699 non_qualified_addr_err = 1;
700 end // case: default
701 endcase // case({addr[18:3],3'b0})
702 end // always @ (...
703
704
705
706
707endmodule // niu_pio_imask0_decoder
708
709