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/] [mpsoc_gen.pl] - Diff between revs 45 and 46

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

Rev 45 Rev 46
Line 41... Line 41...
 
 
sub initial_default_param{
sub initial_default_param{
    my $mpsoc=shift;
    my $mpsoc=shift;
    my @socs=$mpsoc->mpsoc_get_soc_list();
    my @socs=$mpsoc->mpsoc_get_soc_list();
    foreach my $soc_name (@socs){
    foreach my $soc_name (@socs){
 
 
 
 
 
 
        my %param_value;
        my %param_value;
        my $top=$mpsoc->mpsoc_get_soc($soc_name);
        my $top=$mpsoc->mpsoc_get_soc($soc_name);
        my @insts=$top->top_get_all_instances();
        my @insts=$top->top_get_all_instances();
        my @exceptions=get_NI_instance_list($top);
        my @exceptions=get_NI_instance_list($top);
        @insts=get_diff_array(\@insts,\@exceptions);
        @insts=get_diff_array(\@insts,\@exceptions);
Line 54... Line 57...
                my  ($default,$type,$content,$info,$global_param,$redefine)=$top->top_get_parameter($inst,$p);
                my  ($default,$type,$content,$info,$global_param,$redefine)=$top->top_get_parameter($inst,$p);
                $param_value{$p}=$default;
                $param_value{$p}=$default;
            }
            }
        }
        }
        $top->top_add_default_soc_param(\%param_value);
        $top->top_add_default_soc_param(\%param_value);
 
 
 
 
 
 
 
      #save default and custom parameter values
 
        my $a= $mpsoc->object_get_attribute("soc_params_${soc_name}",undef);
 
        return if(! defined $a);
 
        my %r = %{$a};
 
        foreach my $p (sort keys %r ){
 
                my $params=  $mpsoc->object_get_attribute("soc_params_${soc_name}","$p");
 
 
 
                if ($p eq 'default'){
 
                        $top->top_add_default_soc_param($params);
 
                } else {
 
                        $top->top_add_custom_soc_param($params,$p);
 
 
 
                }
 
 
 
      #  $mpsoc->object_add_attribute("soc_params_${soc_name}","$tile",\%param_value); 
 
        }
 
 
 
 
 
 
 
 
    }
    }
 
 
}
}
 
 
#############
#############
Line 345... Line 371...
    $ok-> signal_connect("clicked" => sub{
    $ok-> signal_connect("clicked" => sub{
        $window->destroy;
        $window->destroy;
        #save new values 
        #save new values 
        if(!defined $tile ) {
        if(!defined $tile ) {
            $top->top_add_default_soc_param(\%param_value);
            $top->top_add_default_soc_param(\%param_value);
 
            $mpsoc->object_add_attribute("soc_params_${soc_name}","default",\%param_value);
        }
        }
        else {
        else {
            $top->top_add_custom_soc_param(\%param_value,$tile);
            $top->top_add_custom_soc_param(\%param_value,$tile);
 
            $mpsoc->object_add_attribute("soc_params_${soc_name}","$tile",\%param_value);
        }
        }
        #set_gui_status($mpsoc,"refresh_soc",1);
        #set_gui_status($mpsoc,"refresh_soc",1);
        #$$refresh_soc->clicked;
        #$$refresh_soc->clicked;
 
 
 
 
 
 
 
 
        });
        });
 
 
 
 
 
 
}
}
Line 1172... Line 1202...
 
 
 
 
return $msg;
return $msg;
}
}
 
 
 
######
 
# generate_mpsoc_lib_file 
 
# remove soc libs from saved mpsoc file
 
######
sub generate_mpsoc_lib_file {
sub generate_mpsoc_lib_file {
    my ($mpsoc,$info) = @_;
    my ($mpsoc,$info) = @_;
    my $name=$mpsoc->object_get_attribute('mpsoc_name');
    my $name=$mpsoc->object_get_attribute('mpsoc_name');
    $mpsoc->mpsoc_remove_all_soc_tops();
    $mpsoc->mpsoc_remove_all_soc_tops();
    open(FILE,  ">lib/mpsoc/$name.MPSOC") || die "Can not open: $!";
    open(FILE,  ">lib/mpsoc/$name.MPSOC") || die "Can not open: $!";
    print FILE perl_file_header("$name.MPSOC");
    print FILE perl_file_header("$name.MPSOC");
    print FILE Data::Dumper->Dump([\%$mpsoc],['mpsoc']);
    print FILE Data::Dumper->Dump([\%$mpsoc],['mpsoc']);
    close(FILE) || die "Error closing file: $!";
    close(FILE) || die "Error closing file: $!";
 
 
    get_soc_list($mpsoc,$info);
    get_soc_list($mpsoc,$info);
 
 
}
}
 
 
 
 

powered by: WebSVN 2.1.0

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