OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [perl_gui/] [lib/] [perl/] [emulate_ram_gen.pl] - Diff between revs 38 and 41

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 38 Rev 41
Line 28... Line 28...
use constant UPDATE_WB_RD_DATA  => 0x5;
use constant UPDATE_WB_RD_DATA  => 0x5;
use constant RD_WR_STATUS       => 0x4;
use constant RD_WR_STATUS       => 0x4;
use constant PROBE_ST           => 0x2;
use constant PROBE_ST           => 0x2;
use constant SOURCE_ST          => 0x1;
use constant SOURCE_ST          => 0x1;
use constant BYPAS_ST           => 0x0;
use constant BYPAS_ST           => 0x0;
use constant RAM_BIN_FILE       => "$ENV{'PRONOC_WORK'}/emulate/emulate_ram.bin";
#use constant RAM_BIN_FILE      => "$ENV{'PRONOC_WORK'}/emulate/emulate_ram.bin";
use constant RAM_SIM_FILE       => "$ENV{'PRONOC_WORK'}/emulate/ram";
#use constant RAM_SIM_FILE      => "$ENV{'PRONOC_WORK'}/emulate/ram";
 
 
 
 
 
 
 
 
 
 
Line 228... Line 228...
        my $line_num;
        my $line_num;
        my $line_value;
        my $line_value;
        my $ram;
        my $ram;
        if(SIM_RAM_GEN){
        if(SIM_RAM_GEN){
                my $ext= sprintf("%02u.txt",$num);
                my $ext= sprintf("%02u.txt",$num);
                open( $ram, '>', RAM_SIM_FILE.$ext) || die "Can not create: \">lib/emulate/emulate_ram.bin\" $!";
                open( $ram, '>', "$ENV{'PRONOC_WORK'}/emulate/ram".$ext) || die "Can not create: \"$ENV{'PRONOC_WORK'}/emulate/ram.$ext\" $!";
        }
        }
        for ($line_num= 0; $line_num<RAM_SIZE; $line_num++ ) {
        for ($line_num= 0; $line_num<RAM_SIZE; $line_num++ ) {
                my ($value_s,$value_l)=gen_synthetic_traffic_ram_line ($emulate,  $x, $y,  $sample, $ratio ,$line_num,$rnd);
                my ($value_s,$value_l)=gen_synthetic_traffic_ram_line ($emulate,  $x, $y,  $sample, $ratio ,$line_num,$rnd);
 
 
 
 
Line 285... Line 285...
        if ( !defined $yn || $yn!~ /\s*\d+\b/ ){ add_info($info,"programe_pck_gens:invalid Y value\n"); help(); return 0;}
        if ( !defined $yn || $yn!~ /\s*\d+\b/ ){ add_info($info,"programe_pck_gens:invalid Y value\n"); help(); return 0;}
        if ( !grep( /^$traffic$/, @traffics ) ){add_info($info,"programe_pck_gens:$traffic is an invalid Traffic name\n"); help(); return 0;}
        if ( !grep( /^$traffic$/, @traffics ) ){add_info($info,"programe_pck_gens:$traffic is an invalid Traffic name\n"); help(); return 0;}
        if ( $xn <2 || $xn >16 ){ add_info($info,"programe_pck_gens:invalid X value: ($xn). should be between 2 and 16 \n"); help(); return 0;}
        if ( $xn <2 || $xn >16 ){ add_info($info,"programe_pck_gens:invalid X value: ($xn). should be between 2 and 16 \n"); help(); return 0;}
        if ( $yn <2 || $yn >16 ){ add_info($info,"programe_pck_gens:invalid Y value:($yn). should be between 2 and 16 \n"); help(); return 0;}
        if ( $yn <2 || $yn >16 ){ add_info($info,"programe_pck_gens:invalid Y value:($yn). should be between 2 and 16 \n"); help(); return 0;}
        #open file pointer
        #open file pointer
        #open(my $file, RAM_BIN_FILE) || die "Can not create: \">lib/emulate/emulate_ram.bin\" $!";
        #open(my $file, '>', RAM_BIN_FILE) || die "Can not create: \">lib/emulate/emulate_ram.bin\" $!";
        open(my $file, '>', RAM_BIN_FILE) || die "Can not create: \">lib/emulate/emulate_ram.bin\" $!";
        open(my $file, '>', "$ENV{'PRONOC_WORK'}/emulate/emulate_ram.bin") || die "Can not create: \"$ENV{'PRONOC_WORK'}/emulate/emulate_ram.bin\" $!";
 
 
        #generate each node ram data
        #generate each node ram data
        for (my $y=0; $y<$yn; $y=$y+1){
        for (my $y=0; $y<$yn; $y=$y+1){
                for (my $x=0; $x<$xn; $x=$x+1){
                for (my $x=0; $x<$xn; $x=$x+1){
                        my $num=($y * $xn) +    $x;
                        my $num=($y * $xn) +    $x;
Line 321... Line 321...
        return 0 if(run_cmd_update_info(set_time_limit_cmd($time_limit,$jtag_intfc),$info));
        return 0 if(run_cmd_update_info(set_time_limit_cmd($time_limit,$jtag_intfc),$info));
 
 
 
 
 
 
        #programe packet generators rams
        #programe packet generators rams
        my $cmd= "sh $jtag_intfc \"-n ".JTAG_RAM_INDEX."  -w 8 -i ".RAM_BIN_FILE." -c\" ";
        my $cmd= "sh $jtag_intfc \"-n ".JTAG_RAM_INDEX."  -w 8 -i $ENV{'PRONOC_WORK'}/emulate/emulate_ram.bin -c\" ";
        #my ($result,$exit) = run_cmd_in_back_ground_get_stdout($cmd);
        #my ($result,$exit) = run_cmd_in_back_ground_get_stdout($cmd);
 
 
        return 0 if(run_cmd_update_info ($cmd,$info));
        return 0 if(run_cmd_update_info ($cmd,$info));
        #print $result;
        #print $result;
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.