summaryrefslogtreecommitdiff
path: root/util/o3-pipeview.py
diff options
context:
space:
mode:
authorDjordje Kovacevic <Djordje.Kovacevic@arm.com>2012-09-07 14:20:53 -0500
committerDjordje Kovacevic <Djordje.Kovacevic@arm.com>2012-09-07 14:20:53 -0500
commit124aac72b41f2dd29778168f808a9d08282abcfe (patch)
tree91fa406dd94472c50afc918681a04c754b8ddaed /util/o3-pipeview.py
parent3f5ee1cf8c9e840426e3110644180fed5a1dbcb0 (diff)
downloadgem5-124aac72b41f2dd29778168f808a9d08282abcfe.tar.xz
CPU: O3-PipeView.py doesn't display the end of timelines.
Insts' timeline that stretches over multiple lines doesn't always get printed.
Diffstat (limited to 'util/o3-pipeview.py')
-rwxr-xr-xutil/o3-pipeview.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/util/o3-pipeview.py b/util/o3-pipeview.py
index 95fd2aac3..faaeec431 100755
--- a/util/o3-pipeview.py
+++ b/util/o3-pipeview.py
@@ -133,7 +133,13 @@ def print_inst(outfile, inst, cycle_time, width, color, timestamps):
# Print
time_width = width * cycle_time
base_tick = (inst['fetch'] / time_width) * time_width
- num_lines = ((inst['retire'] - inst['fetch']) / time_width) + 1
+ # Timeline shorter then time_width is printed in compact form where
+ # the print continues at the start of the same line.
+ if ((inst['retire'] - inst['fetch']) < time_width):
+ num_lines = 1 # compact form
+ else:
+ num_lines = ((inst['retire'] - base_tick) / time_width) + 1
+
curr_color = termcap.Normal
for i in range(num_lines):
start_tick = base_tick + i * time_width