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

Subversion Repositories sparc64soc

[/] [sparc64soc/] [trunk/] [T1-common/] [srams/] [bw_r_l2d.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: bw_r_l2d.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
module bw_r_l2d (/*AUTOARG*/
22
   // Outputs
23
   wr_en_buf, word_en_buf, way_sel_buf, so, set_buf,
24
   scdata_scbuf_decc_top_buf, scdata_scbuf_decc_bot_buf,
25
   scbuf_scdata_fbdecc_top_buf, scbuf_scdata_fbdecc_bot_buf,
26
   l2d_fuse_data_out, decc_out, decc_in_buf, col_offset_buf,
27
   fuse_l2d_rid_buf, fuse_l2d_data_in_buf, arst_l_buf, se_buf,
28
   sehold_buf, fuse_l2d_rden_buf, fuse_l2d_wren_buf, fuse_clk1_buf,
29
   fuse_clk2_buf, mem_write_disable_buf,
30
   // Inputs
31
   wr_en, word_en, way_sel, si, set, sehold, se,
32
   scdata_scbuf_decc_top, scdata_scbuf_decc_bot,
33
   scbuf_scdata_fbdecc_top, scbuf_scdata_fbdecc_bot, rclk,
34
   mem_write_disable, fuse_read_data_in, fuse_l2d_wren, fuse_l2d_rid,
35
   fuse_l2d_rden, fuse_l2d_data_in, efc_scdata_fuse_clk2,
36
   efc_scdata_fuse_clk1, decc_read_in, decc_in, col_offset, arst_l
37
   );
38
 
39
   /*AUTOINPUT*/
40
   // Beginning of automatic inputs (from unused autoinst inputs)
41
   input                arst_l;                 // To bot_rep of bw_r_l2d_rep_bot.v
42
   input                col_offset;             // To bot_rep of bw_r_l2d_rep_bot.v
43
   input [155:0] decc_in;                // To bot_rep of bw_r_l2d_rep_bot.v
44
   input [155:0] decc_read_in;           // To mem_0 of bw_r_l2d_32k.v
45
   input                efc_scdata_fuse_clk1;   // To bot_rep of bw_r_l2d_rep_bot.v
46
   input                efc_scdata_fuse_clk2;   // To bot_rep of bw_r_l2d_rep_bot.v
47
   input                fuse_l2d_data_in;       // To bot_rep of bw_r_l2d_rep_bot.v
48
   input                fuse_l2d_rden;          // To bot_rep of bw_r_l2d_rep_bot.v
49
   input [2:0]           fuse_l2d_rid;           // To bot_rep of bw_r_l2d_rep_bot.v
50
   input [5:0]           fuse_l2d_wren;          // To bot_rep of bw_r_l2d_rep_bot.v
51
   input                fuse_read_data_in;      // To bot_rep of bw_r_l2d_rep_bot.v
52
   input                mem_write_disable;      // To bot_rep of bw_r_l2d_rep_bot.v
53
   input                rclk;                   // To mem_0 of bw_r_l2d_32k.v, ...
54
   input [155:0] scbuf_scdata_fbdecc_bot;// To top_rep of bw_r_l2d_rep_top.v
55
   input [155:0] scbuf_scdata_fbdecc_top;// To top_rep of bw_r_l2d_rep_top.v
56
   input [155:0] scdata_scbuf_decc_bot;  // To bot_rep of bw_r_l2d_rep_bot.v
57
   input [155:0] scdata_scbuf_decc_top;  // To bot_rep of bw_r_l2d_rep_bot.v
58
   input                se;                     // To bot_rep of bw_r_l2d_rep_bot.v
59
   input                sehold;                 // To bot_rep of bw_r_l2d_rep_bot.v
60
   input [9:0]           set;                    // To bot_rep of bw_r_l2d_rep_bot.v
61
   input                si;                     // To bot_rep of bw_r_l2d_rep_bot.v
62
   input [11:0]          way_sel;                // To bot_rep of bw_r_l2d_rep_bot.v
63
   input [3:0]           word_en;                // To bot_rep of bw_r_l2d_rep_bot.v
64
   input                wr_en;                  // To bot_rep of bw_r_l2d_rep_bot.v
65
   // End of automatics
66
 
67
   output [2:0]          fuse_l2d_rid_buf;       // From bot_rep of bw_r_l2d_rep_bot.v
68
   output               fuse_l2d_data_in_buf;   // From bot_rep of bw_r_l2d_rep_bot.v
69
   output               arst_l_buf;             // From bot_rep of bw_r_l2d_rep_bot.v
70
   output               se_buf;                 // From bot_rep of bw_r_l2d_rep_bot.v
71
   output               sehold_buf;             // From bot_rep of bw_r_l2d_rep_bot.v
72
   output               fuse_l2d_rden_buf;      // From bot_rep of bw_r_l2d_rep_bot.v
73
   output [5:0]          fuse_l2d_wren_buf;      // From bot_rep of bw_r_l2d_rep_bot.v
74
   output               fuse_clk1_buf;
75
   output               fuse_clk2_buf;
76
   output               mem_write_disable_buf;
77
 
78
   /*AUTOOUTPUT*/
79
   // Beginning of automatic outputs (from unused autoinst outputs)
80
   output               col_offset_buf;         // From top_rep of bw_r_l2d_rep_top.v
81
   output [155:0]        decc_in_buf;            // From top_rep of bw_r_l2d_rep_top.v
82
   output [155:0]        decc_out;               // From mem_1 of bw_r_l2d_32k.v
83
   output               l2d_fuse_data_out;      // From mem_0 of bw_r_l2d_32k.v
84
   output [155:0]        scbuf_scdata_fbdecc_bot_buf;// From bot_rep of bw_r_l2d_rep_bot.v
85
   output [155:0]        scbuf_scdata_fbdecc_top_buf;// From bot_rep of bw_r_l2d_rep_bot.v
86
   output [155:0]        scdata_scbuf_decc_bot_buf;// From top_rep of bw_r_l2d_rep_top.v
87
   output [155:0]        scdata_scbuf_decc_top_buf;// From top_rep of bw_r_l2d_rep_top.v
88
   output [9:0]          set_buf;                // From top_rep of bw_r_l2d_rep_top.v
89
   output               so;                     // From mem_0 of bw_r_l2d_32k.v
90
   output [11:0] way_sel_buf;            // From top_rep of bw_r_l2d_rep_top.v
91
   output [3:0]          word_en_buf;            // From top_rep of bw_r_l2d_rep_top.v
92
   output               wr_en_buf;              // From top_rep of bw_r_l2d_rep_top.v
93
   // End of automatics
94
 
95
   wire [155:0]  decc_out_0;
96
   wire                 l2d_fuse_data_out_0;
97
 
98
   /*AUTOWIRE*/
99
   // Beginning of automatic wires (for undeclared instantiated-module outputs)
100
   wire                 col_offset_l;           // From bot_rep of bw_r_l2d_rep_bot.v
101
   wire [155:0]          decc_in_l;              // From bot_rep of bw_r_l2d_rep_bot.v
102
   wire [155:0]          fbdb_l;                 // From top_rep of bw_r_l2d_rep_top.v
103
   wire [155:0]          fbdt_l;                 // From top_rep of bw_r_l2d_rep_top.v
104
   wire                 fuse_read_data_in_buf;  // From bot_rep of bw_r_l2d_rep_bot.v
105
   wire [155:0]          sbdb_l;                 // From bot_rep of bw_r_l2d_rep_bot.v
106
   wire [155:0]          sbdt_l;                 // From bot_rep of bw_r_l2d_rep_bot.v
107
   wire [9:0]            set_l;                  // From bot_rep of bw_r_l2d_rep_bot.v
108
   wire                 si_buf;                 // From bot_rep of bw_r_l2d_rep_bot.v
109
   wire [11:0]           way_sel_l;              // From bot_rep of bw_r_l2d_rep_bot.v
110
   wire [3:0]            word_en_l;              // From bot_rep of bw_r_l2d_rep_bot.v
111
   wire                 wr_en_l;                // From bot_rep of bw_r_l2d_rep_bot.v
112
   // End of automatics
113
 
114
 
115
 
116
   bw_r_l2d_rep_bot  bot_rep (/*AUTOINST*/
117
                              // Outputs
118
                              .fuse_l2d_rden_buf(fuse_l2d_rden_buf),
119
                              .fuse_l2d_wren_buf(fuse_l2d_wren_buf[5:0]),
120
                              .si_buf   (si_buf),
121
                              .arst_l_buf(arst_l_buf),
122
                              .se_buf   (se_buf),
123
                              .sehold_buf(sehold_buf),
124
                              .fuse_l2d_rid_buf(fuse_l2d_rid_buf[2:0]),
125
                              .fuse_read_data_in_buf(fuse_read_data_in_buf),
126
                              .fuse_l2d_data_in_buf(fuse_l2d_data_in_buf),
127
                              .word_en_l(word_en_l[3:0]),
128
                              .col_offset_l(col_offset_l),
129
                              .set_l    (set_l[9:0]),
130
                              .wr_en_l  (wr_en_l),
131
                              .way_sel_l(way_sel_l[11:0]),
132
                              .decc_in_l(decc_in_l[155:0]),
133
                              .scbuf_scdata_fbdecc_top_buf(scbuf_scdata_fbdecc_top_buf[155:0]),
134
                              .scbuf_scdata_fbdecc_bot_buf(scbuf_scdata_fbdecc_bot_buf[155:0]),
135
                              .sbdt_l   (sbdt_l[155:0]),
136
                              .sbdb_l   (sbdb_l[155:0]),
137
                              .fuse_clk1_buf(fuse_clk1_buf),
138
                              .fuse_clk2_buf(fuse_clk2_buf),
139
                              .mem_write_disable_buf(mem_write_disable_buf),
140
                              // Inputs
141
                              .fuse_l2d_rden(fuse_l2d_rden),
142
                              .fuse_l2d_wren(fuse_l2d_wren[5:0]),
143
                              .si       (si),
144
                              .arst_l   (arst_l),
145
                              .se       (se),
146
                              .sehold   (sehold),
147
                              .fuse_l2d_rid(fuse_l2d_rid[2:0]),
148
                              .fuse_read_data_in(fuse_read_data_in),
149
                              .fuse_l2d_data_in(fuse_l2d_data_in),
150
                              .word_en  (word_en[3:0]),
151
                              .col_offset(col_offset),
152
                              .set      (set[9:0]),
153
                              .wr_en    (wr_en),
154
                              .way_sel  (way_sel[11:0]),
155
                              .decc_in  (decc_in[155:0]),
156
                              .fbdt_l   (fbdt_l[155:0]),
157
                              .fbdb_l   (fbdb_l[155:0]),
158
                              .scdata_scbuf_decc_top(scdata_scbuf_decc_top[155:0]),
159
                              .scdata_scbuf_decc_bot(scdata_scbuf_decc_bot[155:0]),
160
                              .efc_scdata_fuse_clk1(efc_scdata_fuse_clk1),
161
                              .efc_scdata_fuse_clk2(efc_scdata_fuse_clk2),
162
                              .mem_write_disable(mem_write_disable));
163
 
164
 
165
   bw_r_l2d_rep_top  top_rep (/*AUTOINST*/
166
                              // Outputs
167
                              .word_en_buf(word_en_buf[3:0]),
168
                              .col_offset_buf(col_offset_buf),
169
                              .set_buf  (set_buf[9:0]),
170
                              .wr_en_buf(wr_en_buf),
171
                              .way_sel_buf(way_sel_buf[11:0]),
172
                              .decc_in_buf(decc_in_buf[155:0]),
173
                              .fbdt_l   (fbdt_l[155:0]),
174
                              .fbdb_l   (fbdb_l[155:0]),
175
                              .scdata_scbuf_decc_top_buf(scdata_scbuf_decc_top_buf[155:0]),
176
                              .scdata_scbuf_decc_bot_buf(scdata_scbuf_decc_bot_buf[155:0]),
177
                              // Inputs
178
                              .word_en_l(word_en_l[3:0]),
179
                              .col_offset_l(col_offset_l),
180
                              .set_l    (set_l[9:0]),
181
                              .wr_en_l  (wr_en_l),
182
                              .way_sel_l(way_sel_l[11:0]),
183
                              .decc_in_l(decc_in_l[155:0]),
184
                              .scbuf_scdata_fbdecc_top(scbuf_scdata_fbdecc_top[155:0]),
185
                              .scbuf_scdata_fbdecc_bot(scbuf_scdata_fbdecc_bot[155:0]),
186
                              .sbdt_l   (sbdt_l[155:0]),
187
                              .sbdb_l   (sbdb_l[155:0]));
188
 
189
 
190
 
191
   /*
192
    bw_r_l2d_32k        AUTO_TEMPLATE(
193
    .way_sel_l(way_sel_l[@"(+ 9 (* @ 2))":@"(+ 8 (* @ 2))"]),
194
    .fuse_l2d_wren(fuse_l2d_wren_buf[@"(+ 4 @)"]),
195
    .fuse_l2d_rden(fuse_l2d_rden_buf),
196
    .si(si_buf),
197
    .se(se_buf),
198
    .arst_l(arst_l_buf),
199
    .sehold(sehold_buf),
200
    .mem_write_disable(mem_write_disable_buf),
201
    .fuse_l2d_rid(fuse_l2d_rid_buf[2:0]),
202
    .fuse_clk1(fuse_clk1_buf),
203
    .fuse_clk2(fuse_clk2_buf),
204
    .fuse_l2d_data_in(fuse_l2d_data_in_buf),
205
    .fuse_read_data_in(fuse_read_data_in_buf));
206
    */
207
 
208
 
209
   bw_r_l2d_32k mem_0(
210
                      //Inputs
211
                      .si               (scan_out_0),
212
                      .fuse_read_data_in(l2d_fuse_data_out_0),
213
                      //Outputs
214
                      .decc_out(decc_out_0[155:0]),
215
                      /*AUTOINST*/
216
                      // Outputs
217
                      .so               (so),
218
                      .l2d_fuse_data_out(l2d_fuse_data_out),
219
                      // Inputs
220
                      .decc_in_l        (decc_in_l[155:0]),
221
                      .decc_read_in     (decc_read_in[155:0]),
222
                      .word_en_l        (word_en_l[3:0]),
223
                      .way_sel_l        (way_sel_l[9:8]),        // Templated
224
                      .set_l            (set_l[9:0]),
225
                      .col_offset_l     (col_offset_l),
226
                      .wr_en_l          (wr_en_l),
227
                      .rclk             (rclk),
228
                      .arst_l           (arst_l_buf),            // Templated
229
                      .mem_write_disable(mem_write_disable_buf), // Templated
230
                      .sehold           (sehold_buf),            // Templated
231
                      .se               (se_buf),                // Templated
232
                      .fuse_l2d_wren    (fuse_l2d_wren_buf[4]),  // Templated
233
                      .fuse_l2d_rden    (fuse_l2d_rden_buf),     // Templated
234
                      .fuse_l2d_rid     (fuse_l2d_rid_buf[2:0]), // Templated
235
                      .fuse_clk1        (fuse_clk1_buf),         // Templated
236
                      .fuse_clk2        (fuse_clk2_buf),         // Templated
237
                      .fuse_l2d_data_in (fuse_l2d_data_in_buf));         // Templated
238
 
239
   bw_r_l2d_32k  mem_1(
240
                       //Inputs
241
                       .decc_read_in(decc_out_0),
242
                       //Outputs
243
                       .l2d_fuse_data_out(l2d_fuse_data_out_0),
244
                       .so              (scan_out_0),
245
                       /*AUTOINST*/
246
                       // Outputs
247
                       .decc_out        (decc_out[155:0]),
248
                       // Inputs
249
                       .decc_in_l       (decc_in_l[155:0]),
250
                       .word_en_l       (word_en_l[3:0]),
251
                       .way_sel_l       (way_sel_l[11:10]),      // Templated
252
                       .set_l           (set_l[9:0]),
253
                       .col_offset_l    (col_offset_l),
254
                       .wr_en_l         (wr_en_l),
255
                       .rclk            (rclk),
256
                       .arst_l          (arst_l_buf),            // Templated
257
                       .mem_write_disable(mem_write_disable_buf), // Templated
258
                       .sehold          (sehold_buf),            // Templated
259
                       .se              (se_buf),                // Templated
260
                       .si              (si_buf),                // Templated
261
                       .fuse_l2d_wren   (fuse_l2d_wren_buf[5]),  // Templated
262
                       .fuse_l2d_rden   (fuse_l2d_rden_buf),     // Templated
263
                       .fuse_l2d_rid    (fuse_l2d_rid_buf[2:0]), // Templated
264
                       .fuse_clk1       (fuse_clk1_buf),         // Templated
265
                       .fuse_clk2       (fuse_clk2_buf),         // Templated
266
                       .fuse_l2d_data_in(fuse_l2d_data_in_buf),  // Templated
267
                       .fuse_read_data_in(fuse_read_data_in_buf)); // Templated
268
 
269
endmodule // bw_r_l2d

powered by: WebSVN 2.1.0

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