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/] [emulator.pl] - Diff between revs 34 and 36

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

Rev 34 Rev 36
Line 943... Line 943...
 
 
sub check_sample{
sub check_sample{
        my ($emulate,$i,$info)=@_;
        my ($emulate,$i,$info)=@_;
        my $status=1;
        my $status=1;
        my $sof=$emulate->object_get_attribute ("sample$i","sof_file");
        my $sof=$emulate->object_get_attribute ("sample$i","sof_file");
 
 
 
        my $dir = Cwd::getcwd();
 
        my $project_dir   = abs_path("$dir/../../"); #mpsoc directory address
 
        $sof= "$project_dir/$sof"   if(!(-f $sof));
 
 
 
 
        # ckeck if sample have sof file
        # ckeck if sample have sof file
        if(!defined $sof){
        if(!defined $sof){
                add_info($info, "Error: SoF file has not set for NoC$i!\n");
                add_info($info, "Error: SoF file has not set for NoC$i!\n");
                $emulate->object_add_attribute ("sample$i","status","failed");
                $emulate->object_add_attribute ("sample$i","status","failed");
                $status=0;
                $status=0;
Line 1146... Line 1152...
                next if(!check_sample($emulate,$i,$info));
                next if(!check_sample($emulate,$i,$info));
                my $r= $emulate->object_get_attribute("sample$i","ratios");
                my $r= $emulate->object_get_attribute("sample$i","ratios");
                my @ratios=@{check_inserted_ratios($r)};
                my @ratios=@{check_inserted_ratios($r)};
                #$emulate->object_add_attribute ("sample$i","status","run");                    
                #$emulate->object_add_attribute ("sample$i","status","run");                    
                my $sof=$emulate->object_get_attribute ("sample$i","sof_file");
                my $sof=$emulate->object_get_attribute ("sample$i","sof_file");
 
                my $dir = Cwd::getcwd();
 
                my $project_dir   = abs_path("$dir/../../"); #mpsoc directory address
 
                $sof= "$project_dir/$sof"   if(!(-f $sof));
 
 
                add_info($info, "Programe FPGA device using $sof\n");
                add_info($info, "Programe FPGA device using $sof\n");
                my $Quartus_bin=  $ENV{QUARTUS_BIN};
                my $Quartus_bin=  $ENV{QUARTUS_BIN};
 
 
 
 
                my $cmd = "$Quartus_bin/quartus_pgm -c \"$usb_blaster\" -m jtag -o \"p;$sof\"";
                my $cmd = "$Quartus_bin/quartus_pgm -c \"$usb_blaster\" -m jtag -o \"p;$sof\"";
Line 1676... Line 1686...
                next if(!check_sample($simulate,$i,$info));
                next if(!check_sample($simulate,$i,$info));
                my $r= $simulate->object_get_attribute("sample$i","ratios");
                my $r= $simulate->object_get_attribute("sample$i","ratios");
                my @ratios=@{check_inserted_ratios($r)};
                my @ratios=@{check_inserted_ratios($r)};
                #$emulate->object_add_attribute ("sample$i","status","run");                    
                #$emulate->object_add_attribute ("sample$i","status","run");                    
                my $bin=$simulate->object_get_attribute ("sample$i","sof_file");
                my $bin=$simulate->object_get_attribute ("sample$i","sof_file");
 
                my $dir = Cwd::getcwd();
 
                my $project_dir   = abs_path("$dir/../../"); #mpsoc directory address
 
                $bin= "$project_dir/$bin"   if(!(-f $bin));
 
 
                #load traffic configuration
                #load traffic configuration
                my $patern=$simulate->object_get_attribute ("sample$i",'traffic');
                my $patern=$simulate->object_get_attribute ("sample$i",'traffic');
                my $PCK_SIZE=$simulate->object_get_attribute ("sample$i","PCK_SIZE");
                my $PCK_SIZE=$simulate->object_get_attribute ("sample$i","PCK_SIZE");
                my $PCK_NUM_LIMIT=$simulate->object_get_attribute ("sample$i","PCK_NUM_LIMIT");
                my $PCK_NUM_LIMIT=$simulate->object_get_attribute ("sample$i","PCK_NUM_LIMIT");
Line 1716... Line 1729...
                                my $time_strg = localtime;
                                my $time_strg = localtime;
                                append_text_to_file($log,"started at:$time_strg\n"); #save simulation output
                                append_text_to_file($log,"started at:$time_strg\n"); #save simulation output
                                my ($stdout,$exit,$stderr)=run_cmd_in_back_ground_get_stdout("$cmd");
                                my ($stdout,$exit,$stderr)=run_cmd_in_back_ground_get_stdout("$cmd");
                                if($exit){
                                if($exit){
                                        add_info($info, "Error in running simulation: $stderr \n");
                                        add_info($info, "Error in running simulation: $stderr \n");
 
                                        $simulate->object_add_attribute ("sample$i","status","failed");
 
                                        $simulate->object_add_attribute('status',undef,'ideal');
                                        return;
                                        return;
                                }
                                }
 
 
                                append_text_to_file($log,$stdout); #save simulation output
                                append_text_to_file($log,$stdout); #save simulation output
                                $time_strg = localtime;
                                $time_strg = localtime;

powered by: WebSVN 2.1.0

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