-
Notifications
You must be signed in to change notification settings - Fork 1
/
Store_Queue.vr
65 lines (52 loc) · 1.84 KB
/
Store_Queue.vr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// See LICENSE for license details.
#ifndef INC_STORE_QUEUE
#define INC_STORE_QUEUE
//////////////////////////////////////////////////////////////////////////////
// File name: Store_Queue.vr
//
// This file is just a wrapper around a queue. The intended use is to store
// all 'outstanding' stores for each processor, to make things go faster.
//////////////////////////////////////////////////////////////////////////////
//------------------------------------------------------------------------------
//----- Include Related Files Here
//------------------------------------------------------------------------------
#include "generic_trans.vrh"
#include "Trace_trans.vrh"
// declare external tasks/classes/functions here if necessary
//------------------------------------------------------------------------------
//----- Place Special Definitions Here
//------------------------------------------------------------------------------
// --- Some of the definitions are placed in FromTheVerilog_defs.vrh
//------------------------------------------------------------------------------
//----- Place Auxiliary Classes Here
//------------------------------------------------------------------------------
class Store_Queue
{
integer _DEBUG_;
/*Outstanding Stores*/
Trace_trans ttQ[$];
// Constructor
//-------------
task new(integer _DEBUG);
task LogMeToFile(integer fd);
}
//----------------------------------------
task Store_Queue::new(integer _DEBUG)
{
_DEBUG_ = _DEBUG;
}
//----------------------------------------
task Store_Queue::LogMeToFile(integer fd)
{
integer ii;
if (fd){
fprintf(fd, "Store_Queue:");
for (ii = 0; ii < ttQ.size(); ii++){
Trace_trans t = ttQ[ii];
fprintf(fd, "\t");
ttQ[ii].LogMeToFile(fd);
}
fprintf(fd, "\n-------------------------------------------------\n");
}
}
#endif