Files
DRAMSys/dram/resources/scripts/analyse_trace.pl
2014-08-07 13:36:27 +02:00

45 lines
690 B
Perl

#!/usr/bin/perl
use warnings;
use strict;
my $filename = shift || die;
open(FH, "$filename");
my @activity_counter;
for(my $i = 0; $i < 32; $i++)
{
$activity_counter[$i] = 0;
}
my $old_address = "00000000000000000000000000000000";
while(<FH>)
{
# Get the adress:
$_ =~ /\d+:\s+\w+\s+0x([\w\d]+)/;
my $address = $1;
$address = sprintf( "%032b", hex( $address ) );
# $i = 0 :: most significant bit
for(my $i = 0; $i < 32; $i++)
{
my $new = substr($address, $i, 1);
my $old = substr($old_address, $i, 1);
if($new ne $old)
{
$activity_counter[31-$i]++;
}
}
$old_address = $address;
}
for(my $i = 0; $i < 32; $i++)
{
print $i.":".$activity_counter[$i]."\n";
}