Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / common / vera / niu_ippktgen / pc_db.vr
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: pc_db.vr
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 ============================================
35class pc_db {
36
37 bit [10:0] info_ram_ptr[]; // IBTP info_ram addr
38 bit [10:0] rdmaw_offset[]; //
39 bit [1:0] rdmaw_type[]; //
40 bit se[]; //
41 bit [4:0] ibtp_opcode[]; //
42 bit [13:0] end_pkt_ptr[]; //
43 bit [13:0] start_pkt_ptr[]; //
44 bit rtnptr_flag[]; //
45 bit ack_req[]; //
46 bit [7:0] qp_num[]; // MSB alwys 0 Extra bit
47 bit [7:0] opcode[];
48 bit [7:0] syndrome[];
49 bit [15:0] payload_len[]; // SQM payload_len
50 bit [23:0] msn[];
51 bit [23:0] psn[];
52 bit [229:0] qr_data[];
53 bit [111:0] ir_data[];
54 bit [111:0] ir_data1[];
55 bit [3:0] vl[];
56 bit [127:0] cw[];
57 bit done_tbs[];
58 integer obs_tbs[];
59 integer pc_port[];
60 integer packet_len[];
61 integer bmc_error[]; // This is a request to insert bmc error
62 integer bmc_error_done[]; // This is a ack that bmc error is inserted sucessfully
63 bit qp_perr[];
64 integer error_action[];
65 integer pkt_done[];
66 bit [7:0] bktcount[];
67 integer data_length[];
68 bit sqm_error[];
69 integer num_of_lines[];
70 bit data_fifo_error[];
71 integer bmc_error_count[];
72 bit bkt_err[];
73 bit bad_opcode[];
74 bit got_tag[];
75 bit rtn_bkt_done[];
76
77
78
79
80 task new(){
81
82
83 info_ram_ptr[0] = 11'h0_00;
84 rdmaw_offset[0] = 11'h0_00;
85 rdmaw_type[0] = 2'b00;
86 se[0] = 1'b0;
87 ibtp_opcode[0] = 5'h00;
88 end_pkt_ptr[0] = 14'h0000;
89 start_pkt_ptr[0] = 14'h0000;
90 rtnptr_flag[0] = 1'b0;
91 ack_req[0] = 1'b0;
92 qp_num[0] = 8'h00;
93 opcode[0] = 8'h00;
94 syndrome[0] = 8'h00;
95 payload_len[0] = 16'h0000;
96 msn[0] = 24'h00_0000;
97 psn[0] = 24'h00_0000;
98 qr_data[0] = 0;
99 ir_data[0] = 0;
100 ir_data1[0] = 0;
101 vl[0] = 4'b0000;
102 pc_port[0] = 0;
103 packet_len[0] = 0;
104 bmc_error[0] = 0;
105 bmc_error_done[0] = 0;
106 qp_perr[0] = 1'b1;
107 error_action[0] = 0; //NONE ( OR NO_ERROR)
108 pkt_done[0] = 0;
109 bktcount[0] = 0;
110 cw[0] = 0;
111 obs_tbs[0] = 0;
112 done_tbs[0] = 0;
113 data_length[0] = 100000000; // Dirty work required for
114 // old test to work sorry!!! sudhir
115 sqm_error[0] = 0;
116 num_of_lines[0] = 0;
117 data_fifo_error[0] = 0;
118 bmc_error_count[0] = 0;
119 bkt_err[0] = 0;
120 bad_opcode[0] = 0;
121 got_tag[0] = 0;
122 rtn_bkt_done[0] = 0;
123
124 }
125 }