284398b0eaaaef94ec0df589581f614c676f497c
2 from BaseCPU
import BaseCPU
4 class DerivAlphaFullCPU(BaseCPU
):
5 type = 'DerivAlphaFullCPU'
7 numThreads
= Param
.Unsigned("number of HW thread contexts")
9 if not build_env
['FULL_SYSTEM']:
10 mem
= Param
.FunctionalMemory(NULL
, "memory")
12 cachePorts
= Param
.Unsigned("Cache Ports")
14 decodeToFetchDelay
= Param
.Unsigned("Decode to fetch delay")
15 renameToFetchDelay
= Param
.Unsigned("Rename to fetch delay")
16 iewToFetchDelay
= Param
.Unsigned("Issue/Execute/Writeback to fetch "
18 commitToFetchDelay
= Param
.Unsigned("Commit to fetch delay")
19 fetchWidth
= Param
.Unsigned("Fetch width")
21 renameToDecodeDelay
= Param
.Unsigned("Rename to decode delay")
22 iewToDecodeDelay
= Param
.Unsigned("Issue/Execute/Writeback to decode "
24 commitToDecodeDelay
= Param
.Unsigned("Commit to decode delay")
25 fetchToDecodeDelay
= Param
.Unsigned("Fetch to decode delay")
26 decodeWidth
= Param
.Unsigned("Decode width")
28 iewToRenameDelay
= Param
.Unsigned("Issue/Execute/Writeback to rename "
30 commitToRenameDelay
= Param
.Unsigned("Commit to rename delay")
31 decodeToRenameDelay
= Param
.Unsigned("Decode to rename delay")
32 renameWidth
= Param
.Unsigned("Rename width")
34 commitToIEWDelay
= Param
.Unsigned("Commit to "
35 "Issue/Execute/Writeback delay")
36 renameToIEWDelay
= Param
.Unsigned("Rename to "
37 "Issue/Execute/Writeback delay")
38 issueToExecuteDelay
= Param
.Unsigned("Issue to execute delay (internal "
40 issueWidth
= Param
.Unsigned("Issue width")
41 executeWidth
= Param
.Unsigned("Execute width")
42 executeIntWidth
= Param
.Unsigned("Integer execute width")
43 executeFloatWidth
= Param
.Unsigned("Floating point execute width")
44 executeBranchWidth
= Param
.Unsigned("Branch execute width")
45 executeMemoryWidth
= Param
.Unsigned("Memory execute width")
46 fuPool
= Param
.FUPool(NULL
, "Functional Unit pool")
48 iewToCommitDelay
= Param
.Unsigned("Issue/Execute/Writeback to commit "
50 renameToROBDelay
= Param
.Unsigned("Rename to reorder buffer delay")
51 commitWidth
= Param
.Unsigned("Commit width")
52 squashWidth
= Param
.Unsigned("Squash width")
54 localPredictorSize
= Param
.Unsigned("Size of local predictor")
55 localCtrBits
= Param
.Unsigned("Bits per counter")
56 localHistoryTableSize
= Param
.Unsigned("Size of local history table")
57 localHistoryBits
= Param
.Unsigned("Bits for the local history")
58 globalPredictorSize
= Param
.Unsigned("Size of global predictor")
59 globalCtrBits
= Param
.Unsigned("Bits per counter")
60 globalHistoryBits
= Param
.Unsigned("Bits of history")
61 choicePredictorSize
= Param
.Unsigned("Size of choice predictor")
62 choiceCtrBits
= Param
.Unsigned("Bits of choice counters")
64 BTBEntries
= Param
.Unsigned("Number of BTB entries")
65 BTBTagSize
= Param
.Unsigned("Size of the BTB tags, in bits")
67 RASSize
= Param
.Unsigned("RAS size")
69 LQEntries
= Param
.Unsigned("Number of load queue entries")
70 SQEntries
= Param
.Unsigned("Number of store queue entries")
71 LFSTSize
= Param
.Unsigned("Last fetched store table size")
72 SSITSize
= Param
.Unsigned("Store set ID table size")
74 numRobs
= Param
.Unsigned("Number of Reorder Buffers");
76 numPhysIntRegs
= Param
.Unsigned("Number of physical integer registers")
77 numPhysFloatRegs
= Param
.Unsigned("Number of physical floating point "
79 numIQEntries
= Param
.Unsigned("Number of instruction queue entries")
80 numROBEntries
= Param
.Unsigned("Number of reorder buffer entries")
82 instShiftAmt
= Param
.Unsigned("Number of bits to shift instructions by")
84 function_trace
= Param
.Bool(False, "Enable function trace")
85 function_trace_start
= Param
.Tick(0, "Cycle to start function trace")
87 smtNumFetchingThreads
= Param
.Unsigned("SMT Number of Fetching Threads")
88 smtFetchPolicy
= Param
.String("SMT Fetch policy")
89 smtLSQPolicy
= Param
.String("SMT LSQ Sharing Policy")
90 smtLSQThreshold
= Param
.String("SMT LSQ Threshold Sharing Parameter")
91 smtIQPolicy
= Param
.String("SMT IQ Sharing Policy")
92 smtIQThreshold
= Param
.String("SMT IQ Threshold Sharing Parameter")
93 smtROBPolicy
= Param
.String("SMT ROB Sharing Policy")
94 smtROBThreshold
= Param
.String("SMT ROB Threshold Sharing Parameter")
95 smtCommitPolicy
= Param
.String("SMT Commit Policy")