Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / siu / vera / packets / siu_l2_packet.vr
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: siu_l2_packet.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 ============================================
35#include "siu_basic_packet.vrh"
36
37// extended packet class for the L2
38class Siu_L2_Packet extends siu_basic_packet {
39 reg source; // source
40 reg [7:0] byte_en; // byte enable for WR8
41 reg [5:0] ctagecc;
42 reg [6:0] ecc[16]; // Ecc
43 reg valid; // Packet valid bit, for list control
44 reg jtag_access;
45 integer deq_delay;
46 integer wib_delay;
47 integer ctag_delay;
48
49 task new(
50 Siu_Packet_Type type,
51 reg [15:0] id,
52 reg [39:0] pa,
53 reg bypass = 0,
54 reg ue = 0,
55 reg posted = 0,
56 reg [63:0] data0 = 64'h0,
57 reg [63:0] data1 = 64'h0,
58 reg [63:0] data2 = 64'h0,
59 reg [63:0] data3 = 64'h0,
60 reg [63:0] data4 = 64'h0,
61 reg [63:0] data5 = 64'h0,
62 reg [63:0] data6 = 64'h0,
63 reg [63:0] data7 = 64'h0,
64 reg source,
65 reg [7:0] byte_en,
66 reg valid = 0,
67 integer deq_delay,
68 integer wib_delay,
69 integer ctag_delay
70 );
71}
72
73MakeVeraList(Siu_L2_Packet);
74
75task Siu_L2_Packet::new(
76 Siu_Packet_Type type,
77 reg [15:0] id,
78 reg [39:0] pa,
79 reg bypass = 0,
80 reg ue = 0,
81 reg posted = 0,
82 reg [63:0] data0 = 64'h0,
83 reg [63:0] data1 = 64'h0,
84 reg [63:0] data2 = 64'h0,
85 reg [63:0] data3 = 64'h0,
86 reg [63:0] data4 = 64'h0,
87 reg [63:0] data5 = 64'h0,
88 reg [63:0] data6 = 64'h0,
89 reg [63:0] data7 = 64'h0,
90 reg source,
91 reg [7:0] byte_en,
92 reg valid,
93 integer deq_delay,
94 integer wib_delay,
95 integer ctag_delay
96)
97{
98 super.new(type, id, pa, bypass, posted, ue, data0, data1, data2, data3, data4, data5, data6, data7);
99
100 // l2-siu variables init
101 this.source = source;
102 this.byte_en = byte_en;
103 this.valid = valid;
104 this.jtag_access = 0;
105 this.deq_delay = deq_delay;
106 this.wib_delay = wib_delay;
107 this.ctag_delay = ctag_delay;
108}