source: XOpenSparcT1/trunk/T1-CPU/spu/spu.v @ 6

Revision 6, 18.2 KB checked in by pntsvt00, 13 years ago (diff)

versione iniziale opensparc

Line 
1// ========== 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
30module spu (///*AUTOARG*/
31short_si0,short_so0,short_si1,short_so1,si1,so1,
32
33
34/*outputs*/
35
36spu_ifu_err_addr_w2,
37spu_ifu_mamem_err_w1,
38spu_ifu_int_w2,
39spu_lsu_ldxa_illgl_va_w2,
40
41spu_ifu_ttype_w2,
42spu_ifu_ttype_vld_w2,
43spu_ifu_ttype_tid_w2,
44
45spu_lsu_ldst_pckt,
46
47spu_mul_req_vld,
48spu_mul_areg_shf,
49spu_mul_areg_rst,
50spu_mul_acc,
51spu_mul_op1_data,
52spu_mul_op2_data,
53
54spu_lsu_ldxa_data_w2,
55spu_lsu_ldxa_data_vld_w2,
56spu_lsu_ldxa_tid_w2,
57
58spu_lsu_stxa_ack,
59spu_lsu_stxa_ack_tid,
60
61spu_mul_mulres_lshft,
62
63spu_tlu_rsrv_illgl_m,
64
65spu_ifu_corr_err_w2,
66spu_ifu_unc_err_w1,
67spu_lsu_unc_error_w2,
68
69
70/*inputs*/
71const_cpuid,
72cpx_spu_data_cx,
73lsu_spu_ldst_ack,
74
75mul_spu_ack,
76mul_spu_shf_ack,
77mul_data_out,
78
79lsu_spu_asi_state_e,
80ifu_spu_inst_vld_w,
81ifu_lsu_ld_inst_e,
82ifu_lsu_st_inst_e,
83ifu_lsu_alt_space_e,
84ifu_tlu_thrid_e,
85exu_lsu_ldst_va_e,
86exu_lsu_rs3_data_e,
87
88ifu_spu_trap_ack,
89
90lsu_spu_stb_empty,
91lsu_spu_strm_ack_cmplt,
92
93lsu_spu_early_flush_g,
94tlu_spu_flush_w,
95ifu_spu_flush_w,
96
97exu_spu_rsrv_data_e,
98ifu_spu_nceen,
99
100lsu_mamem_mrgn,
101mem_write_disable,
102mux_drive_disable,
103mem_bypass,
104
105se,
106sehold,
107grst_l,
108arst_l,
109rclk) ; 
110
111
112// ------------------------------------------------------------------
113///*AUTOINPUT*/
114// Beginning of automatic inputs (from unused autoinst inputs)
115input si1,short_si0,short_si1,se;
116input                   rclk ;
117input                   grst_l ;
118input                   arst_l ;
119input                   mem_write_disable ;
120input                   mux_drive_disable ;
121input                   sehold ;
122
123input tlu_spu_flush_w;
124input ifu_spu_flush_w;
125
126input [2:0]     const_cpuid;
127
128input [134:0] cpx_spu_data_cx;
129input  lsu_spu_ldst_ack;
130
131input mul_spu_ack;
132input mul_spu_shf_ack;
133input [63:0] mul_data_out;
134
135input [7:0] lsu_spu_asi_state_e;
136input ifu_spu_inst_vld_w;
137input ifu_lsu_ld_inst_e;
138input ifu_lsu_st_inst_e;
139input ifu_lsu_alt_space_e;
140input [1:0] ifu_tlu_thrid_e;
141input [7:0] exu_lsu_ldst_va_e;
142input [63:0] exu_lsu_rs3_data_e;
143
144input  ifu_spu_trap_ack;
145
146input [3:0] lsu_spu_stb_empty;
147input [1:0] lsu_spu_strm_ack_cmplt;
148
149input lsu_spu_early_flush_g;
150
151input [2:0] exu_spu_rsrv_data_e;
152
153input [3:0] ifu_spu_nceen;
154input [3:0] lsu_mamem_mrgn;
155
156input mem_bypass;
157
158// End of automatics
159// ------------------------------------------------------------------
160///*AUTOOUTPUT*/
161// Beginning of automatic outputs (from unused autoinst outputs)
162
163output so1,short_so1,short_so0;
164output spu_ifu_ttype_w2;
165output spu_ifu_ttype_vld_w2;
166output [1:0] spu_ifu_ttype_tid_w2;
167
168// ------------------------------
169
170output [123:0] spu_lsu_ldst_pckt;
171
172output spu_mul_req_vld;
173output spu_mul_areg_shf;
174output spu_mul_areg_rst;
175output spu_mul_acc;
176output [63:0] spu_mul_op1_data;
177output [63:0] spu_mul_op2_data;
178output [63:0] spu_lsu_ldxa_data_w2;
179output spu_lsu_ldxa_data_vld_w2;
180output [1:0] spu_lsu_ldxa_tid_w2;
181
182output spu_lsu_stxa_ack;
183output [1:0] spu_lsu_stxa_ack_tid;
184
185output spu_mul_mulres_lshft;
186
187output spu_tlu_rsrv_illgl_m;
188
189output spu_ifu_corr_err_w2;
190output spu_ifu_unc_err_w1;
191output spu_lsu_unc_error_w2;
192
193output [39:4] spu_ifu_err_addr_w2;
194output spu_ifu_mamem_err_w1;
195output spu_ifu_int_w2;
196output spu_lsu_ldxa_illgl_va_w2;
197
198
199// End of automatics
200// ------------------------------------------------------------------
201
202
203// ------------------------------------------------------------------
204// ------------------------------------------------------------------
205
206wire [123:0] spu_lsu_ldst_pckt;
207wire [65:0] spu_madp_evedata;
208wire [65:0] spu_madp_odddata;
209wire [7:1] spu_maaddr_memindx;
210wire [3:0] spu_maaddr_mamem_eveodd_sel_l;
211wire [2:0] spu_mactl_memmxsel_l;
212wire [38:3] spu_madp_mpa_addr_out;
213
214wire [63:0] spu_mul_op1_data;
215wire [63:0] spu_mul_op2_data;
216
217wire [3:0] spu_mared_data_sel_l;
218wire [63:0] spu_madp_store_data;
219
220
221// ------------------------------------
222
223wire [4:0] spu_maaddr_mpa_incr_val;
224
225// --------------------------------------------------------------
226
227wire spu_madp_perr;
228
229wire [2:0]                      spu_mamul_oprnd1_mxsel_l;       // From spu_ctl of spu_ctl.v
230
231wire [1:0]              spu_ctl_ldxa_tid_w2;
232
233
234wire [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
262wire [63:0] spu_lsurpt1_rs3_data_g2;
263
264wire [134:0] spu_lsurpt1_cpx_data;
265wire [134:0] spu_lsurpt2_cpx_data;
266
267wire [122:0] spu_lsurpt1_ldst_pckt;
268
269wire [63:0] spu_lsurpt1_ldxa_data;
270
271wire spu_wen_pcx_wen, spu_wen_pcx_7170_sel;
272
273
274wire [1:0] spu_ifu_ttype_tid_w;
275wire spu_lsu_unc_error_w;
276
277wire [65:0] spu_mamem_rd_eve_data;
278wire [65:0] spu_mamem_rd_odd_data;
279wire [122:104] spu_wen_pckt_req;
280
281wire [63:0] spu_madp_ldxa_data;
282wire [1:0] spu_lsu_stxa_ack_tid_ctl;
283
284wire [3:0] spu_mactl_ldxa_data_w_sel_l;
285wire  spu_mactl_ldxa_data_w_select;
286wire  spu_mactl_mpa_wen;
287wire  spu_mactl_maaddr_wen;
288wire  spu_mactl_manp_wen;
289wire  spu_wen_maln_wen;
290wire  [13:0] spu_mactl_mactl_reg;
291wire  [47:0] spu_madp_maaddr_reg;
292
293   wire    scan1_1;
294// End of automatics
295
296
297/****************************************************************************/
298spu_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
313spu_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 ---------------------------------------
374bw_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// -------------------------------------------------------------------------
406spu_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--------------------
494spu_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
604endmodule
Note: See TracBrowser for help on using the repository browser.