OpenCores
URL https://opencores.org/ocsvn/sparc64soc/sparc64soc/trunk

Subversion Repositories sparc64soc

[/] [sparc64soc/] [trunk/] [T1-CPU/] [spu/] [spu.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dmitryr
// ========== Copyright Header Begin ==========================================
2
// 
3
// OpenSPARC T1 Processor File: spu.v
4
// Copyright (c) 2006 Sun Microsystems, Inc.  All Rights Reserved.
5
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
6
// 
7
// The above named program is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU General Public
9
// License version 2 as published by the Free Software Foundation.
10
// 
11
// The above named program is distributed in the hope that it will be 
12
// useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
// General Public License for more details.
15
// 
16
// You should have received a copy of the GNU General Public
17
// License along with this work; if not, write to the Free Software
18
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
19
// 
20
// ========== Copyright Header End ============================================
21
////////////////////////////////////////////////////////////////////////
22
/*
23
//      Description:    Stream Processing Unit for Sparc Core
24
*/
25
////////////////////////////////////////////////////////////////////////
26
// Global header file includes
27
////////////////////////////////////////////////////////////////////////
28
 
29
 
30
module spu (///*AUTOARG*/ 
31
short_si0,short_so0,short_si1,short_so1,si1,so1,
32
 
33
 
34
/*outputs*/
35
 
36
spu_ifu_err_addr_w2,
37
spu_ifu_mamem_err_w1,
38
spu_ifu_int_w2,
39
spu_lsu_ldxa_illgl_va_w2,
40
 
41
spu_ifu_ttype_w2,
42
spu_ifu_ttype_vld_w2,
43
spu_ifu_ttype_tid_w2,
44
 
45
spu_lsu_ldst_pckt,
46
 
47
spu_mul_req_vld,
48
spu_mul_areg_shf,
49
spu_mul_areg_rst,
50
spu_mul_acc,
51
spu_mul_op1_data,
52
spu_mul_op2_data,
53
 
54
spu_lsu_ldxa_data_w2,
55
spu_lsu_ldxa_data_vld_w2,
56
spu_lsu_ldxa_tid_w2,
57
 
58
spu_lsu_stxa_ack,
59
spu_lsu_stxa_ack_tid,
60
 
61
spu_mul_mulres_lshft,
62
 
63
spu_tlu_rsrv_illgl_m,
64
 
65
spu_ifu_corr_err_w2,
66
spu_ifu_unc_err_w1,
67
spu_lsu_unc_error_w2,
68
 
69
 
70
/*inputs*/
71
const_cpuid,
72
cpx_spu_data_cx,
73
lsu_spu_ldst_ack,
74
 
75
mul_spu_ack,
76
mul_spu_shf_ack,
77
mul_data_out,
78
 
79
lsu_spu_asi_state_e,
80
ifu_spu_inst_vld_w,
81
ifu_lsu_ld_inst_e,
82
ifu_lsu_st_inst_e,
83
ifu_lsu_alt_space_e,
84
ifu_tlu_thrid_e,
85
exu_lsu_ldst_va_e,
86
exu_lsu_rs3_data_e,
87
 
88
ifu_spu_trap_ack,
89
 
90
lsu_spu_stb_empty,
91
lsu_spu_strm_ack_cmplt,
92
 
93
lsu_spu_early_flush_g,
94
tlu_spu_flush_w,
95
ifu_spu_flush_w,
96
 
97
exu_spu_rsrv_data_e,
98
ifu_spu_nceen,
99
 
100
lsu_mamem_mrgn,
101
mem_write_disable,
102
mux_drive_disable,
103
mem_bypass,
104
 
105
se,
106
sehold,
107
grst_l,
108
arst_l,
109
rclk) ;
110
 
111
 
112
// ------------------------------------------------------------------
113
///*AUTOINPUT*/
114
// Beginning of automatic inputs (from unused autoinst inputs)
115
input si1,short_si0,short_si1,se;
116
input                   rclk ;
117
input                   grst_l ;
118
input                   arst_l ;
119
input                   mem_write_disable ;
120
input                   mux_drive_disable ;
121
input                   sehold ;
122
 
123
input tlu_spu_flush_w;
124
input ifu_spu_flush_w;
125
 
126
input [2:0]     const_cpuid;
127
 
128
input [134:0] cpx_spu_data_cx;
129
input  lsu_spu_ldst_ack;
130
 
131
input mul_spu_ack;
132
input mul_spu_shf_ack;
133
input [63:0] mul_data_out;
134
 
135
input [7:0] lsu_spu_asi_state_e;
136
input ifu_spu_inst_vld_w;
137
input ifu_lsu_ld_inst_e;
138
input ifu_lsu_st_inst_e;
139
input ifu_lsu_alt_space_e;
140
input [1:0] ifu_tlu_thrid_e;
141
input [7:0] exu_lsu_ldst_va_e;
142
input [63:0] exu_lsu_rs3_data_e;
143
 
144
input  ifu_spu_trap_ack;
145
 
146
input [3:0] lsu_spu_stb_empty;
147
input [1:0] lsu_spu_strm_ack_cmplt;
148
 
149
input lsu_spu_early_flush_g;
150
 
151
input [2:0] exu_spu_rsrv_data_e;
152
 
153
input [3:0] ifu_spu_nceen;
154
input [3:0] lsu_mamem_mrgn;
155
 
156
input mem_bypass;
157
 
158
// End of automatics
159
// ------------------------------------------------------------------
160
///*AUTOOUTPUT*/
161
// Beginning of automatic outputs (from unused autoinst outputs)
162
 
163
output so1,short_so1,short_so0;
164
output spu_ifu_ttype_w2;
165
output spu_ifu_ttype_vld_w2;
166
output [1:0] spu_ifu_ttype_tid_w2;
167
 
168
// ------------------------------
169
 
170
output [123:0] spu_lsu_ldst_pckt;
171
 
172
output spu_mul_req_vld;
173
output spu_mul_areg_shf;
174
output spu_mul_areg_rst;
175
output spu_mul_acc;
176
output [63:0] spu_mul_op1_data;
177
output [63:0] spu_mul_op2_data;
178
output [63:0] spu_lsu_ldxa_data_w2;
179
output spu_lsu_ldxa_data_vld_w2;
180
output [1:0] spu_lsu_ldxa_tid_w2;
181
 
182
output spu_lsu_stxa_ack;
183
output [1:0] spu_lsu_stxa_ack_tid;
184
 
185
output spu_mul_mulres_lshft;
186
 
187
output spu_tlu_rsrv_illgl_m;
188
 
189
output spu_ifu_corr_err_w2;
190
output spu_ifu_unc_err_w1;
191
output spu_lsu_unc_error_w2;
192
 
193
output [39:4] spu_ifu_err_addr_w2;
194
output spu_ifu_mamem_err_w1;
195
output spu_ifu_int_w2;
196
output spu_lsu_ldxa_illgl_va_w2;
197
 
198
 
199
// End of automatics
200
// ------------------------------------------------------------------
201
 
202
 
203
// ------------------------------------------------------------------
204
// ------------------------------------------------------------------
205
 
206
wire [123:0] spu_lsu_ldst_pckt;
207
wire [65:0] spu_madp_evedata;
208
wire [65:0] spu_madp_odddata;
209
wire [7:1] spu_maaddr_memindx;
210
wire [3:0] spu_maaddr_mamem_eveodd_sel_l;
211
wire [2:0] spu_mactl_memmxsel_l;
212
wire [38:3] spu_madp_mpa_addr_out;
213
 
214
wire [63:0] spu_mul_op1_data;
215
wire [63:0] spu_mul_op2_data;
216
 
217
wire [3:0] spu_mared_data_sel_l;
218
wire [63:0] spu_madp_store_data;
219
 
220
 
221
// ------------------------------------
222
 
223
wire [4:0] spu_maaddr_mpa_incr_val;
224
 
225
// --------------------------------------------------------------
226
 
227
wire spu_madp_perr;
228
 
229
wire [2:0]                       spu_mamul_oprnd1_mxsel_l;       // From spu_ctl of spu_ctl.v
230
 
231
wire [1:0]               spu_ctl_ldxa_tid_w2;
232
 
233
 
234
wire [3:0] spu_lsurpt1_stb_empty;
235
 
236
 
237
   wire spu_ctl_ldxa_data_vld_w2,
238
        spu_mactl_madp_parflop_wen,
239
        spu_mactl_force_perr,
240
        spu_mactl_memeve_wen,
241
        spu_mactl_memodd_wen,
242
        spu_mactl_mamem_ren,
243
        spu_mactl_mamem_wen,
244
        spu_mamul_oprnd1_wen,
245
        spu_mactl_mem_reset_l,
246
        spu_madp_m_eq_n,
247
        spu_madp_m_lt_n,
248
        spu_madp_cout_oprnd_sub_mod,
249
        spu_madp_e_eq_one,
250
        spu_mamul_oprnd2_wen,
251
        spu_mamul_oprnd2_bypass,
252
        spu_mared_rdn_wen,
253
        spu_mared_cin_oprnd_sub_mod,
254
        spu_maexp_e_data_wen,
255
        spu_maexp_shift_e,
256
        spu_maaddr_mpa_addrinc,
257
        spu_maaddr_mpa_wen,
258
        spu_mactl_mpa_sel,
259
        spu_mactl_ldop,
260
        spu_ctl_ldxa_illgl_va_w;
261
 
262
wire [63:0] spu_lsurpt1_rs3_data_g2;
263
 
264
wire [134:0] spu_lsurpt1_cpx_data;
265
wire [134:0] spu_lsurpt2_cpx_data;
266
 
267
wire [122:0] spu_lsurpt1_ldst_pckt;
268
 
269
wire [63:0] spu_lsurpt1_ldxa_data;
270
 
271
wire spu_wen_pcx_wen, spu_wen_pcx_7170_sel;
272
 
273
 
274
wire [1:0] spu_ifu_ttype_tid_w;
275
wire spu_lsu_unc_error_w;
276
 
277
wire [65:0] spu_mamem_rd_eve_data;
278
wire [65:0] spu_mamem_rd_odd_data;
279
wire [122:104] spu_wen_pckt_req;
280
 
281
wire [63:0] spu_madp_ldxa_data;
282
wire [1:0] spu_lsu_stxa_ack_tid_ctl;
283
 
284
wire [3:0] spu_mactl_ldxa_data_w_sel_l;
285
wire  spu_mactl_ldxa_data_w_select;
286
wire  spu_mactl_mpa_wen;
287
wire  spu_mactl_maaddr_wen;
288
wire  spu_mactl_manp_wen;
289
wire  spu_wen_maln_wen;
290
wire  [13:0] spu_mactl_mactl_reg;
291
wire  [47:0] spu_madp_maaddr_reg;
292
 
293
   wire    scan1_1;
294
// End of automatics
295
 
296
 
297
/****************************************************************************/
298
spu_lsurpt spu_lsurpt2 (///*AUTOINST*/
299
 
300
             // Outputs
301
                .spu_lsurpt_ldxa_data_out       (spu_lsu_ldxa_data_w2[63:0]),
302
                .spu_lsurpt_ldst_pckt_out       (spu_lsu_ldst_pckt[122:0]),
303
                .spu_lsurpt_cpx_data_out        (spu_lsurpt2_cpx_data[134:0]),
304
             // Inputs
305
                .spu_lsurpt_ldxa_data_in        (spu_lsurpt1_ldxa_data[63:0]),
306
                .spu_lsurpt_ldst_pckt_in        (spu_lsurpt1_ldst_pckt[122:0]),
307
                .spu_lsurpt_cpx_data_in         (cpx_spu_data_cx[134:0]));
308
 
309
 
310
/****************************************************************************/
311
 
312
 
313
spu_lsurpt1 spu_lsurpt1 (///*AUTOINST*/
314
 
315
             // Outputs
316
                .so                             (scan1_1),
317
                .spu_lsu_ldst_pckt              (spu_lsurpt1_ldst_pckt[122:0]),
318
 
319
                .spu_lsu_ldxa_data_w2           (spu_lsurpt1_ldxa_data[63:0]),
320
                .spu_lsu_ldxa_data_vld_w2       (spu_lsu_ldxa_data_vld_w2),
321
                .spu_lsu_ldxa_tid_w2            (spu_lsu_ldxa_tid_w2[1:0]),
322
 
323
 
324
                .spu_lsu_ldxa_illgl_va_w2       (spu_lsu_ldxa_illgl_va_w2),
325
 
326
                .spu_lsurpt1_rs3_data_g2                (spu_lsurpt1_rs3_data_g2[63:0]),
327
 
328
                .spu_lsurpt1_stb_empty          (spu_lsurpt1_stb_empty[3:0]),
329
 
330
                .spu_lsurpt_cpx_data_out        (spu_lsurpt1_cpx_data[134:0]),
331
 
332
                .spu_ifu_ttype_tid_w2           (spu_ifu_ttype_tid_w2[1:0]),
333
 
334
                .spu_ifu_err_addr_w2            (spu_ifu_err_addr_w2[39:4]),
335
 
336
                 .spu_lsu_unc_error_w2          (spu_lsu_unc_error_w2),
337
 
338
                 .spu_lsu_stxa_ack_tid          (spu_lsu_stxa_ack_tid[1:0]),
339
             // Inputs
340
                .spu_ifu_ttype_tid_w            (spu_ifu_ttype_tid_w[1:0]),
341
                 .spu_lsu_unc_error_w           (spu_lsu_unc_error_w),
342
 
343
                .exu_lsu_rs3_data_e             (exu_lsu_rs3_data_e[63:0]),
344
 
345
                .spu_ctl_ldxa_illgl_va_w        (spu_ctl_ldxa_illgl_va_w),
346
 
347
                .spu_ldstreq_pcx                ({spu_wen_pckt_req[122:104],1'b0,spu_madp_mpa_addr_out[38:3],
348
                                                        3'b000,spu_madp_store_data[63:0]}),
349
 
350
                .spu_madp_ldxa_data             (spu_madp_ldxa_data[63:0]),
351
 
352
                .spu_ctl_ldxa_data_vld_w2       (spu_ctl_ldxa_data_vld_w2),
353
                .spu_ctl_ldxa_tid_w2            (spu_ctl_ldxa_tid_w2[1:0]),
354
 
355
                .lsu_spu_stb_empty              (lsu_spu_stb_empty[3:0]),
356
 
357
                .spu_lsurpt_cpx_data_in         (spu_lsurpt2_cpx_data[134:0]),
358
 
359
                .spu_wen_pcx_wen                (spu_wen_pcx_wen),
360
                .spu_wen_pcx_7170_sel           (spu_wen_pcx_7170_sel),
361
 
362
                 .spu_lsu_stxa_ack_tid_ctl              (spu_lsu_stxa_ack_tid_ctl[1:0]),
363
 
364
                //.tmb_l                        (testmode_l),
365
                .se                             (se),
366
                .si                             (si1),
367
                .reset_l                        (spu_mactl_mem_reset_l),
368
                .rclk                           (rclk));
369
 
370
/****************************************************************************/
371
 
372
// -------------------------------------------------------------------------
373
// ------------------------ MA STUFF ---------------------------------------
374
bw_r_idct spu_mamem (
375
                 .rdtag_w3_y    ({spu_mamem_rd_eve_data[65],spu_mamem_rd_eve_data[63:32]}),
376
                 .rdtag_w2_y    ({spu_mamem_rd_eve_data[64],spu_mamem_rd_eve_data[31:0]}),
377
                 .rdtag_w1_y    ({spu_mamem_rd_odd_data[65],spu_mamem_rd_odd_data[63:32]}),
378
                 .rdtag_w0_y    ({spu_mamem_rd_odd_data[64],spu_mamem_rd_odd_data[31:0]}),
379
 
380
                 .wrtag_w3_y       ({spu_madp_evedata[65],spu_madp_evedata[63:32]}),
381
                 .wrtag_w2_y       ({spu_madp_evedata[64],spu_madp_evedata[31:0]}),
382
                 .wrtag_w1_y       ({spu_madp_odddata[65],spu_madp_odddata[63:32]}),
383
                 .wrtag_w0_y       ({spu_madp_odddata[64],spu_madp_odddata[31:0]}),
384
 
385
                 /*AUTOINST*/
386
                 // Outputs
387
                 .so                    (short_so0),
388
                 // Inputs
389
                 .rst_tri_en                    (mem_write_disable),
390
                 .rclk                  (rclk),
391
                 .se                    (se),
392
                 .si                    (short_si0),
393
                 .reset_l               (arst_l),
394
                 .sehold                (sehold),
395
                 .index0_x              (spu_maaddr_memindx[7:1]),
396
                 .index1_x              (7'b0000000),
397
                 .index_sel_x           (1'b0),
398
                 .dec_wrway_x               ({spu_mactl_memeve_wen,spu_mactl_memeve_wen,
399
                                                spu_mactl_memodd_wen,spu_mactl_memodd_wen}),
400
                 .rdreq_x               (spu_mactl_mamem_ren),
401
                 .wrreq_x               (spu_mactl_mamem_wen),
402
                 .adj                   (lsu_mamem_mrgn[3:0]));
403
 
404
 
405
// -------------------------------------------------------------------------
406
spu_madp spu_madp (///*AUTOINST*/
407
             // Outputs
408
                .spu_madp_evedata               (spu_madp_evedata[65:0]),
409
                .spu_madp_odddata               (spu_madp_odddata[65:0]),
410
 
411
 
412
                .spu_mul_op2_data               (spu_mul_op2_data[63:0]),
413
 
414
                .spu_madp_m_eq_n                (spu_madp_m_eq_n),
415
                .spu_madp_m_lt_n                (spu_madp_m_lt_n),
416
 
417
                .spu_madp_store_data            (spu_madp_store_data[63:0]),
418
 
419
                .spu_madp_cout_oprnd_sub_mod    (spu_madp_cout_oprnd_sub_mod),
420
 
421
                .spu_madp_e_eq_one              (spu_madp_e_eq_one),
422
 
423
                .spu_madp_mpa_addr_out          (spu_madp_mpa_addr_out[38:3]),
424
 
425
                .spu_madp_perr                  (spu_madp_perr),
426
 
427
                .spu_mul_op1_data               (spu_mul_op1_data[63:0]),
428
 
429
                .spu_madp_ldxa_data             (spu_madp_ldxa_data[63:0]),
430
 
431
                .spu_madp_maaddr_reg            (spu_madp_maaddr_reg[47:0]),
432
 
433
                .so                             (short_so1),
434
 
435
             // Inputs
436
                .spu_mamul_oprnd1_mxsel_l       (spu_mamul_oprnd1_mxsel_l[2:0]),
437
                .spu_mamul_oprnd1_wen           (spu_mamul_oprnd1_wen),
438
                .spu_maaddr_mamem_eveodd_sel_l                   (spu_maaddr_mamem_eveodd_sel_l[3:0]),
439
 
440
                .spu_mamem_rd_eve_data                  (spu_mamem_rd_eve_data[65:0]),
441
                .spu_mamem_rd_odd_data                  (spu_mamem_rd_odd_data[65:0]),
442
 
443
 
444
                .mul_data_out                   (mul_data_out[63:0]),
445
 
446
 
447
 
448
                .spu_mamul_oprnd2_wen           (spu_mamul_oprnd2_wen),
449
                .spu_mamul_oprnd2_bypass        (spu_mamul_oprnd2_bypass),
450
 
451
                .spu_mared_data_sel_l           (spu_mared_data_sel_l[3:0]),
452
                .spu_mared_rdn_wen              (spu_mared_rdn_wen),
453
                .spu_mared_cin_oprnd_sub_mod    (spu_mared_cin_oprnd_sub_mod),
454
 
455
                .spu_maexp_e_data_wen           (spu_maexp_e_data_wen),
456
                .spu_maexp_shift_e              (spu_maexp_shift_e),
457
 
458
                .spu_maaddr_mpa_addrinc         (spu_maaddr_mpa_addrinc),
459
                .spu_maaddr_mpa_incr_val        (spu_maaddr_mpa_incr_val[4:0]),
460
                .spu_mactl_mpa_sel              (spu_mactl_mpa_sel),
461
 
462
                .spu_mactl_ldop                 (spu_mactl_ldop),
463
 
464
                .spu_mactl_madp_parflop_wen     (spu_mactl_madp_parflop_wen),
465
 
466
                .spu_mactl_memmxsel_l           (spu_mactl_memmxsel_l[2:0]),
467
 
468
                .spu_mactl_force_perr           (spu_mactl_force_perr),
469
 
470
                .spu_maaddr_mpa_wen             (spu_maaddr_mpa_wen),
471
 
472
                .spu_mactl_mactl_reg            (spu_mactl_mactl_reg[13:0]),
473
 
474
                .spu_mactl_ldxa_data_w_sel_l    (spu_mactl_ldxa_data_w_sel_l[3:0]),
475
                .spu_mactl_ldxa_data_w_select   (spu_mactl_ldxa_data_w_select),
476
 
477
                .spu_mactl_mpa_wen              (spu_mactl_mpa_wen),
478
                .spu_mactl_maaddr_wen           (spu_mactl_maaddr_wen),
479
                .spu_mactl_manp_wen             (spu_mactl_manp_wen),
480
                .exu_spu_st_rs3_data_g2          (spu_lsurpt1_rs3_data_g2[63:0]),
481
                .spu_wen_maln_wen          (spu_wen_maln_wen),
482
                .lsu_spu_vload_data          (spu_lsurpt1_cpx_data[127:0]),
483
 
484
 
485
                .se                             (se),
486
                .si                             (short_si1),
487
                .sehold                         (sehold),
488
 
489
 
490
                .rclk                       (rclk));
491
 
492
//---------------------------------------------------
493
//--------------SPU CONTROL BLOCK--------------------
494
spu_ctl spu_ctl (
495
                     /*AUTOINST*/
496
                 // Outputs
497
 
498
                 .spu_wen_ldst_pcx_vld          (spu_lsu_ldst_pckt[123]),
499
                 .spu_mul_mulres_lshft          (spu_mul_mulres_lshft),
500
                .spu_maaddr_mpa_wen             (spu_maaddr_mpa_wen),
501
                 .spu_mamul_oprnd2_bypass       (spu_mamul_oprnd2_bypass),
502
                 .spu_mactl_ldop                (spu_mactl_ldop),
503
                 .so                            (so1),
504
                 .spu_ifu_ttype_tid_w           (spu_ifu_ttype_tid_w[1:0]),
505
                 .spu_ifu_ttype_vld_w2          (spu_ifu_ttype_vld_w2),
506
                 .spu_ifu_ttype_w2              (spu_ifu_ttype_w2),
507
                 .spu_lsu_ldxa_data_vld_w2      (spu_ctl_ldxa_data_vld_w2),
508
                 .spu_lsu_ldxa_tid_w2           (spu_ctl_ldxa_tid_w2[1:0]),
509
                 .spu_lsu_stxa_ack              (spu_lsu_stxa_ack),
510
                 .spu_lsu_stxa_ack_tid          (spu_lsu_stxa_ack_tid_ctl[1:0]),
511
                 .spu_maaddr_memindx            (spu_maaddr_memindx[7:1]),
512
                .spu_maaddr_mamem_eveodd_sel_l                   (spu_maaddr_mamem_eveodd_sel_l[3:0]),
513
 
514
                 .spu_maaddr_mpa_addrinc        (spu_maaddr_mpa_addrinc),
515
                 .spu_maaddr_mpa_incr_val       (spu_maaddr_mpa_incr_val[4:0]),
516
                 .spu_mactl_force_perr          (spu_mactl_force_perr),
517
                 .spu_mactl_madp_parflop_wen    (spu_mactl_madp_parflop_wen),
518
                 .spu_mactl_mamem_ren           (spu_mactl_mamem_ren),
519
                 .spu_mactl_mamem_wen           (spu_mactl_mamem_wen),
520
                 .spu_mactl_memeve_wen          (spu_mactl_memeve_wen),
521
                 .spu_mactl_memmxsel_l          (spu_mactl_memmxsel_l[2:0]),
522
                 .spu_mactl_memodd_wen          (spu_mactl_memodd_wen),
523
                 .spu_mactl_mpa_sel             (spu_mactl_mpa_sel),
524
                 .spu_maexp_e_data_wen          (spu_maexp_e_data_wen),
525
                 .spu_maexp_shift_e             (spu_maexp_shift_e),
526
                .spu_mamul_oprnd1_mxsel_l       (spu_mamul_oprnd1_mxsel_l[2:0]),
527
                .spu_mamul_oprnd1_wen           (spu_mamul_oprnd1_wen),
528
                 .spu_mamul_oprnd2_wen          (spu_mamul_oprnd2_wen),
529
                 .spu_mared_cin_oprnd_sub_mod   (spu_mared_cin_oprnd_sub_mod),
530
                 .spu_mared_data_sel_l          (spu_mared_data_sel_l[3:0]),
531
                 .spu_mared_rdn_wen             (spu_mared_rdn_wen),
532
                 .spu_mul_acc                   (spu_mul_acc),
533
                 .spu_mul_areg_rst              (spu_mul_areg_rst),
534
                 .spu_mul_areg_shf              (spu_mul_areg_shf),
535
                 .spu_mul_req_vld               (spu_mul_req_vld),
536
                 .spu_tlu_rsrv_illgl_m          (spu_tlu_rsrv_illgl_m),
537
 
538
                 .spu_ifu_corr_err_w2           (spu_ifu_corr_err_w2),
539
                 .spu_ifu_unc_err_w             (spu_ifu_unc_err_w1),
540
                 .spu_lsu_unc_error_w           (spu_lsu_unc_error_w),
541
 
542
                 .spu_ifu_mamem_err_w           (spu_ifu_mamem_err_w1),
543
                 .spu_ifu_int_w2                (spu_ifu_int_w2),
544
                 .spu_lsu_ldxa_illgl_va_w2      (spu_ctl_ldxa_illgl_va_w),
545
 
546
                 .spu_mactl_mem_reset_l         (spu_mactl_mem_reset_l),
547
 
548
                 .spu_mactl_ldxa_data_w_sel_l           (spu_mactl_ldxa_data_w_sel_l[3:0]),
549
                 .spu_mactl_ldxa_data_w_select          (spu_mactl_ldxa_data_w_select),
550
                 .spu_mactl_mpa_wen             (spu_mactl_mpa_wen),
551
                 .spu_mactl_maaddr_wen          (spu_mactl_maaddr_wen),
552
                 .spu_mactl_manp_wen            (spu_mactl_manp_wen),
553
                 .spu_wen_maln_wen              (spu_wen_maln_wen),
554
                 .spu_mactl_mactl_reg           (spu_mactl_mactl_reg[13:0]),
555
                 // Inputs
556
                .spu_madp_maaddr_reg            (spu_madp_maaddr_reg[47:0]),
557
 
558
 
559
                 .sehold                        (sehold),
560
 
561
                 .mem_bypass                    (mem_bypass),
562
                 .mux_drive_disable             (mux_drive_disable),
563
                 .tlu_spu_flush_w               (tlu_spu_flush_w),
564
                 .ifu_spu_flush_w               (ifu_spu_flush_w),
565
 
566
                .lsu_spu_stb_empty              (spu_lsurpt1_stb_empty[3:0]),
567
 
568
                 .lsu_spu_strm_ack_cmplt        (lsu_spu_strm_ack_cmplt[1:0]),
569
 
570
                 .cpx_spu_data_cx               (spu_lsurpt1_cpx_data[134:128]),
571
                 .spu_wen_pckt_req              (spu_wen_pckt_req[122:104]),
572
                 .lsu_spu_ldst_ack              (lsu_spu_ldst_ack),
573
                 .ifu_spu_trap_ack              (ifu_spu_trap_ack),
574
                 .lsu_tlu_st_rs3_data_g         (spu_lsurpt1_rs3_data_g2[13:0]),
575
                 .spu_lsurpt1_rsrv_data_e       (exu_spu_rsrv_data_e[2:0]),
576
                 .spu_madp_mpa_addr             (spu_madp_mpa_addr_out[3:3]),
577
                 .mul_data_out                  (mul_data_out[0:0]),
578
                 .rclk                          (rclk),
579
                 .exu_lsu_ldst_va_e             (exu_lsu_ldst_va_e[7:0]),
580
                 .ifu_lsu_alt_space_e           (ifu_lsu_alt_space_e),
581
                 .ifu_lsu_ld_inst_e             (ifu_lsu_ld_inst_e),
582
                 .ifu_lsu_st_inst_e             (ifu_lsu_st_inst_e),
583
                 .ifu_spu_inst_vld_w            (ifu_spu_inst_vld_w),
584
                 .ifu_tlu_thrid_e               (ifu_tlu_thrid_e[1:0]),
585
                 .lsu_spu_asi_state_e           (lsu_spu_asi_state_e[7:0]),
586
                 .mul_spu_ack                   (mul_spu_ack),
587
                 .mul_spu_shf_ack               (mul_spu_shf_ack),
588
                 .grst_l                        (grst_l),
589
                 .arst_l                        (arst_l),
590
                 .se                            (se),
591
                 .si                            (scan1_1),
592
                .spu_wen_pcx_wen                (spu_wen_pcx_wen),
593
                .spu_wen_pcx_7170_sel           (spu_wen_pcx_7170_sel),
594
                .cpuid                          (const_cpuid[2:0]),
595
                .ifu_spu_nceen                  (ifu_spu_nceen[3:0]),
596
 
597
                 .spu_madp_cout_oprnd_sub_mod   (spu_madp_cout_oprnd_sub_mod),
598
                 .spu_madp_e_eq_one             (spu_madp_e_eq_one),
599
                 .spu_madp_m_eq_n               (spu_madp_m_eq_n),
600
                 .spu_madp_m_lt_n               (spu_madp_m_lt_n),
601
                 .spu_madp_perr         (spu_madp_perr),
602
                 .lsu_spu_early_flush_g         (lsu_spu_early_flush_g));
603
 
604
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.