O3CPU.py (9179:666bc9df1e49) O3CPU.py (9184:a1a8f137b796)
1# Copyright (c) 2005-2007 The Regents of The University of Michigan
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 25 unchanged lines hidden (view full) ---

34from O3Checker import O3Checker
35
36class DerivO3CPU(BaseCPU):
37 type = 'DerivO3CPU'
38 activity = Param.Unsigned(0, "Initial count")
39
40 cachePorts = Param.Unsigned(200, "Cache Ports")
41
1# Copyright (c) 2005-2007 The Regents of The University of Michigan
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 25 unchanged lines hidden (view full) ---

34from O3Checker import O3Checker
35
36class DerivO3CPU(BaseCPU):
37 type = 'DerivO3CPU'
38 activity = Param.Unsigned(0, "Initial count")
39
40 cachePorts = Param.Unsigned(200, "Cache Ports")
41
42 decodeToFetchDelay = Param.Unsigned(1, "Decode to fetch delay")
43 renameToFetchDelay = Param.Unsigned(1 ,"Rename to fetch delay")
44 iewToFetchDelay = Param.Unsigned(1, "Issue/Execute/Writeback to fetch "
45 "delay")
46 commitToFetchDelay = Param.Unsigned(1, "Commit to fetch delay")
42 decodeToFetchDelay = Param.Cycles(1, "Decode to fetch delay")
43 renameToFetchDelay = Param.Cycles(1 ,"Rename to fetch delay")
44 iewToFetchDelay = Param.Cycles(1, "Issue/Execute/Writeback to fetch "
45 "delay")
46 commitToFetchDelay = Param.Cycles(1, "Commit to fetch delay")
47 fetchWidth = Param.Unsigned(8, "Fetch width")
48
47 fetchWidth = Param.Unsigned(8, "Fetch width")
48
49 renameToDecodeDelay = Param.Unsigned(1, "Rename to decode delay")
50 iewToDecodeDelay = Param.Unsigned(1, "Issue/Execute/Writeback to decode "
51 "delay")
52 commitToDecodeDelay = Param.Unsigned(1, "Commit to decode delay")
53 fetchToDecodeDelay = Param.Unsigned(1, "Fetch to decode delay")
49 renameToDecodeDelay = Param.Cycles(1, "Rename to decode delay")
50 iewToDecodeDelay = Param.Cycles(1, "Issue/Execute/Writeback to decode "
51 "delay")
52 commitToDecodeDelay = Param.Cycles(1, "Commit to decode delay")
53 fetchToDecodeDelay = Param.Cycles(1, "Fetch to decode delay")
54 decodeWidth = Param.Unsigned(8, "Decode width")
55
54 decodeWidth = Param.Unsigned(8, "Decode width")
55
56 iewToRenameDelay = Param.Unsigned(1, "Issue/Execute/Writeback to rename "
57 "delay")
58 commitToRenameDelay = Param.Unsigned(1, "Commit to rename delay")
59 decodeToRenameDelay = Param.Unsigned(1, "Decode to rename delay")
56 iewToRenameDelay = Param.Cycles(1, "Issue/Execute/Writeback to rename "
57 "delay")
58 commitToRenameDelay = Param.Cycles(1, "Commit to rename delay")
59 decodeToRenameDelay = Param.Cycles(1, "Decode to rename delay")
60 renameWidth = Param.Unsigned(8, "Rename width")
61
60 renameWidth = Param.Unsigned(8, "Rename width")
61
62 commitToIEWDelay = Param.Unsigned(1, "Commit to "
62 commitToIEWDelay = Param.Cycles(1, "Commit to "
63 "Issue/Execute/Writeback delay")
63 "Issue/Execute/Writeback delay")
64 renameToIEWDelay = Param.Unsigned(2, "Rename to "
64 renameToIEWDelay = Param.Cycles(2, "Rename to "
65 "Issue/Execute/Writeback delay")
65 "Issue/Execute/Writeback delay")
66 issueToExecuteDelay = Param.Unsigned(1, "Issue to execute delay (internal "
66 issueToExecuteDelay = Param.Cycles(1, "Issue to execute delay (internal "
67 "to the IEW stage)")
68 dispatchWidth = Param.Unsigned(8, "Dispatch width")
69 issueWidth = Param.Unsigned(8, "Issue width")
70 wbWidth = Param.Unsigned(8, "Writeback width")
71 wbDepth = Param.Unsigned(1, "Writeback depth")
72 fuPool = Param.FUPool(DefaultFUPool(), "Functional Unit pool")
73
67 "to the IEW stage)")
68 dispatchWidth = Param.Unsigned(8, "Dispatch width")
69 issueWidth = Param.Unsigned(8, "Issue width")
70 wbWidth = Param.Unsigned(8, "Writeback width")
71 wbDepth = Param.Unsigned(1, "Writeback depth")
72 fuPool = Param.FUPool(DefaultFUPool(), "Functional Unit pool")
73
74 iewToCommitDelay = Param.Unsigned(1, "Issue/Execute/Writeback to commit "
74 iewToCommitDelay = Param.Cycles(1, "Issue/Execute/Writeback to commit "
75 "delay")
75 "delay")
76 renameToROBDelay = Param.Unsigned(1, "Rename to reorder buffer delay")
76 renameToROBDelay = Param.Cycles(1, "Rename to reorder buffer delay")
77 commitWidth = Param.Unsigned(8, "Commit width")
78 squashWidth = Param.Unsigned(8, "Squash width")
77 commitWidth = Param.Unsigned(8, "Commit width")
78 squashWidth = Param.Unsigned(8, "Squash width")
79 trapLatency = Param.Unsigned(13, "Trap latency")
80 fetchTrapLatency = Param.Unsigned(1, "Fetch trap latency")
79 trapLatency = Param.Cycles(13, "Trap latency")
80 fetchTrapLatency = Param.Cycles(1, "Fetch trap latency")
81
82 backComSize = Param.Unsigned(5, "Time buffer size for backwards communication")
83 forwardComSize = Param.Unsigned(5, "Time buffer size for forward communication")
84
85 predType = Param.String("tournament", "Branch predictor type ('local', 'tournament')")
86 localPredictorSize = Param.Unsigned(2048, "Size of local predictor")
87 localCtrBits = Param.Unsigned(2, "Bits per counter")
88 localHistoryTableSize = Param.Unsigned(2048, "Size of local history table")

--- 60 unchanged lines hidden ---
81
82 backComSize = Param.Unsigned(5, "Time buffer size for backwards communication")
83 forwardComSize = Param.Unsigned(5, "Time buffer size for forward communication")
84
85 predType = Param.String("tournament", "Branch predictor type ('local', 'tournament')")
86 localPredictorSize = Param.Unsigned(2048, "Size of local predictor")
87 localCtrBits = Param.Unsigned(2, "Bits per counter")
88 localHistoryTableSize = Param.Unsigned(2048, "Size of local history table")

--- 60 unchanged lines hidden ---