OpenCores
URL https://opencores.org/ocsvn/s1_core/s1_core/trunk

Subversion Repositories s1_core

[/] [s1_core/] [trunk/] [tools/] [src/] [tracan.h] - Blame information for rev 113

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 113 albert.wat
// Header file for trace analyzer
2
 
3
#include <stdlib.h>
4
#include <stdio.h>
5
#include <string.h>
6
 
7
const int LEN_REQ = 125;
8
const int LEN_RET = 146;
9
 
10
// Symbols used in trace.vcd generated from official OpenSPARC T1 sims
11
const char VCD_ID_PCX_REQ   = '!';
12
const char VCD_ID_PCX_ATOM  = '^';
13
const char VCD_ID_PCX_DATA  = '"';
14
const char VCD_ID_PCX_GRANT = 'f';
15
const char VCD_ID_CPX_READY = '#';
16
const char VCD_ID_CPX_DATA  = '$';
17
 
18
// From T1 defs
19
 
20
#define PCX_VLD         123  //PCX packet valid 
21
#define PCX_RQ_HI       122  //PCX request type field 
22
#define PCX_RQ_LO       118
23
#define PCX_NC          117  //PCX non-cacheable bit
24
#define PCX_R           117  //PCX read/!write bit 
25
#define PCX_CP_HI       116  //PCX cpu_id field
26
#define PCX_CP_LO       114
27
#define PCX_TH_HI       113  //PCX Thread field
28
#define PCX_TH_LO       112
29
#define PCX_BF_HI       111  //PCX buffer id field
30
#define PCX_INVALL      111
31
#define PCX_BF_LO       109
32
#define PCX_WY_HI       108  //PCX replaced L1 way field
33
#define PCX_WY_LO       107
34
#define PCX_P_HI        108  //PCX packet ID, 1st STQ - 10, 2nd - 01
35
#define PCX_P_LO        107
36
#define PCX_SZ_HI       106  //PCX load/store size field
37
#define PCX_SZ_LO       104
38
#define PCX_ERR_HI      106  //PCX error field
39
#define PCX_ERR_LO      104
40
#define PCX_AD_HI       103  //PCX address field
41
#define PCX_AD_LO        64
42
#define PCX_DA_HI        63  //PCX Store data
43
#define PCX_DA_LO         0  
44
 
45
#define PCX_SZ_1B    0x0
46
#define PCX_SZ_2B    0x1
47
#define PCX_SZ_4B    0x2
48
#define PCX_SZ_8B    0x3
49
#define PCX_SZ_16B   0x7
50
 
51
#define CPX_VLD         144  //CPX payload packet valid
52
 
53
#define CPX_RQ_HI       143  //CPX Request type
54
#define CPX_RQ_LO       140
55
#define CPX_ERR_HI      139  //CPX error field
56
#define CPX_ERR_LO      137
57
#define CPX_NC          136  //CPX non-cacheable
58
#define CPX_R           136  //CPX read/!write bit
59
#define CPX_TH_HI       135  //CPX thread ID field 
60
#define CPX_TH_LO       134
61
 
62
//bits 133:128 are shared by different fields
63
//for different packet types.
64
 
65
#define CPX_IN_HI       133  //CPX Interrupt source 
66
#define CPX_IN_LO       128  
67
 
68
#define CPX_WYVLD       133  //CPX replaced way valid
69
#define CPX_WY_HI       132  //CPX replaced I$/D$ way
70
#define CPX_WY_LO       131
71
#define CPX_BF_HI       130  //CPX buffer ID field - 3 bits
72
#define CPX_BF_LO       128
73
 
74
#define CPX_SI_HI       132  //L1 set ID - PA[10:6]- 5 bits
75
#define CPX_SI_LO       128  //used for invalidates
76
 
77
#define CPX_P_HI        131  //CPX packet ID, 1st STQ - 10, 2nd - 01 
78
#define CPX_P_LO        130
79
 
80
#define CPX_ASI         130  //CPX forward request to ASI
81
#define CPX_IF4B        130
82
#define CPX_IINV        124
83
#define CPX_DINV        123
84
#define CPX_INVPA5      122
85
#define CPX_INVPA4      121
86
#define CPX_CPUID_HI    120
87
#define CPX_CPUID_LO    118
88
#define CPX_INV_PA_HI   116
89
#define CPX_INV_PA_LO   112
90
#define CPX_INV_IDX_HI   117
91
#define CPX_INV_IDX_LO   112
92
 
93
#define CPX_DA_HI       127  //CPX data payload
94
#define CPX_DA_LO         0
95
 
96
#define LOAD_RQ         0x00
97
#define IMISS_RQ        0x10
98
#define STORE_RQ        0x01
99
#define CAS1_RQ         0x02
100
#define CAS2_RQ         0x03
101
#define SWAP_RQ         0x06
102
#define STRLOAD_RQ      0x04
103
#define STRST_RQ        0x05
104
#define STQ_RQ          0x07  // Not found in official waves
105
#define INT_RQ          0x09  // NF
106
#define FWD_RQ          0x0D  // NF
107
#define FWD_RPY         0x0E  // NF
108
#define RSVD_RQ         0x1F  // NF
109
// Added by Simply RISC
110
#define ATOM_REQ_A      0x0A
111
#define ATOM_REQ_B      0x0B
112
 
113
#define LOAD_RET        0x0
114
#define INV_RET         0x3  // Not found in official waves
115
#define ST_ACK          0x4
116
#define AT_ACK          0x3  // NF
117
#define INT_RET         0x7
118
#define TEST_RET        0x5  // NF
119
#define FP_RET          0x8
120
#define IFILL_RET       0x1
121
#define EVICT_REQ       0x3  // NF
122
#define ERR_RET         0xC  // NF
123
#define STRLOAD_RET     0x2
124
#define STRST_ACK       0x6
125
#define FWD_RQ_RET      0xA  // NF
126
#define FWD_RPY_RET     0xB  // NF
127
#define RSVD_RET        0xF  // NF
128
 
129
//End cache crossbar defines

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.