O3CPU.py revision 1681
1451SN/Afrom BaseCPU import BaseCPU
25795Ssaidi@eecs.umich.edu
3451SN/Asimobj DerivAlphaFullCPU(BaseCPU):
4451SN/A    type = 'DerivAlphaFullCPU'
5451SN/A
6451SN/A    numThreads = Param.Unsigned("number of HW thread contexts")
7451SN/A
8451SN/A    if not build_env['FULL_SYSTEM']:
9451SN/A        mem = Param.FunctionalMemory(NULL, "memory")
10451SN/A
11451SN/A    decodeToFetchDelay = Param.Unsigned("Decode to fetch delay")
12451SN/A    renameToFetchDelay = Param.Unsigned("Rename to fetch delay")
13451SN/A    iewToFetchDelay = Param.Unsigned("Issue/Execute/Writeback to fetch "
14451SN/A               "delay")
15451SN/A    commitToFetchDelay = Param.Unsigned("Commit to fetch delay")
16451SN/A    fetchWidth = Param.Unsigned("Fetch width")
17451SN/A
18451SN/A    renameToDecodeDelay = Param.Unsigned("Rename to decode delay")
19451SN/A    iewToDecodeDelay = Param.Unsigned("Issue/Execute/Writeback to decode "
20451SN/A               "delay")
21451SN/A    commitToDecodeDelay = Param.Unsigned("Commit to decode delay")
22451SN/A    fetchToDecodeDelay = Param.Unsigned("Fetch to decode delay")
23451SN/A    decodeWidth = Param.Unsigned("Decode width")
24451SN/A
25451SN/A    iewToRenameDelay = Param.Unsigned("Issue/Execute/Writeback to rename "
26451SN/A               "delay")
272665Ssaidi@eecs.umich.edu    commitToRenameDelay = Param.Unsigned("Commit to rename delay")
282665Ssaidi@eecs.umich.edu    decodeToRenameDelay = Param.Unsigned("Decode to rename delay")
29451SN/A    renameWidth = Param.Unsigned("Rename width")
30451SN/A
31451SN/A    commitToIEWDelay = Param.Unsigned("Commit to "
32451SN/A               "Issue/Execute/Writeback delay")
336215Snate@binkert.org    renameToIEWDelay = Param.Unsigned("Rename to "
346215Snate@binkert.org               "Issue/Execute/Writeback delay")
352093SN/A    issueToExecuteDelay = Param.Unsigned("Issue to execute delay (internal "
365795Ssaidi@eecs.umich.edu              "to the IEW stage)")
372093SN/A    issueWidth = Param.Unsigned("Issue width")
383113Sgblack@eecs.umich.edu    executeWidth = Param.Unsigned("Execute width")
3911800Sbrandon.potter@amd.com    executeIntWidth = Param.Unsigned("Integer execute width")
402423SN/A    executeFloatWidth = Param.Unsigned("Floating point execute width")
415795Ssaidi@eecs.umich.edu    executeBranchWidth = Param.Unsigned("Branch execute width")
425795Ssaidi@eecs.umich.edu    executeMemoryWidth = Param.Unsigned("Memory execute width")
432093SN/A
442093SN/A    iewToCommitDelay = Param.Unsigned("Issue/Execute/Writeback to commit "
452093SN/A               "delay")
462093SN/A    renameToROBDelay = Param.Unsigned("Rename to reorder buffer delay")
472093SN/A    commitWidth = Param.Unsigned("Commit width")
483113Sgblack@eecs.umich.edu    squashWidth = Param.Unsigned("Squash width")
493113Sgblack@eecs.umich.edu
502093SN/A    local_predictor_size = Param.Unsigned("Size of local predictor")
512093SN/A    local_ctr_bits = Param.Unsigned("Bits per counter")
522093SN/A    local_history_table_size = Param.Unsigned("Size of local history table")
532093SN/A    local_history_bits = Param.Unsigned("Bits for the local history")
542093SN/A    global_predictor_size = Param.Unsigned("Size of global predictor")
553122Sgblack@eecs.umich.edu    global_ctr_bits = Param.Unsigned("Bits per counter")
562093SN/A    global_history_bits = Param.Unsigned("Bits of history")
572093SN/A    choice_predictor_size = Param.Unsigned("Size of choice predictor")
586684Stjones1@inf.ed.ac.uk    choice_ctr_bits = Param.Unsigned("Bits of choice counters")
592093SN/A
603122Sgblack@eecs.umich.edu    BTBEntries = Param.Unsigned("Number of BTB entries")
612093SN/A    BTBTagSize = Param.Unsigned("Size of the BTB tags, in bits")
622093SN/A
632093SN/A    RASSize = Param.Unsigned("RAS size")
643113Sgblack@eecs.umich.edu
653113Sgblack@eecs.umich.edu    LQEntries = Param.Unsigned("Number of load queue entries")
663113Sgblack@eecs.umich.edu    SQEntries = Param.Unsigned("Number of store queue entries")
675543Ssaidi@eecs.umich.edu    LFSTSize = Param.Unsigned("Last fetched store table size")
685543Ssaidi@eecs.umich.edu    SSITSize = Param.Unsigned("Store set ID table size")
695543Ssaidi@eecs.umich.edu
705543Ssaidi@eecs.umich.edu    numPhysIntRegs = Param.Unsigned("Number of physical integer registers")
715543Ssaidi@eecs.umich.edu    numPhysFloatRegs = Param.Unsigned("Number of physical floating point "
725543Ssaidi@eecs.umich.edu               "registers")
735543Ssaidi@eecs.umich.edu    numIQEntries = Param.Unsigned("Number of instruction queue entries")
745543Ssaidi@eecs.umich.edu    numROBEntries = Param.Unsigned("Number of reorder buffer entries")
755543Ssaidi@eecs.umich.edu
765543Ssaidi@eecs.umich.edu    instShiftAmt = Param.Unsigned("Number of bits to shift instructions by")
775543Ssaidi@eecs.umich.edu
785543Ssaidi@eecs.umich.edu    function_trace = Param.Bool(False, "Enable function trace")
795543Ssaidi@eecs.umich.edu    function_trace_start = Param.Tick(0, "Cycle to start function trace")
805543Ssaidi@eecs.umich.edu