Files
DRAMSys/resources/scripts/traceGenerationForNNTraining.pl

32 lines
680 B
Perl

#!/usr/bin/perl
use warnings;
use strict;
my $phaseLength = 100;
my $phaseStatus = 0;
my $max = 100000;
my $base = 0;
my $maxAddressExp = 26;
my $maxAddress = 2**$maxAddressExp;
for(my $i = 0; $i < $max; $i++)
{
if($phaseStatus == 0) # Linear
{
my $addr = (($base << 6) + (($i % $phaseLength) << 6)) % $maxAddress;
print "$i: read 0x".sprintf("%x", $addr)."\n";
}
else # Random
{
my $addr = (rand(2**($maxAddressExp-6))) << 6;
print "$i: read 0x".sprintf("%x", $addr)."\n";
}
if($i % 100 == 0 && $i != 0)
{
$phaseStatus = ($phaseStatus == 0) ? 1 : 0;
$base = rand(2**($maxAddressExp-6));
}
}