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

Subversion Repositories sparc64soc

[/] [sparc64soc/] [trunk/] [T1-CPU/] [lsu/] [lsu_stb_ctldp.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: lsu_stb_ctldp.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
//FPGA_SYN enables all FPGA related modifications
22
`ifdef FPGA_SYN
23
`define FPGA_SYN_CLK_EN
24
`define FPGA_SYN_CLK_DFF
25
`endif
26
 
27
module lsu_stb_ctldp (/*AUTOARG*/
28
   // Outputs
29
   so, stb_state_si_0, stb_state_si_1, stb_state_si_2,
30
   stb_state_si_3, stb_state_si_4, stb_state_si_5, stb_state_si_6,
31
   stb_state_si_7, stb_state_rtype_0, stb_state_rtype_1,
32
   stb_state_rtype_2, stb_state_rtype_3, stb_state_rtype_4,
33
   stb_state_rtype_5, stb_state_rtype_6, stb_state_rtype_7,
34
   stb_state_rmo,
35
   // Inputs
36
   rclk, si, se, stb_clk_en_l, lsu_stb_va_m, lsu_st_rq_type_m,
37
   lsu_st_rmo_m
38
   );
39
 
40
   input rclk;
41
   input si;
42
   input se;
43
//   input tmb_l;
44
 
45
   output so;
46
 
47
   input [7:0] stb_clk_en_l;
48
 
49
   input [7:6] lsu_stb_va_m;
50
   input [2:1] lsu_st_rq_type_m;
51
   input       lsu_st_rmo_m;
52
 
53
   output [3:2] stb_state_si_0;
54
   output [3:2] stb_state_si_1;
55
   output [3:2] stb_state_si_2;
56
   output [3:2] stb_state_si_3;
57
   output [3:2] stb_state_si_4;
58
   output [3:2] stb_state_si_5;
59
   output [3:2] stb_state_si_6;
60
   output [3:2] stb_state_si_7;
61
 
62
   output [2:1] stb_state_rtype_0;
63
   output [2:1] stb_state_rtype_1;
64
   output [2:1] stb_state_rtype_2;
65
   output [2:1] stb_state_rtype_3;
66
   output [2:1] stb_state_rtype_4;
67
   output [2:1] stb_state_rtype_5;
68
   output [2:1] stb_state_rtype_6;
69
   output [2:1] stb_state_rtype_7;
70
 
71
   output [7:0] stb_state_rmo;
72
 
73
 
74
   wire [7:0] stb_clk;
75
 
76
   wire       clk;
77
   assign     clk = rclk;
78
 
79
`ifdef FPGA_SYN_CLK_EN
80
`else
81
   clken_buf stb0_clkbuf (
82
                .rclk   (clk),
83
                .enb_l  (stb_clk_en_l[0]),
84
                .tmb_l  (~se),
85
                .clk    (stb_clk[0])
86
                ) ;
87
`endif
88
 
89
`ifdef FPGA_SYN_CLK_EN
90
`else
91
   clken_buf stb1_clkbuf (
92
                .rclk   (clk),
93
                .enb_l  (stb_clk_en_l[1]),
94
                .tmb_l  (~se),
95
                .clk    (stb_clk[1])
96
                ) ;
97
`endif
98
 
99
`ifdef FPGA_SYN_CLK_EN
100
`else
101
   clken_buf stb2_clkbuf (
102
                .rclk   (clk),
103
                .enb_l  (stb_clk_en_l[2]),
104
                .tmb_l  (~se),
105
                .clk    (stb_clk[2])
106
                ) ;
107
`endif
108
 
109
`ifdef FPGA_SYN_CLK_EN
110
`else
111
   clken_buf stb3_clkbuf (
112
                .rclk   (clk),
113
                .enb_l  (stb_clk_en_l[3]),
114
                .tmb_l  (~se),
115
                .clk    (stb_clk[3])
116
                ) ;
117
`endif
118
 
119
`ifdef FPGA_SYN_CLK_EN
120
`else
121
   clken_buf stb4_clkbuf (
122
                .rclk   (clk),
123
                .enb_l  (stb_clk_en_l[4]),
124
                .tmb_l  (~se),
125
                .clk    (stb_clk[4])
126
                ) ;
127
`endif
128
 
129
`ifdef FPGA_SYN_CLK_EN
130
`else
131
   clken_buf stb5_clkbuf (
132
                .rclk   (clk),
133
                .enb_l  (stb_clk_en_l[5]),
134
                .tmb_l  (~se),
135
                .clk    (stb_clk[5])
136
                ) ;
137
`endif
138
 
139
`ifdef FPGA_SYN_CLK_EN
140
`else
141
   clken_buf stb6_clkbuf (
142
                .rclk   (clk),
143
                .enb_l  (stb_clk_en_l[6]),
144
                .tmb_l  (~se),
145
                .clk    (stb_clk[6])
146
                ) ;
147
`endif
148
 
149
`ifdef FPGA_SYN_CLK_EN
150
`else
151
   clken_buf stb7_clkbuf (
152
                .rclk   (clk),
153
                .enb_l  (stb_clk_en_l[7]),
154
                .tmb_l  (~se),
155
                .clk    (stb_clk[7])
156
                ) ;
157
`endif
158
 
159
 
160
 
161
`ifdef FPGA_SYN_CLK_DFF
162
  dffe_s #(5)  ff_spec_write_0         (
163
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
164
                                      lsu_st_rmo_m}),
165
        .q      ({stb_state_si_0[3:2], stb_state_rtype_0[2:1],
166
                                       stb_state_rmo[0]}    ),
167
        .en (~(stb_clk_en_l[0])), .clk(clk),
168
        .se     (se), .si (), .so ()
169
        );
170
`else
171
  dff_s #(5)  ff_spec_write_0         (
172
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
173
                                      lsu_st_rmo_m}),
174
        .q      ({stb_state_si_0[3:2], stb_state_rtype_0[2:1],
175
                                       stb_state_rmo[0]}    ),
176
        .clk    (stb_clk[0]),
177
        .se     (se), .si (), .so ()
178
        );
179
`endif
180
 
181
`ifdef FPGA_SYN_CLK_DFF
182
  dffe_s #(5)  ff_spec_write_1         (
183
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
184
                                      lsu_st_rmo_m}),
185
        .q      ({stb_state_si_1[3:2], stb_state_rtype_1[2:1],
186
                                   stb_state_rmo[1]}    ),
187
        .en (~(stb_clk_en_l[1])), .clk(clk),
188
        .se     (se), .si (), .so ()
189
        );
190
`else
191
  dff_s #(5)  ff_spec_write_1         (
192
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
193
                                      lsu_st_rmo_m}),
194
        .q      ({stb_state_si_1[3:2], stb_state_rtype_1[2:1],
195
                                   stb_state_rmo[1]}    ),
196
        .clk    (stb_clk[1]),
197
        .se     (se), .si (), .so ()
198
        );
199
`endif
200
 
201
`ifdef FPGA_SYN_CLK_DFF
202
  dffe_s #(5)  ff_spec_write_2         (
203
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
204
                                    lsu_st_rmo_m}),
205
        .q      ({stb_state_si_2[3:2], stb_state_rtype_2[2:1],
206
                                   stb_state_rmo[2]}    ),
207
        .en (~(stb_clk_en_l[2])), .clk(clk),
208
        .se     (se), .si (), .so ()
209
        );
210
`else
211
  dff_s #(5)  ff_spec_write_2         (
212
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
213
                                    lsu_st_rmo_m}),
214
        .q      ({stb_state_si_2[3:2], stb_state_rtype_2[2:1],
215
                                   stb_state_rmo[2]}    ),
216
        .clk    (stb_clk[2]),
217
        .se     (se), .si (), .so ()
218
        );
219
`endif
220
`ifdef FPGA_SYN_CLK_DFF
221
  dffe_s #(5)  ff_spec_write_3         (
222
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
223
                                    lsu_st_rmo_m}),
224
        .q      ({stb_state_si_3[3:2], stb_state_rtype_3[2:1],
225
                                   stb_state_rmo[3]}    ),
226
        .en (~(stb_clk_en_l[3])), .clk(clk),
227
        .se     (se), .si (), .so ()
228
        );
229
`else
230
  dff_s #(5)  ff_spec_write_3         (
231
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
232
                                    lsu_st_rmo_m}),
233
        .q      ({stb_state_si_3[3:2], stb_state_rtype_3[2:1],
234
                                   stb_state_rmo[3]}    ),
235
        .clk    (stb_clk[3]),
236
        .se     (se), .si (), .so ()
237
        );
238
`endif
239
`ifdef FPGA_SYN_CLK_DFF
240
  dffe_s #(5)  ff_spec_write_4         (
241
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
242
                                    lsu_st_rmo_m}),
243
        .q      ({stb_state_si_4[3:2], stb_state_rtype_4[2:1],
244
                                   stb_state_rmo[4]}    ),
245
        .en (~(stb_clk_en_l[4])), .clk(clk),
246
        .se     (se), .si (), .so ()
247
        );
248
`else
249
  dff_s #(5)  ff_spec_write_4         (
250
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
251
                                    lsu_st_rmo_m}),
252
        .q      ({stb_state_si_4[3:2], stb_state_rtype_4[2:1],
253
                                   stb_state_rmo[4]}    ),
254
        .clk    (stb_clk[4]),
255
        .se     (se), .si (), .so ()
256
        );
257
`endif
258
`ifdef FPGA_SYN_CLK_DFF
259
  dffe_s #(5)  ff_spec_write_5         (
260
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
261
                                    lsu_st_rmo_m}),
262
        .q      ({stb_state_si_5[3:2], stb_state_rtype_5[2:1],
263
                                   stb_state_rmo[5]}    ),
264
        .en (~(stb_clk_en_l[5])), .clk(clk),
265
        .se     (se), .si (), .so ()
266
        );
267
`else
268
  dff_s #(5)  ff_spec_write_5         (
269
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
270
                                    lsu_st_rmo_m}),
271
        .q      ({stb_state_si_5[3:2], stb_state_rtype_5[2:1],
272
                                   stb_state_rmo[5]}    ),
273
        .clk    (stb_clk[5]),
274
        .se     (se), .si (), .so ()
275
        );
276
`endif
277
`ifdef FPGA_SYN_CLK_DFF
278
  dffe_s #(5)  ff_spec_write_6         (
279
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
280
                                    lsu_st_rmo_m}),
281
        .q      ({stb_state_si_6[3:2], stb_state_rtype_6[2:1],
282
                                   stb_state_rmo[6]}    ),
283
        .en (~(stb_clk_en_l[6])), .clk(clk),
284
        .se     (se), .si (), .so ()
285
        );
286
`else
287
  dff_s #(5)  ff_spec_write_6         (
288
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
289
                                    lsu_st_rmo_m}),
290
        .q      ({stb_state_si_6[3:2], stb_state_rtype_6[2:1],
291
                                   stb_state_rmo[6]}    ),
292
        .clk    (stb_clk[6]),
293
        .se     (se), .si (), .so ()
294
        );
295
`endif
296
 
297
`ifdef FPGA_SYN_CLK_DFF
298
  dffe_s #(5)  ff_spec_write_7         (
299
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
300
                                    lsu_st_rmo_m}),
301
        .q      ({stb_state_si_7[3:2], stb_state_rtype_7[2:1],
302
                             stb_state_rmo[7]}    ),
303
        .en (~(stb_clk_en_l[7])), .clk(clk),
304
        .se     (se), .si (), .so ()
305
        );
306
`else
307
  dff_s #(5)  ff_spec_write_7         (
308
        .din    ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
309
                                    lsu_st_rmo_m}),
310
        .q      ({stb_state_si_7[3:2], stb_state_rtype_7[2:1],
311
                             stb_state_rmo[7]}    ),
312
        .clk    (stb_clk[7]),
313
        .se     (se), .si (), .so ()
314
        );
315
`endif
316
 
317
 
318
endmodule // lsu_stb_ctldp

powered by: WebSVN 2.1.0

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