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/] [simulator.pl] - Diff between revs 38 and 42

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

Rev 38 Rev 42
Line 755... Line 755...
                        #my @q =split  (/average latency =/,$stdout);
                        #my @q =split  (/average latency =/,$stdout);
                        #my $d=$q[1];
                        #my $d=$q[1];
                        #@q =split  (/\n/,$d);
                        #@q =split  (/\n/,$d);
                        #my $avg=$q[0];
                        #my $avg=$q[0];
                        my $avg_latency =capture_number_after("average latency =",$stdout);
                        my $avg_latency =capture_number_after("average latency =",$stdout);
 
                        my $sd_latency =capture_number_after("standard_dev =",$stdout);
                        my $avg_thput =capture_number_after("Avg throughput is:",$stdout);
                        my $avg_thput =capture_number_after("Avg throughput is:",$stdout);
                        my $total_time =capture_number_after("simulation clock cycles:",$stdout);
                        my $total_time =capture_number_after("simulation clock cycles:",$stdout);
 
 
                        my %packet_rsvd_per_core = capture_cores_data("total number of received packets:",$stdout);
                        my %packet_rsvd_per_core = capture_cores_data("total number of received packets:",$stdout);
                        my %worst_rsvd_delay_per_core = capture_cores_data('worst-case-delay of received pckets \(clks\):',$stdout);
                        my %worst_rsvd_delay_per_core = capture_cores_data('worst-case-delay of received pckets \(clks\):',$stdout);
Line 767... Line 768...
                        #my $avg = sprintf("%.1f", $avg);
                        #my $avg = sprintf("%.1f", $avg);
 
 
 
 
                next if (!defined $avg_latency);
                next if (!defined $avg_latency);
                        update_result($simulate,$sample,"latency_result",$ratio_in,$avg_latency);
                        update_result($simulate,$sample,"latency_result",$ratio_in,$avg_latency);
 
                        update_result($simulate,$sample,"sd_latency_result",$ratio_in,$sd_latency);
                        update_result($simulate,$sample,"throughput_result",$ratio_in,$avg_thput);
                        update_result($simulate,$sample,"throughput_result",$ratio_in,$avg_thput);
                        update_result($simulate,$sample,"exe_time_result",$ratio_in,$total_time);
                        update_result($simulate,$sample,"exe_time_result",$ratio_in,$total_time);
                        foreach my $p (sort keys %packet_rsvd_per_core){
                        foreach my $p (sort keys %packet_rsvd_per_core){
                                update_result($simulate,$sample,"packet_rsvd_result",$ratio_in,$p,$packet_rsvd_per_core{$p} );
                                update_result($simulate,$sample,"packet_rsvd_result",$ratio_in,$p,$packet_rsvd_per_core{$p} );
                                update_result($simulate,$sample,"worst_delay_rsvd_result",$ratio_in,$p,$worst_rsvd_delay_per_core{$p});
                                update_result($simulate,$sample,"worst_delay_rsvd_result",$ratio_in,$p,$worst_rsvd_delay_per_core{$p});
Line 823... Line 825...
                        #my @q =split  (/average latency =/,$stdout);
                        #my @q =split  (/average latency =/,$stdout);
                        #my $d=$q[1];
                        #my $d=$q[1];
                        #@q =split  (/\n/,$d);
                        #@q =split  (/\n/,$d);
                        #my $avg=$q[0];
                        #my $avg=$q[0];
                        my $avg_latency =capture_number_after("average latency =",$stdout);
                        my $avg_latency =capture_number_after("average latency =",$stdout);
 
                        my $sd_latency =capture_number_after("standard_dev =",$stdout);
                        my $avg_thput =capture_number_after("Avg throughput is:",$stdout);
                        my $avg_thput =capture_number_after("Avg throughput is:",$stdout);
                        my %packet_rsvd_per_core = capture_cores_data("total number of received packets:",$stdout);
                        my %packet_rsvd_per_core = capture_cores_data("total number of received packets:",$stdout);
                        my %worst_rsvd_delay_per_core = capture_cores_data('worst-case-delay of received pckets \(clks\):',$stdout);
                        my %worst_rsvd_delay_per_core = capture_cores_data('worst-case-delay of received pckets \(clks\):',$stdout);
                        my %packet_sent_per_core = capture_cores_data("total number of sent packets:",$stdout);
                        my %packet_sent_per_core = capture_cores_data("total number of sent packets:",$stdout);
                        my %worst_sent_delay_per_core = capture_cores_data('worst-case-delay of sent pckets \(clks\):',$stdout);
                        my %worst_sent_delay_per_core = capture_cores_data('worst-case-delay of sent pckets \(clks\):',$stdout);
Line 834... Line 837...
                        #my $avg = sprintf("%.1f", $avg);
                        #my $avg = sprintf("%.1f", $avg);
 
 
 
 
                next if (!defined $avg_latency);
                next if (!defined $avg_latency);
                        update_result($simulate,$sample,"latency_result",$i,$avg_latency);
                        update_result($simulate,$sample,"latency_result",$i,$avg_latency);
 
                        update_result($simulate,$sample,"sd_latency_result",$i,$sd_latency);
                        update_result($simulate,$sample,"throughput_result",$i,$avg_thput);
                        update_result($simulate,$sample,"throughput_result",$i,$avg_thput);
                        update_result($simulate,$sample,"exe_time_result",$i,$total_time);
                        update_result($simulate,$sample,"exe_time_result",$i,$total_time);
                        foreach my $p (sort keys %packet_rsvd_per_core){
                        foreach my $p (sort keys %packet_rsvd_per_core){
                                update_result($simulate,$sample,"packet_rsvd_result",$i,$p,$packet_rsvd_per_core{$p} );
                                update_result($simulate,$sample,"packet_rsvd_result",$i,$p,$packet_rsvd_per_core{$p} );
                                update_result($simulate,$sample,"worst_delay_rsvd_result",$i,$p,$worst_rsvd_delay_per_core{$p});
                                update_result($simulate,$sample,"worst_delay_rsvd_result",$i,$p,$worst_rsvd_delay_per_core{$p});
Line 924... Line 928...
);
);
 
 
 
 
 
 
my @charts = (
my @charts = (
        { type=>"2D_line", page_num=>0, graph_name=> "Latency", result_name => "latency_result", X_Title=> 'Desired Avg. Injected Load Per Router (flits/clock (%))', Y_Title=>'Latency (clock)', Z_Title=>undef, Y_Max=>100},
 
        { type=>"2D_line", page_num=>0, graph_name=> "Throughput", result_name => "throughput_result", X_Title=> 'Desired Avg. Injected Load Per Router (flits/clock (%))', Y_Title=>'Avg. Throughput (flits/clock (%))', Z_Title=>undef},
        { type=>"2D_line", page_num=>0, graph_name=> "Throughput", result_name => "throughput_result", X_Title=> 'Desired Avg. Injected Load Per Router (flits/clock (%))', Y_Title=>'Avg. Throughput (flits/clock (%))', Z_Title=>undef},
 
        { type=>"2D_line", page_num=>0, graph_name=> "Avg. Latency", result_name => "latency_result", X_Title=> 'Desired Avg. Injected Load Per Router (flits/clock (%))', Y_Title=>'Avg. Latency (clock)', Z_Title=>undef, Y_Max=>100},
 
        { type=>"2D_line", page_num=>0, graph_name=> "SD latency", result_name => "sd_latency_result", X_Title=> 'Desired Avg. Injected Load Per Router (flits/clock (%))', Y_Title=>'Latency Standard Deviation (clock)', Z_Title=>undef},
        { type=>"3D_bar",  page_num=>1, graph_name=> "Received", result_name => "packet_rsvd_result", X_Title=>'Core ID' , Y_Title=>'Received Packets Per Router', Z_Title=>undef},
        { type=>"3D_bar",  page_num=>1, graph_name=> "Received", result_name => "packet_rsvd_result", X_Title=>'Core ID' , Y_Title=>'Received Packets Per Router', Z_Title=>undef},
        { type=>"3D_bar",  page_num=>1, graph_name=> "Sent", result_name => "packet_sent_result", X_Title=>'Core ID' , Y_Title=>'Sent Packets Per Router', Z_Title=>undef},
        { type=>"3D_bar",  page_num=>1, graph_name=> "Sent", result_name => "packet_sent_result", X_Title=>'Core ID' , Y_Title=>'Sent Packets Per Router', Z_Title=>undef},
        { type=>"3D_bar",  page_num=>2, graph_name=> "Received", result_name => "worst_delay_rsvd_result",X_Title=>'Core ID' , Y_Title=>'Worst-Case Delay (clk)', Z_Title=>undef},
        { type=>"3D_bar",  page_num=>2, graph_name=> "Received", result_name => "worst_delay_rsvd_result",X_Title=>'Core ID' , Y_Title=>'Worst-Case Delay (clk)', Z_Title=>undef},
        { type=>"3D_bar",  page_num=>2, graph_name=> "Sent", result_name => "worst_delay_sent_result",X_Title=>'Core ID' , Y_Title=>'Worst-Case Delay (clk)', Z_Title=>undef},
        { type=>"3D_bar",  page_num=>2, graph_name=> "Sent", result_name => "worst_delay_sent_result",X_Title=>'Core ID' , Y_Title=>'Worst-Case Delay (clk)', Z_Title=>undef},
        { type=>"2D_line", page_num=>3, graph_name=> "-", result_name => "exe_time_result",X_Title=>'Desired Avg. Injected Load Per Router (flits/clock (%))' , Y_Title=>'Total Simulation Time (clk)', Z_Title=>undef},
        { type=>"2D_line", page_num=>3, graph_name=> "-", result_name => "exe_time_result",X_Title=>'Desired Avg. Injected Load Per Router (flits/clock (%))' , Y_Title=>'Total Simulation Time (clk)', Z_Title=>undef},

powered by: WebSVN 2.1.0

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