Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / common / verilog / checkers / ncusiu / ncu_siu_chkr.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: ncu_siu_chkr.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 ============================================
35`ifdef SIU
36`define TOP siu_top
37`else
38`define TOP tb_top
39`endif
40
41module ncu_siu_chkr();
42
43`ifdef X_GUARD
44 // 0in known_driven -var sii_ncu_req -name sii_ncu_req_x_guard -module cpu
45 // 0in known_driven -var sii_ncu_data -name ncu_sii_data_x_guard -module cpu
46
47 // 0in known_driven -var ncu_sii_gnt -name ncu_sii_gnt_x_guard -module cpu
48
49 // 0in known_driven -var ncu_sii_pm -name ncu_sii_pm_x_guard -module cpu
50 // 0in known_driven -var ncu_sii_ba01 -name ncu_sii_ba01_x_guard -module cpu
51 // 0in known_driven -var ncu_sii_ba23 -name ncu_sii_ba23_x_guard -module cpu
52 // 0in known_driven -var ncu_sii_ba45 -name ncu_sii_ba45_x_guard -module cpu
53 // 0in known_driven -var ncu_sii_ba67 -name ncu_sii_ba67_x_guard -module cpu
54
55 // 0in known_driven -var ncu_sii_l2_idx_hash_en -name ncu_sii_l2_idx_hash_en_x_guard -module cpu
56`endif
57
58
59 /* x0in req_ack
60 -req sii_ncu_req
61 -ack ncu_sii_gnt
62 -req_until_ack
63 -max_ack 1
64 -max 1000
65 -module cpu
66 -name ncu_sii_req_ack1
67 */
68
69 /* x0in custom -fire sii_ncu_data[31]
70 -active ($0in_delay(ncu_sii_gnt, 1))
71 -clock `TOP.cpu.sii.iol2clk
72 -module cpu
73 -name sii_ncu_timeout_err
74 -message "Time out error in SIU to NCU Interface"
75 */
76
77 // check for reserved bits of header
78
79 /* 0in assert
80 -var ( |sii_ncu_data[27:22] == 1'b0)
81 -active $0in_delay(ncu_sii_gnt, 1)
82 -clock `TOP.cpu.sii.iol2clk
83 -module cpu
84 -name sii_ncu_hdr_rsrvd_bits
85 -message "reserved bits in header are not all zero"
86 */
87
88
89 // check for Error bits of header
90
91 /* x0in assert -- disable because the error bits SHOULD be set in some cases
92 -var ( |sii_ncu_data[31:29] == 1'b0)
93 -active ($0in_delay(ncu_sii_gnt, 1))
94 -clock `TOP.cpu.sii.iol2clk
95 -module cpu
96 -name sii_ncu_error_bits
97 -message "Error bits in header are not all zero"
98 */
99
100
101 // The minimum gap between 2 ncu_sii_gnt 4 clk
102
103 /* x0in assert_window
104 -start (ncu_sii_gnt)
105 -start_count 1
106 -stop_count 5
107 -not_in ncu_sii_gnt
108 -module cpu
109 -name ncu_sii_gnt_deassert_chk
110 */
111
112
113 // sii_ncu_req asserted always with iol2clk
114
115 /* x0in assert_leader
116 -leader ccu_io_out
117 -follower sii_ncu_req
118 -clock `TOP.cpu.sii.iol2clk
119 -name sii_ncu_req_clk_chk
120 -module cpu
121 */
122
123
124 // To confirm that ncu_sii_gnt asserted for 1 clk only
125
126 /* 0in assert_timer
127 -var ncu_sii_gnt
128 -max 1
129 -clock `TOP.cpu.sii.iol2clk
130 -name ncu_sii_gnt_chk
131 -module cpu
132 */
133
134 /***************************
135 Partial Bank Mode
136 **************************/
137
138 // check for invalid combinations: 5'b10000, 5'b10111, 5'b11011, 5'b11101, 5'b11110,
139
140 /* 0in value
141 -var {ncu_sii_pm, ncu_sii_ba01, ncu_sii_ba23, ncu_sii_ba45, ncu_sii_ba67}
142 -casex
143 -val 5'b0XXXX 5'b10001 5'b10010 5'b10011 5'b10100 5'b10101 5'b10110 5'b11000 5'b11001 5'b11010 5'b11100 5'b11111
144 -module cpu
145 -clock `TOP.cpu.sii.iol2clk
146 -message "Illegal combination of partial bank bits"
147 -name ncu_sii_illegal_partial_bits_constant
148 */
149
150
151 // Partial bank bits are not be changed
152
153 /* x0in constant
154 -var {ncu_sii_pm, ncu_sii_ba01, ncu_sii_ba23, ncu_sii_ba45, ncu_sii_ba67}
155 -module cpu
156 -clock `TOP.cpu.sii.iol2clk
157 -name ncu_sii_partial_bits_constant
158 */
159
160
161
162
163endmodule // niu_siu_chkr