Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / common / verilog / monitors / dmu_int_relocation_cov_mon.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: dmu_int_relocation_cov_mon.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 ============================================
35module mondo_reloc_cov_fsm ( clk,
36 rst_l,
37 im2rm_mdo_enq,
38 current_thread_id,
39 current_intctl_id,
40 current_mondo_intq_id,
41 int_ctl_id,
42 my_mondo_id,
43 map_thread_id,
44 seq_covered
45 );
46
47input clk;
48input rst_l;
49input im2rm_mdo_enq;
50input [5:0] current_thread_id;
51input [1:0] current_intctl_id;
52input [5:0] current_mondo_intq_id;
53input [1:0] int_ctl_id;
54input [5:0] map_thread_id;
55input [5:0] my_mondo_id;
56output seq_covered;
57
58parameter IDLE = 2'b00;
59parameter INT_1 = 2'b01;
60parameter THD_CHANGE = 2'b10;
61
62reg [1:0] state;
63reg [5:0] last_map_thread_id;
64reg seq_covered;
65
66always @(posedge clk)
67begin
68 if(rst_l == 1'b0)
69 begin
70 state = IDLE;
71 last_map_thread_id = map_thread_id;
72 seq_covered = 1'b0;
73 end
74 else
75 begin
76 case(state)
77 IDLE :
78 begin
79 if ((current_thread_id == map_thread_id) & (current_intctl_id == int_ctl_id) &
80 (current_mondo_intq_id == my_mondo_id) & (im2rm_mdo_enq == 1'b1))
81 begin
82 state = INT_1;
83 last_map_thread_id = map_thread_id;
84 end
85 seq_covered = 1'b0;
86 end
87
88 INT_1 :
89 begin
90 seq_covered = 1'b0;
91 if(last_map_thread_id != map_thread_id)
92 begin
93 state = THD_CHANGE;
94 end
95 end
96
97 THD_CHANGE :
98 begin
99 if(last_map_thread_id == map_thread_id)
100 begin
101 state = INT_1;
102 end
103 else if ((current_thread_id == map_thread_id) & (current_intctl_id == int_ctl_id) &
104 (current_mondo_intq_id == my_mondo_id) & (im2rm_mdo_enq == 1'b1))
105 begin
106 state = INT_1;
107 last_map_thread_id = map_thread_id;
108 seq_covered = 1'b1;
109 end
110 end
111 endcase
112 end
113end
114
115endmodule
116///////////////////////////////////////////////////////////////////////////////////////////////
117module intctl ( clk,
118 rst_l,
119 im2rm_mdo_enq,
120 current_thread_id,
121 current_intctl_id,
122 current_mondo_intq_id,
123 my_id,
124 seq_covered_status
125 );
126
127input clk;
128input rst_l;
129input im2rm_mdo_enq;
130input [5:0] current_thread_id;
131input [1:0] current_intctl_id;
132input [5:0] current_mondo_intq_id;
133input [1:0] my_id;
134output [41:0] seq_covered_status;
135
136wire [5:0] thread_id_mondo_20 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_20.interrupt_mapping_20_t_id_hw_read;
137wire [5:0] thread_id_mondo_21 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_21.interrupt_mapping_21_t_id_hw_read;
138wire [5:0] thread_id_mondo_22 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_22.interrupt_mapping_22_t_id_hw_read;
139wire [5:0] thread_id_mondo_23 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_23.interrupt_mapping_23_t_id_hw_read;
140wire [5:0] thread_id_mondo_24 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_24.interrupt_mapping_24_t_id_hw_read;
141wire [5:0] thread_id_mondo_25 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_25.interrupt_mapping_25_t_id_hw_read;
142wire [5:0] thread_id_mondo_26 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_26.interrupt_mapping_26_t_id_hw_read;
143wire [5:0] thread_id_mondo_27 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_27.interrupt_mapping_27_t_id_hw_read;
144wire [5:0] thread_id_mondo_28 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_28.interrupt_mapping_28_t_id_hw_read;
145wire [5:0] thread_id_mondo_29 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_29.interrupt_mapping_29_t_id_hw_read;
146
147wire [5:0] thread_id_mondo_30 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_30.interrupt_mapping_30_t_id_hw_read;
148wire [5:0] thread_id_mondo_31 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_31.interrupt_mapping_31_t_id_hw_read;
149wire [5:0] thread_id_mondo_32 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_32.interrupt_mapping_32_t_id_hw_read;
150wire [5:0] thread_id_mondo_33 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_33.interrupt_mapping_33_t_id_hw_read;
151wire [5:0] thread_id_mondo_34 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_34.interrupt_mapping_34_t_id_hw_read;
152wire [5:0] thread_id_mondo_35 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_35.interrupt_mapping_35_t_id_hw_read;
153wire [5:0] thread_id_mondo_36 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_36.interrupt_mapping_36_t_id_hw_read;
154wire [5:0] thread_id_mondo_37 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_37.interrupt_mapping_37_t_id_hw_read;
155wire [5:0] thread_id_mondo_38 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_38.interrupt_mapping_38_t_id_hw_read;
156wire [5:0] thread_id_mondo_39 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_39.interrupt_mapping_39_t_id_hw_read;
157
158wire [5:0] thread_id_mondo_40 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_40.interrupt_mapping_40_t_id_hw_read;
159wire [5:0] thread_id_mondo_41 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_41.interrupt_mapping_41_t_id_hw_read;
160wire [5:0] thread_id_mondo_42 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_42.interrupt_mapping_42_t_id_hw_read;
161wire [5:0] thread_id_mondo_43 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_43.interrupt_mapping_43_t_id_hw_read;
162wire [5:0] thread_id_mondo_44 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_44.interrupt_mapping_44_t_id_hw_read;
163wire [5:0] thread_id_mondo_45 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_45.interrupt_mapping_45_t_id_hw_read;
164wire [5:0] thread_id_mondo_46 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_46.interrupt_mapping_46_t_id_hw_read;
165wire [5:0] thread_id_mondo_47 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_47.interrupt_mapping_47_t_id_hw_read;
166wire [5:0] thread_id_mondo_48 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_48.interrupt_mapping_48_t_id_hw_read;
167wire [5:0] thread_id_mondo_49 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_49.interrupt_mapping_49_t_id_hw_read;
168
169wire [5:0] thread_id_mondo_50 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_50.interrupt_mapping_50_t_id_hw_read;
170wire [5:0] thread_id_mondo_51 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_51.interrupt_mapping_51_t_id_hw_read;
171wire [5:0] thread_id_mondo_52 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_52.interrupt_mapping_52_t_id_hw_read;
172wire [5:0] thread_id_mondo_53 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_53.interrupt_mapping_53_t_id_hw_read;
173wire [5:0] thread_id_mondo_54 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_54.interrupt_mapping_54_t_id_hw_read;
174wire [5:0] thread_id_mondo_55 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_55.interrupt_mapping_55_t_id_hw_read;
175wire [5:0] thread_id_mondo_56 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_56.interrupt_mapping_56_t_id_hw_read;
176wire [5:0] thread_id_mondo_57 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_57.interrupt_mapping_57_t_id_hw_read;
177wire [5:0] thread_id_mondo_58 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_58.interrupt_mapping_58_t_id_hw_read;
178wire [5:0] thread_id_mondo_59 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_59.interrupt_mapping_59_t_id_hw_read;
179
180wire [5:0] thread_id_mondo_62 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_62.interrupt_mapping_62_t_id_hw_read;
181wire [5:0] thread_id_mondo_63 = tb_top.cpu.dmu.dmc.imu.iss.csr.dmu_imu_iss_default_grp.interrupt_mapping_63.interrupt_mapping_63_t_id_hw_read;
182
183wire [41:0] seq_covered_status;
184
185
186mondo_reloc_cov_fsm cov_mondo_20
187 (
188 .clk (clk),
189 .rst_l (rst_l),
190 .im2rm_mdo_enq (im2rm_mdo_enq),
191 .current_thread_id (current_thread_id),
192 .current_intctl_id (current_intctl_id),
193 .current_mondo_intq_id (current_mondo_intq_id),
194 .int_ctl_id (my_id),
195 .my_mondo_id (6'h14),
196 .map_thread_id (thread_id_mondo_20),
197 .seq_covered (seq_covered_status[0])
198 );
199
200mondo_reloc_cov_fsm cov_mondo_21
201 (
202 .clk (clk),
203 .rst_l (rst_l),
204 .im2rm_mdo_enq (im2rm_mdo_enq),
205 .current_thread_id (current_thread_id),
206 .current_intctl_id (current_intctl_id),
207 .current_mondo_intq_id (current_mondo_intq_id),
208 .int_ctl_id (my_id),
209 .my_mondo_id (6'h15),
210 .map_thread_id (thread_id_mondo_21),
211 .seq_covered (seq_covered_status[1])
212 );
213
214mondo_reloc_cov_fsm cov_mondo_22
215 (
216 .clk (clk),
217 .rst_l (rst_l),
218 .im2rm_mdo_enq (im2rm_mdo_enq),
219 .current_thread_id (current_thread_id),
220 .current_intctl_id (current_intctl_id),
221 .current_mondo_intq_id (current_mondo_intq_id),
222 .int_ctl_id (my_id),
223 .my_mondo_id (6'h16),
224 .map_thread_id (thread_id_mondo_22),
225 .seq_covered (seq_covered_status[2])
226 );
227
228mondo_reloc_cov_fsm cov_mondo_23
229 (
230 .clk (clk),
231 .rst_l (rst_l),
232 .im2rm_mdo_enq (im2rm_mdo_enq),
233 .current_thread_id (current_thread_id),
234 .current_intctl_id (current_intctl_id),
235 .current_mondo_intq_id (current_mondo_intq_id),
236 .int_ctl_id (my_id),
237 .my_mondo_id (6'h17),
238 .map_thread_id (thread_id_mondo_23),
239 .seq_covered (seq_covered_status[3])
240 );
241
242mondo_reloc_cov_fsm cov_mondo_24
243 (
244 .clk (clk),
245 .rst_l (rst_l),
246 .im2rm_mdo_enq (im2rm_mdo_enq),
247 .current_thread_id (current_thread_id),
248 .current_intctl_id (current_intctl_id),
249 .current_mondo_intq_id (current_mondo_intq_id),
250 .int_ctl_id (my_id),
251 .my_mondo_id (6'h18),
252 .map_thread_id (thread_id_mondo_24),
253 .seq_covered (seq_covered_status[4])
254 );
255
256mondo_reloc_cov_fsm cov_mondo_25
257 (
258 .clk (clk),
259 .rst_l (rst_l),
260 .im2rm_mdo_enq (im2rm_mdo_enq),
261 .current_thread_id (current_thread_id),
262 .current_intctl_id (current_intctl_id),
263 .current_mondo_intq_id (current_mondo_intq_id),
264 .int_ctl_id (my_id),
265 .my_mondo_id (6'h19),
266 .map_thread_id (thread_id_mondo_25),
267 .seq_covered (seq_covered_status[5])
268 );
269
270mondo_reloc_cov_fsm cov_mondo_26
271 (
272 .clk (clk),
273 .rst_l (rst_l),
274 .im2rm_mdo_enq (im2rm_mdo_enq),
275 .current_thread_id (current_thread_id),
276 .current_intctl_id (current_intctl_id),
277 .current_mondo_intq_id (current_mondo_intq_id),
278 .int_ctl_id (my_id),
279 .my_mondo_id (6'h1a),
280 .map_thread_id (thread_id_mondo_26),
281 .seq_covered (seq_covered_status[6])
282 );
283
284mondo_reloc_cov_fsm cov_mondo_27
285 (
286 .clk (clk),
287 .rst_l (rst_l),
288 .im2rm_mdo_enq (im2rm_mdo_enq),
289 .current_thread_id (current_thread_id),
290 .current_intctl_id (current_intctl_id),
291 .current_mondo_intq_id (current_mondo_intq_id),
292 .int_ctl_id (my_id),
293 .my_mondo_id (6'h1b),
294 .map_thread_id (thread_id_mondo_27),
295 .seq_covered (seq_covered_status[7])
296 );
297
298mondo_reloc_cov_fsm cov_mondo_28
299 (
300 .clk (clk),
301 .rst_l (rst_l),
302 .im2rm_mdo_enq (im2rm_mdo_enq),
303 .current_thread_id (current_thread_id),
304 .current_intctl_id (current_intctl_id),
305 .current_mondo_intq_id (current_mondo_intq_id),
306 .int_ctl_id (my_id),
307 .my_mondo_id (6'h1c),
308 .map_thread_id (thread_id_mondo_28),
309 .seq_covered (seq_covered_status[8])
310 );
311
312mondo_reloc_cov_fsm cov_mondo_29
313 (
314 .clk (clk),
315 .rst_l (rst_l),
316 .im2rm_mdo_enq (im2rm_mdo_enq),
317 .current_thread_id (current_thread_id),
318 .current_intctl_id (current_intctl_id),
319 .current_mondo_intq_id (current_mondo_intq_id),
320 .int_ctl_id (my_id),
321 .my_mondo_id (6'h1d),
322 .map_thread_id (thread_id_mondo_29),
323 .seq_covered (seq_covered_status[9])
324 );
325
326mondo_reloc_cov_fsm cov_mondo_30
327 (
328 .clk (clk),
329 .rst_l (rst_l),
330 .im2rm_mdo_enq (im2rm_mdo_enq),
331 .current_thread_id (current_thread_id),
332 .current_intctl_id (current_intctl_id),
333 .current_mondo_intq_id (current_mondo_intq_id),
334 .int_ctl_id (my_id),
335 .my_mondo_id (6'h1e),
336 .map_thread_id (thread_id_mondo_30),
337 .seq_covered (seq_covered_status[10])
338 );
339
340mondo_reloc_cov_fsm cov_mondo_31
341 (
342 .clk (clk),
343 .rst_l (rst_l),
344 .im2rm_mdo_enq (im2rm_mdo_enq),
345 .current_thread_id (current_thread_id),
346 .current_intctl_id (current_intctl_id),
347 .current_mondo_intq_id (current_mondo_intq_id),
348 .int_ctl_id (my_id),
349 .my_mondo_id (6'h1f),
350 .map_thread_id (thread_id_mondo_31),
351 .seq_covered (seq_covered_status[11])
352 );
353
354mondo_reloc_cov_fsm cov_mondo_32
355 (
356 .clk (clk),
357 .rst_l (rst_l),
358 .im2rm_mdo_enq (im2rm_mdo_enq),
359 .current_thread_id (current_thread_id),
360 .current_intctl_id (current_intctl_id),
361 .current_mondo_intq_id (current_mondo_intq_id),
362 .int_ctl_id (my_id),
363 .my_mondo_id (6'h20),
364 .map_thread_id (thread_id_mondo_32),
365 .seq_covered (seq_covered_status[12])
366 );
367
368mondo_reloc_cov_fsm cov_mondo_33
369 (
370 .clk (clk),
371 .rst_l (rst_l),
372 .im2rm_mdo_enq (im2rm_mdo_enq),
373 .current_thread_id (current_thread_id),
374 .current_intctl_id (current_intctl_id),
375 .current_mondo_intq_id (current_mondo_intq_id),
376 .int_ctl_id (my_id),
377 .my_mondo_id (6'h21),
378 .map_thread_id (thread_id_mondo_33),
379 .seq_covered (seq_covered_status[13])
380 );
381
382mondo_reloc_cov_fsm cov_mondo_34
383 (
384 .clk (clk),
385 .rst_l (rst_l),
386 .im2rm_mdo_enq (im2rm_mdo_enq),
387 .current_thread_id (current_thread_id),
388 .current_intctl_id (current_intctl_id),
389 .current_mondo_intq_id (current_mondo_intq_id),
390 .int_ctl_id (my_id),
391 .my_mondo_id (6'h22),
392 .map_thread_id (thread_id_mondo_34),
393 .seq_covered (seq_covered_status[14])
394 );
395
396mondo_reloc_cov_fsm cov_mondo_35
397 (
398 .clk (clk),
399 .rst_l (rst_l),
400 .im2rm_mdo_enq (im2rm_mdo_enq),
401 .current_thread_id (current_thread_id),
402 .current_intctl_id (current_intctl_id),
403 .current_mondo_intq_id (current_mondo_intq_id),
404 .int_ctl_id (my_id),
405 .my_mondo_id (6'h23),
406 .map_thread_id (thread_id_mondo_35),
407 .seq_covered (seq_covered_status[15])
408 );
409
410mondo_reloc_cov_fsm cov_mondo_36
411 (
412 .clk (clk),
413 .rst_l (rst_l),
414 .im2rm_mdo_enq (im2rm_mdo_enq),
415 .current_thread_id (current_thread_id),
416 .current_intctl_id (current_intctl_id),
417 .current_mondo_intq_id (current_mondo_intq_id),
418 .int_ctl_id (my_id),
419 .my_mondo_id (6'h24),
420 .map_thread_id (thread_id_mondo_36),
421 .seq_covered (seq_covered_status[16])
422 );
423
424mondo_reloc_cov_fsm cov_mondo_37
425 (
426 .clk (clk),
427 .rst_l (rst_l),
428 .im2rm_mdo_enq (im2rm_mdo_enq),
429 .current_thread_id (current_thread_id),
430 .current_intctl_id (current_intctl_id),
431 .current_mondo_intq_id (current_mondo_intq_id),
432 .int_ctl_id (my_id),
433 .my_mondo_id (6'h25),
434 .map_thread_id (thread_id_mondo_37),
435 .seq_covered (seq_covered_status[17])
436 );
437
438mondo_reloc_cov_fsm cov_mondo_38
439 (
440 .clk (clk),
441 .rst_l (rst_l),
442 .im2rm_mdo_enq (im2rm_mdo_enq),
443 .current_thread_id (current_thread_id),
444 .current_intctl_id (current_intctl_id),
445 .current_mondo_intq_id (current_mondo_intq_id),
446 .int_ctl_id (my_id),
447 .my_mondo_id (6'h26),
448 .map_thread_id (thread_id_mondo_38),
449 .seq_covered (seq_covered_status[18])
450 );
451
452mondo_reloc_cov_fsm cov_mondo_39
453 (
454 .clk (clk),
455 .rst_l (rst_l),
456 .im2rm_mdo_enq (im2rm_mdo_enq),
457 .current_thread_id (current_thread_id),
458 .current_intctl_id (current_intctl_id),
459 .current_mondo_intq_id (current_mondo_intq_id),
460 .int_ctl_id (my_id),
461 .my_mondo_id (6'h27),
462 .map_thread_id (thread_id_mondo_39),
463 .seq_covered (seq_covered_status[19])
464 );
465
466mondo_reloc_cov_fsm cov_mondo_40
467 (
468 .clk (clk),
469 .rst_l (rst_l),
470 .im2rm_mdo_enq (im2rm_mdo_enq),
471 .current_thread_id (current_thread_id),
472 .current_intctl_id (current_intctl_id),
473 .current_mondo_intq_id (current_mondo_intq_id),
474 .int_ctl_id (my_id),
475 .my_mondo_id (6'h28),
476 .map_thread_id (thread_id_mondo_40),
477 .seq_covered (seq_covered_status[20])
478 );
479
480mondo_reloc_cov_fsm cov_mondo_41
481 (
482 .clk (clk),
483 .rst_l (rst_l),
484 .im2rm_mdo_enq (im2rm_mdo_enq),
485 .current_thread_id (current_thread_id),
486 .current_intctl_id (current_intctl_id),
487 .current_mondo_intq_id (current_mondo_intq_id),
488 .int_ctl_id (my_id),
489 .my_mondo_id (6'h29),
490 .map_thread_id (thread_id_mondo_41),
491 .seq_covered (seq_covered_status[21])
492 );
493
494mondo_reloc_cov_fsm cov_mondo_42
495 (
496 .clk (clk),
497 .rst_l (rst_l),
498 .im2rm_mdo_enq (im2rm_mdo_enq),
499 .current_thread_id (current_thread_id),
500 .current_intctl_id (current_intctl_id),
501 .current_mondo_intq_id (current_mondo_intq_id),
502 .int_ctl_id (my_id),
503 .my_mondo_id (6'h2a),
504 .map_thread_id (thread_id_mondo_42),
505 .seq_covered (seq_covered_status[22])
506 );
507
508mondo_reloc_cov_fsm cov_mondo_43
509 (
510 .clk (clk),
511 .rst_l (rst_l),
512 .im2rm_mdo_enq (im2rm_mdo_enq),
513 .current_thread_id (current_thread_id),
514 .current_intctl_id (current_intctl_id),
515 .current_mondo_intq_id (current_mondo_intq_id),
516 .int_ctl_id (my_id),
517 .my_mondo_id (6'h2b),
518 .map_thread_id (thread_id_mondo_43),
519 .seq_covered (seq_covered_status[23])
520 );
521
522mondo_reloc_cov_fsm cov_mondo_44
523 (
524 .clk (clk),
525 .rst_l (rst_l),
526 .im2rm_mdo_enq (im2rm_mdo_enq),
527 .current_thread_id (current_thread_id),
528 .current_intctl_id (current_intctl_id),
529 .current_mondo_intq_id (current_mondo_intq_id),
530 .int_ctl_id (my_id),
531 .my_mondo_id (6'h2c),
532 .map_thread_id (thread_id_mondo_44),
533 .seq_covered (seq_covered_status[24])
534 );
535
536mondo_reloc_cov_fsm cov_mondo_45
537 (
538 .clk (clk),
539 .rst_l (rst_l),
540 .im2rm_mdo_enq (im2rm_mdo_enq),
541 .current_thread_id (current_thread_id),
542 .current_intctl_id (current_intctl_id),
543 .current_mondo_intq_id (current_mondo_intq_id),
544 .int_ctl_id (my_id),
545 .my_mondo_id (6'h2d),
546 .map_thread_id (thread_id_mondo_45),
547 .seq_covered (seq_covered_status[25])
548 );
549
550mondo_reloc_cov_fsm cov_mondo_46
551 (
552 .clk (clk),
553 .rst_l (rst_l),
554 .im2rm_mdo_enq (im2rm_mdo_enq),
555 .current_thread_id (current_thread_id),
556 .current_intctl_id (current_intctl_id),
557 .current_mondo_intq_id (current_mondo_intq_id),
558 .int_ctl_id (my_id),
559 .my_mondo_id (6'h2e),
560 .map_thread_id (thread_id_mondo_46),
561 .seq_covered (seq_covered_status[26])
562 );
563
564mondo_reloc_cov_fsm cov_mondo_47
565 (
566 .clk (clk),
567 .rst_l (rst_l),
568 .im2rm_mdo_enq (im2rm_mdo_enq),
569 .current_thread_id (current_thread_id),
570 .current_intctl_id (current_intctl_id),
571 .current_mondo_intq_id (current_mondo_intq_id),
572 .int_ctl_id (my_id),
573 .my_mondo_id (6'h2f),
574 .map_thread_id (thread_id_mondo_47),
575 .seq_covered (seq_covered_status[27])
576 );
577
578mondo_reloc_cov_fsm cov_mondo_48
579 (
580 .clk (clk),
581 .rst_l (rst_l),
582 .im2rm_mdo_enq (im2rm_mdo_enq),
583 .current_thread_id (current_thread_id),
584 .current_intctl_id (current_intctl_id),
585 .current_mondo_intq_id (current_mondo_intq_id),
586 .int_ctl_id (my_id),
587 .my_mondo_id (6'h30),
588 .map_thread_id (thread_id_mondo_48),
589 .seq_covered (seq_covered_status[28])
590 );
591
592mondo_reloc_cov_fsm cov_mondo_49
593 (
594 .clk (clk),
595 .rst_l (rst_l),
596 .im2rm_mdo_enq (im2rm_mdo_enq),
597 .current_thread_id (current_thread_id),
598 .current_intctl_id (current_intctl_id),
599 .current_mondo_intq_id (current_mondo_intq_id),
600 .int_ctl_id (my_id),
601 .my_mondo_id (6'h31),
602 .map_thread_id (thread_id_mondo_49),
603 .seq_covered (seq_covered_status[29])
604 );
605
606mondo_reloc_cov_fsm cov_mondo_50
607 (
608 .clk (clk),
609 .rst_l (rst_l),
610 .im2rm_mdo_enq (im2rm_mdo_enq),
611 .current_thread_id (current_thread_id),
612 .current_intctl_id (current_intctl_id),
613 .current_mondo_intq_id (current_mondo_intq_id),
614 .int_ctl_id (my_id),
615 .my_mondo_id (6'h32),
616 .map_thread_id (thread_id_mondo_50),
617 .seq_covered (seq_covered_status[30])
618 );
619
620mondo_reloc_cov_fsm cov_mondo_51
621 (
622 .clk (clk),
623 .rst_l (rst_l),
624 .im2rm_mdo_enq (im2rm_mdo_enq),
625 .current_thread_id (current_thread_id),
626 .current_intctl_id (current_intctl_id),
627 .current_mondo_intq_id (current_mondo_intq_id),
628 .int_ctl_id (my_id),
629 .my_mondo_id (6'h33),
630 .map_thread_id (thread_id_mondo_51),
631 .seq_covered (seq_covered_status[31])
632 );
633
634mondo_reloc_cov_fsm cov_mondo_52
635 (
636 .clk (clk),
637 .rst_l (rst_l),
638 .im2rm_mdo_enq (im2rm_mdo_enq),
639 .current_thread_id (current_thread_id),
640 .current_intctl_id (current_intctl_id),
641 .current_mondo_intq_id (current_mondo_intq_id),
642 .int_ctl_id (my_id),
643 .my_mondo_id (6'h34),
644 .map_thread_id (thread_id_mondo_52),
645 .seq_covered (seq_covered_status[32])
646 );
647
648mondo_reloc_cov_fsm cov_mondo_53
649 (
650 .clk (clk),
651 .rst_l (rst_l),
652 .im2rm_mdo_enq (im2rm_mdo_enq),
653 .current_thread_id (current_thread_id),
654 .current_intctl_id (current_intctl_id),
655 .current_mondo_intq_id (current_mondo_intq_id),
656 .int_ctl_id (my_id),
657 .my_mondo_id (6'h35),
658 .map_thread_id (thread_id_mondo_53),
659 .seq_covered (seq_covered_status[33])
660 );
661
662mondo_reloc_cov_fsm cov_mondo_54
663 (
664 .clk (clk),
665 .rst_l (rst_l),
666 .im2rm_mdo_enq (im2rm_mdo_enq),
667 .current_thread_id (current_thread_id),
668 .current_intctl_id (current_intctl_id),
669 .current_mondo_intq_id (current_mondo_intq_id),
670 .int_ctl_id (my_id),
671 .my_mondo_id (6'h36),
672 .map_thread_id (thread_id_mondo_54),
673 .seq_covered (seq_covered_status[34])
674 );
675
676mondo_reloc_cov_fsm cov_mondo_55
677 (
678 .clk (clk),
679 .rst_l (rst_l),
680 .im2rm_mdo_enq (im2rm_mdo_enq),
681 .current_thread_id (current_thread_id),
682 .current_intctl_id (current_intctl_id),
683 .current_mondo_intq_id (current_mondo_intq_id),
684 .int_ctl_id (my_id),
685 .my_mondo_id (6'h37),
686 .map_thread_id (thread_id_mondo_55),
687 .seq_covered (seq_covered_status[35])
688 );
689
690mondo_reloc_cov_fsm cov_mondo_56
691 (
692 .clk (clk),
693 .rst_l (rst_l),
694 .im2rm_mdo_enq (im2rm_mdo_enq),
695 .current_thread_id (current_thread_id),
696 .current_intctl_id (current_intctl_id),
697 .current_mondo_intq_id (current_mondo_intq_id),
698 .int_ctl_id (my_id),
699 .my_mondo_id (6'h38),
700 .map_thread_id (thread_id_mondo_56),
701 .seq_covered (seq_covered_status[36])
702 );
703
704mondo_reloc_cov_fsm cov_mondo_57
705 (
706 .clk (clk),
707 .rst_l (rst_l),
708 .im2rm_mdo_enq (im2rm_mdo_enq),
709 .current_thread_id (current_thread_id),
710 .current_intctl_id (current_intctl_id),
711 .current_mondo_intq_id (current_mondo_intq_id),
712 .int_ctl_id (my_id),
713 .my_mondo_id (6'h39),
714 .map_thread_id (thread_id_mondo_57),
715 .seq_covered (seq_covered_status[37])
716 );
717
718mondo_reloc_cov_fsm cov_mondo_58
719 (
720 .clk (clk),
721 .rst_l (rst_l),
722 .im2rm_mdo_enq (im2rm_mdo_enq),
723 .current_thread_id (current_thread_id),
724 .current_intctl_id (current_intctl_id),
725 .current_mondo_intq_id (current_mondo_intq_id),
726 .int_ctl_id (my_id),
727 .my_mondo_id (6'h3a),
728 .map_thread_id (thread_id_mondo_58),
729 .seq_covered (seq_covered_status[38])
730 );
731
732mondo_reloc_cov_fsm cov_mondo_59
733 (
734 .clk (clk),
735 .rst_l (rst_l),
736 .im2rm_mdo_enq (im2rm_mdo_enq),
737 .current_thread_id (current_thread_id),
738 .current_intctl_id (current_intctl_id),
739 .current_mondo_intq_id (current_mondo_intq_id),
740 .int_ctl_id (my_id),
741 .my_mondo_id (6'h3b),
742 .map_thread_id (thread_id_mondo_59),
743 .seq_covered (seq_covered_status[39])
744 );
745
746mondo_reloc_cov_fsm cov_mondo_62
747 (
748 .clk (clk),
749 .rst_l (rst_l),
750 .im2rm_mdo_enq (im2rm_mdo_enq),
751 .current_thread_id (current_thread_id),
752 .current_intctl_id (current_intctl_id),
753 .current_mondo_intq_id (current_mondo_intq_id),
754 .int_ctl_id (my_id),
755 .my_mondo_id (6'h3e),
756 .map_thread_id (thread_id_mondo_62),
757 .seq_covered (seq_covered_status[40])
758 );
759
760mondo_reloc_cov_fsm cov_mondo_63
761 (
762 .clk (clk),
763 .rst_l (rst_l),
764 .im2rm_mdo_enq (im2rm_mdo_enq),
765 .current_thread_id (current_thread_id),
766 .current_intctl_id (current_intctl_id),
767 .current_mondo_intq_id (current_mondo_intq_id),
768 .int_ctl_id (my_id),
769 .my_mondo_id (6'h3e),
770 .map_thread_id (thread_id_mondo_63),
771 .seq_covered (seq_covered_status[41])
772 );
773endmodule
774
775//////////////////////////////////////////////////////////////////////////////////
776module dmu_int_relocation_cov_mon();
777
778wire clk;
779wire rst_l;
780wire im2rm_mdo_enq;
781wire [5:0] current_thread_id;
782wire [1:0] current_intctl_id;
783wire [5:0] current_mondo_intq_id;
784
785assign clk = tb_top.cpu.dmu.dmc.imu.gcs.csm.clk;
786assign rst_l = tb_top.cpu.dmu.dmc.imu.gcs.csm.rst_l;
787assign im2rm_mdo_enq = tb_top.cpu.dmu.dmc.imu.gcs.csm.im2rm_mdo_enq;
788assign current_thread_id = tb_top.cpu.dmu.dmc.imu.gcs.csm.iss2gcs_tid;
789assign current_intctl_id = tb_top.cpu.dmu.dmc.imu.gcs.csm.current_id;
790assign current_mondo_intq_id = tb_top.cpu.dmu.dmc.imu.gcs.csm.current_ino;
791
792wire [41:0] seq_covered_status_0, seq_covered_status_1, seq_covered_status_2, seq_covered_status_3;
793wire [41:0] seq_covered_status;
794assign seq_covered_status = (seq_covered_status_0 | seq_covered_status_1 | seq_covered_status_2 | seq_covered_status_3);
795
796intctl intctl0 (
797 .clk (clk),
798 .rst_l (rst_l),
799 .im2rm_mdo_enq (im2rm_mdo_enq),
800 .current_thread_id (current_thread_id),
801 .current_intctl_id (current_intctl_id),
802 .current_mondo_intq_id (current_mondo_intq_id),
803 .my_id (2'b00),
804 .seq_covered_status (seq_covered_status_0)
805 );
806
807intctl intctl1 (
808 .clk (clk),
809 .rst_l (rst_l),
810 .im2rm_mdo_enq (im2rm_mdo_enq),
811 .current_thread_id (current_thread_id),
812 .current_intctl_id (current_intctl_id),
813 .current_mondo_intq_id (current_mondo_intq_id),
814 .my_id (2'b01),
815 .seq_covered_status (seq_covered_status_1)
816 );
817
818
819intctl intctl2 (
820 .clk (clk),
821 .rst_l (rst_l),
822 .im2rm_mdo_enq (im2rm_mdo_enq),
823 .current_thread_id (current_thread_id),
824 .current_intctl_id (current_intctl_id),
825 .current_mondo_intq_id (current_mondo_intq_id),
826 .my_id (2'b10),
827 .seq_covered_status (seq_covered_status_2)
828 );
829
830
831intctl intctl3 (
832 .clk (clk),
833 .rst_l (rst_l),
834 .im2rm_mdo_enq (im2rm_mdo_enq),
835 .current_thread_id (current_thread_id),
836 .current_intctl_id (current_intctl_id),
837 .current_mondo_intq_id (current_mondo_intq_id),
838 .my_id (2'b11),
839 .seq_covered_status (seq_covered_status_3)
840 );
841
842endmodule