| 1 | // ========== Copyright Header Begin ========================================== |
| 2 | // |
| 3 | // OpenSPARC T2 Processor File: mcusat_scb_req_same_bank_sample.vrhpal |
| 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 ============================================ |
| 35 | wildcard trans t_scb_req_same_bank_0 (37'bxxxxxxxxxxxxxxx1_xxxxxxxxxxxxxxx1_xxxxx -> 37'bxxxxxxxxxxxxxxx0_xxxxxxxxxxxxxxx1_xxxxx); |
| 36 | wildcard trans t_scb_req_same_bank_1 (37'bxxxxxxxxxxxxxx1x_xxxxxxxxxxxxxx1x_xxxxx -> 37'bxxxxxxxxxxxxxx0x_xxxxxxxxxxxxxx1x_xxxxx); |
| 37 | wildcard trans t_scb_req_same_bank_2 (37'bxxxxxxxxxxxxx1xx_xxxxxxxxxxxxx1xx_xxxxx -> 37'bxxxxxxxxxxxxx0xx_xxxxxxxxxxxxx1xx_xxxxx); |
| 38 | wildcard trans t_scb_req_same_bank_3 (37'bxxxxxxxxxxxx1xxx_xxxxxxxxxxxx1xxx_xxxxx -> 37'bxxxxxxxxxxxx0xxx_xxxxxxxxxxxx1xxx_xxxxx); |
| 39 | wildcard trans t_scb_req_same_bank_4 (37'bxxxxxxxxxxx1xxxx_xxxxxxxxxxx1xxxx_xxxxx -> 37'bxxxxxxxxxxx0xxxx_xxxxxxxxxxx1xxxx_xxxxx); |
| 40 | wildcard trans t_scb_req_same_bank_5 (37'bxxxxxxxxxx1xxxxx_xxxxxxxxxx1xxxxx_xxxxx -> 37'bxxxxxxxxxx0xxxxx_xxxxxxxxxx1xxxxx_xxxxx); |
| 41 | wildcard trans t_scb_req_same_bank_6 (37'bxxxxxxxxx1xxxxxx_xxxxxxxxx1xxxxxx_xxxxx -> 37'bxxxxxxxxx0xxxxxx_xxxxxxxxx1xxxxxx_xxxxx); |
| 42 | wildcard trans t_scb_req_same_bank_7 (37'bxxxxxxxx1xxxxxxx_xxxxxxxx1xxxxxxx_xxxxx -> 37'bxxxxxxxx0xxxxxxx_xxxxxxxx1xxxxxxx_xxxxx); |
| 43 | wildcard trans t_scb_req_same_bank_8 (37'bxxxxxxx1xxxxxxxx_xxxxxxx1xxxxxxxx_xxxxx -> 37'bxxxxxxx0xxxxxxxx_xxxxxxx1xxxxxxxx_xxxxx); |
| 44 | wildcard trans t_scb_req_same_bank_9 (37'bxxxxxx1xxxxxxxxx_xxxxxx1xxxxxxxxx_xxxxx -> 37'bxxxxxx0xxxxxxxxx_xxxxxx1xxxxxxxxx_xxxxx); |
| 45 | wildcard trans t_scb_req_same_bank_10 (37'bxxxxx1xxxxxxxxxx_xxxxx1xxxxxxxxxx_xxxxx -> 37'bxxxxx0xxxxxxxxxx_xxxxx1xxxxxxxxxx_xxxxx); |
| 46 | wildcard trans t_scb_req_same_bank_11 (37'bxxxx1xxxxxxxxxxx_xxxx1xxxxxxxxxxx_xxxxx -> 37'bxxxx0xxxxxxxxxxx_xxxx1xxxxxxxxxxx_xxxxx); |
| 47 | wildcard trans t_scb_req_same_bank_12 (37'bxxx1xxxxxxxxxxxx_xxx1xxxxxxxxxxxx_xxxxx -> 37'bxxx0xxxxxxxxxxxx_xxx1xxxxxxxxxxxx_xxxxx); |
| 48 | wildcard trans t_scb_req_same_bank_13 (37'bxx1xxxxxxxxxxxxx_xx1xxxxxxxxxxxxx_xxxxx -> 37'bxx0xxxxxxxxxxxxx_xx1xxxxxxxxxxxxx_xxxxx); |
| 49 | wildcard trans t_scb_req_same_bank_14 (37'bx1xxxxxxxxxxxxxx_x1xxxxxxxxxxxxxx_xxxxx -> 37'bx0xxxxxxxxxxxxxx_x1xxxxxxxxxxxxxx_xxxxx); |
| 50 | wildcard trans t_scb_req_same_bank_15 (37'b1xxxxxxxxxxxxxxx_1xxxxxxxxxxxxxxx_xxxxx -> 37'b0xxxxxxxxxxxxxxx_1xxxxxxxxxxxxxxx_xxxxx); |
| 51 | |
| 52 | wildcard trans t_scb_req_same_bank_00 (37'bxxxxxxxxxxxxxxx1_xxxxxxxxxxxxxxx0_xxxxx -> 37'bxxxxxxxxxxxxxxx1_xxxxxxxxxxxxxxx1_xxxxx); |
| 53 | wildcard trans t_scb_req_same_bank_01 (37'bxxxxxxxxxxxxxx1x_xxxxxxxxxxxxxx0x_xxxxx -> 37'bxxxxxxxxxxxxxx1x_xxxxxxxxxxxxxx1x_xxxxx); |
| 54 | wildcard trans t_scb_req_same_bank_02 (37'bxxxxxxxxxxxxx1xx_xxxxxxxxxxxxx0xx_xxxxx -> 37'bxxxxxxxxxxxxx1xx_xxxxxxxxxxxxx1xx_xxxxx); |
| 55 | wildcard trans t_scb_req_same_bank_03 (37'bxxxxxxxxxxxx1xxx_xxxxxxxxxxxx0xxx_xxxxx -> 37'bxxxxxxxxxxxx1xxx_xxxxxxxxxxxx1xxx_xxxxx); |
| 56 | wildcard trans t_scb_req_same_bank_04 (37'bxxxxxxxxxxx1xxxx_xxxxxxxxxxx0xxxx_xxxxx -> 37'bxxxxxxxxxxx1xxxx_xxxxxxxxxxx1xxxx_xxxxx); |
| 57 | wildcard trans t_scb_req_same_bank_05 (37'bxxxxxxxxxx1xxxxx_xxxxxxxxxx0xxxxx_xxxxx -> 37'bxxxxxxxxxx1xxxxx_xxxxxxxxxx1xxxxx_xxxxx); |
| 58 | wildcard trans t_scb_req_same_bank_06 (37'bxxxxxxxxx1xxxxxx_xxxxxxxxx0xxxxxx_xxxxx -> 37'bxxxxxxxxx1xxxxxx_xxxxxxxxx1xxxxxx_xxxxx); |
| 59 | wildcard trans t_scb_req_same_bank_07 (37'bxxxxxxxx1xxxxxxx_xxxxxxxx0xxxxxxx_xxxxx -> 37'bxxxxxxxx1xxxxxxx_xxxxxxxx1xxxxxxx_xxxxx); |
| 60 | wildcard trans t_scb_req_same_bank_08 (37'bxxxxxxx1xxxxxxxx_xxxxxxx0xxxxxxxx_xxxxx -> 37'bxxxxxxx1xxxxxxxx_xxxxxxx1xxxxxxxx_xxxxx); |
| 61 | wildcard trans t_scb_req_same_bank_09 (37'bxxxxxx1xxxxxxxxx_xxxxxx0xxxxxxxxx_xxxxx -> 37'bxxxxxx1xxxxxxxxx_xxxxxx1xxxxxxxxx_xxxxx); |
| 62 | wildcard trans t_scb_req_same_bank_010 (37'bxxxxx1xxxxxxxxxx_xxxxx0xxxxxxxxxx_xxxxx -> 37'bxxxxx1xxxxxxxxxx_xxxxx1xxxxxxxxxx_xxxxx); |
| 63 | wildcard trans t_scb_req_same_bank_011 (37'bxxxx1xxxxxxxxxxx_xxxx0xxxxxxxxxxx_xxxxx -> 37'bxxxx1xxxxxxxxxxx_xxxx1xxxxxxxxxxx_xxxxx); |
| 64 | wildcard trans t_scb_req_same_bank_012 (37'bxxx1xxxxxxxxxxxx_xxx0xxxxxxxxxxxx_xxxxx -> 37'bxxx1xxxxxxxxxxxx_xxx1xxxxxxxxxxxx_xxxxx); |
| 65 | wildcard trans t_scb_req_same_bank_013 (37'bxx1xxxxxxxxxxxxx_xx0xxxxxxxxxxxxx_xxxxx -> 37'bxx1xxxxxxxxxxxxx_xx1xxxxxxxxxxxxx_xxxxx); |
| 66 | wildcard trans t_scb_req_same_bank_014 (37'bx1xxxxxxxxxxxxxx_x0xxxxxxxxxxxxxx_xxxxx -> 37'bx1xxxxxxxxxxxxxx_x1xxxxxxxxxxxxxx_xxxxx); |
| 67 | wildcard trans t_scb_req_same_bank_015 (37'b1xxxxxxxxxxxxxxx_0xxxxxxxxxxxxxxx_xxxxx -> 37'b1xxxxxxxxxxxxxxx_1xxxxxxxxxxxxxxx_xxxxx); |
| 68 | |
| 69 | |
| 70 | // req to same bank issued before scrub ( both to the same bank) |
| 71 | // bad transitions ( both to the same bank) |
| 72 | // case when there is scb req already and the req comes on and then scrb is not served |
| 73 | // wildcard bad_trans t_scb_req_same_bank_bad_0 (21'bxxxxxxx1_xxxxxxx0_01010 -> 21'bxxxxxxx1_xxxxxxx1_01010[.1:50.] -> 21'bxxxxxxx1_xxxxxxx0_01010); |
| 74 | // wildcard bad_trans t_scb_req_same_bank_bad_1 (21'bxxxxxx1x_xxxxxx0x_01010 -> 21'bxxxxxx1x_xxxxxx1x_01010[.1:50.] -> 21'bxxxxxx1x_xxxxxx0x_01010); |
| 75 | // wildcard bad_trans t_scb_req_same_bank_bad_2 (21'bxxxxx1xx_xxxxx0xx_01010 -> 21'bxxxxx1xx_xxxxx1xx_01010[.1:50.] -> 21'bxxxxx1xx_xxxxx0xx_01010); |
| 76 | // wildcard bad_trans t_scb_req_same_bank_bad_3 (21'bxxxx1xxx_xxxx0xxx_01010 -> 21'bxxxx1xxx_xxxx1xxx_01010[.1:50.] -> 21'bxxxx1xxx_xxxx0xxx_01010); |
| 77 | // wildcard bad_trans t_scb_req_same_bank_bad_4 (21'bxxx1xxxx_xxx0xxxx_01010 -> 21'bxxx1xxxx_xxx1xxxx_01010[.1:50.] -> 21'bxxx1xxxx_xxx0xxxx_01010); |
| 78 | // wildcard bad_trans t_scb_req_same_bank_bad_5 (21'bxx1xxxxx_xx0xxxxx_01010 -> 21'bxx1xxxxx_xx1xxxxx_01010[.1:50.] -> 21'bxx1xxxxx_xx0xxxxx_01010); |
| 79 | // wildcard bad_trans t_scb_req_same_bank_bad_6 (21'bx1xxxxxx_x0xxxxxx_01010 -> 21'bx1xxxxxx_x1xxxxxx_01010[.1:50.] -> 21'bx1xxxxxx_x0xxxxxx_01010); |
| 80 | // wildcard bad_trans t_scb_req_same_bank_bad_7 (21'b1xxxxxxx_0xxxxxxx_01010 -> 21'b1xxxxxxx_1xxxxxxx_01010[.1:50.] -> 21'b1xxxxxxx_0xxxxxxx_01010); |
| 81 | // |
| 82 | // // case when req is there and then scrb req comes, req is not served for 2 cycles, then the scrb should |
| 83 | // // be served first and then req served |
| 84 | // wildcard bad_trans t_scb_req_same_bank_bad_9 (21'bxxxxxxx0_xxxxxxx1_01010 -> 21'bxxxxxxx1_xxxxxxx1_01010[.2:50.] -> 21'bxxxxxxx1_xxxxxxx0_01010); |
| 85 | // wildcard bad_trans t_scb_req_same_bank_bad_10 (21'bxxxxxx1x_xxxxxx0x_01010 -> 21'bxxxxxx1x_xxxxxx1x_01010[.2:50.] -> 21'bxxxxxx1x_xxxxxx0x_01010); |
| 86 | // wildcard bad_trans t_scb_req_same_bank_bad_11 (21'bxxxxx1xx_xxxxx0xx_01010 -> 21'bxxxxx1xx_xxxxx1xx_01010[.2:50.] -> 21'bxxxxx1xx_xxxxx0xx_01010); |
| 87 | // wildcard bad_trans t_scb_req_same_bank_bad_12 (21'bxxxx1xxx_xxxx0xxx_01010 -> 21'bxxxx1xxx_xxxx1xxx_01010[.2:50.] -> 21'bxxxx1xxx_xxxx0xxx_01010); |
| 88 | // wildcard bad_trans t_scb_req_same_bank_bad_13 (21'bxxx1xxxx_xxx0xxxx_01010 -> 21'bxxx1xxxx_xxx1xxxx_01010[.2:50.] -> 21'bxxx1xxxx_xxx0xxxx_01010); |
| 89 | // wildcard bad_trans t_scb_req_same_bank_bad_14 (21'bxx1xxxxx_xx0xxxxx_01010 -> 21'bxx1xxxxx_xx1xxxxx_01010[.2:50.] -> 21'bxx1xxxxx_xx0xxxxx_01010); |
| 90 | // wildcard bad_trans t_scb_req_same_bank_bad_15 (21'bx1xxxxxx_x0xxxxxx_01010 -> 21'bx1xxxxxx_x1xxxxxx_01010[.2:50.] -> 21'bx1xxxxxx_x0xxxxxx_01010); |
| 91 | // wildcard bad_trans t_scb_req_same_bank_bad_21 (21'b1xxxxxxx_0xxxxxxx_01010 -> 21'b1xxxxxxx_1xxxxxxx_01010[.2:50.] -> 21'b1xxxxxxx_0xxxxxxx_01010); |
| 92 | // } |