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/] [ip.pm] - Diff between revs 18 and 24

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

Rev 18 Rev 24
Line 227... Line 227...
                }
                }
        }
        }
        return @r;
        return @r;
}
}
 
 
sub get_describtion{
 
        my ($self,$category,$module)=@_;
 
        my $r;
 
        if (!defined($module) ) {return $r;}
 
                $r=$self->{categories}{$category}{names}{$module}{Describtion};
 
 
 
        return $r;
 
 
 
}
 
 
 
 
 
 
 
 
 
 
 
sub get_param_default{
sub get_param_default{
        my ($self,$category,$module)=@_;
        my ($self,$category,$module)=@_;
        my %r;
        my %r;
        if (!defined($module) ) {return %r;}
        if (!defined($module) ) {return %r;}
Line 380... Line 367...
        }
        }
        return @r;
        return @r;
}
}
 
 
 
 
sub ip_get_module_name{
 
        my ($self, $category,$module)=@_;
 
        my $module_name;
 
        if(exists $self->{categories}{$category}{names}{$module}{module_name}){
 
                $module_name= $self->{categories}{$category}{names}{$module}{module_name};
 
        }
 
        return $module_name;
 
}
 
 
 
 
 
sub ip_get_hdr{
 
        my ($self, $category,$module)=@_;
 
        my $hdr;
 
        if(exists($self->{categories}{$category}{names}{$module}{header})){
sub ip_add{
                $hdr=$self->{categories}{$category}{names}{$module}{header};
        my ($self,$category,$module,$filed_name,$filed_data)=@_;
 
        $self->{categories}{$category}{names}{$module}{$filed_name}=$filed_data;
        }
        }
        return $hdr;
 
 
 
 
sub ip_get{
 
        my ($self,$category,$module,$filed_name)=@_;
 
        return $self->{categories}{$category}{names}{$module}{$filed_name};
}
}
 
 
 
 
sub ip_get_files{
sub ip_get_list{
        my ($self, $category,$module,$list_name)=@_;
        my ($self,$category,$module,$filed_name)=@_;
        my @l;
        my @l;
        @l=@{$self->{categories}{$category}{names}{$module}{$list_name}} if(defined $self->{categories}{$category}{names}{$module}{$list_name});
        if( defined $self->{categories}{$category}{names}{$module}{$filed_name}){
 
                @l=@{$self->{categories}{$category}{names}{$module}{$filed_name}};
 
        }
        return   @l;
        return   @l;
}
}
 
 
 
 
sub ip_get_unsuded_intfc_ports{
sub ip_remove{
        my ($self, $category,$module)=@_;
        my ($self,$category,$module,$filed_name)=@_;
        return $self->{categories}{$category}{names}{$module}{"unused"};
        delete  $self->{categories}{$category}{names}{$module}{$filed_name};
 
 
}
}
 
 
 
 
 
 
 
 
sub add_ip{
sub add_ip{
 
 
        my ($self,$ipgen) =@_;
        my ($self,$ipgen) =@_;
        my $module;
        my $module;
        $module =       $ipgen->ipgen_get_ip_name();
        $module =       $ipgen->ipgen_get("ip_name");
        my $module_name =$ipgen->ipgen_get_module_name();
        my $module_name =$ipgen->ipgen_get("module_name");
        if(!defined $module){ $module   =       $module_name}
        if(!defined $module){ $module   =       $module_name}
        my $category=   $ipgen->ipgen_get_category();
        my $category=   $ipgen->ipgen_get("category");
        my $Describtion=        $ipgen->ipgen_get_description();
 
 
 
        $self->{categories}{$category}{names}{$module}={};
        $self->{categories}{$category}{names}{$module}={};
        $self->{categories}{$category}{names}{$module}{Describtion}=$Describtion;
 
        $self->{categories}{$category}{names}{$module}{module_name}=$module_name;
        $self->{categories}{$category}{names}{$module}{module_name}=$module_name;
        my @plugs= $ipgen->ipgen_list_plugs();
        my @plugs= $ipgen->ipgen_list_plugs();
        #print "$module:@plugs\n";
        #print "$module:@plugs\n";
        foreach my $plug (@plugs){
        foreach my $plug (@plugs){
                my ($type,$value,$connection_num)= $ipgen->ipgen_get_plug($plug);
                my ($type,$value,$connection_num)= $ipgen->ipgen_get_plug($plug);
Line 448... Line 436...
        foreach my $param (@parameters){
        foreach my $param (@parameters){
                my ($deafult,$type,$content,$info,$glob_param,$redefine_param)=$ipgen->ipgen_get_parameter_detail($param);
                my ($deafult,$type,$content,$info,$glob_param,$redefine_param)=$ipgen->ipgen_get_parameter_detail($param);
                ip_add_parameter($self,$category,$module,$param,$deafult,$type,$content,$info,$glob_param,$redefine_param);
                ip_add_parameter($self,$category,$module,$param,$deafult,$type,$content,$info,$glob_param,$redefine_param);
 
 
        }
        }
        my @params_order= $ipgen->ipgen_get_parameters_order();
 
        $self->{categories}{$category}{names}{$module}{parameters_order}=\@params_order;
 
        my @ports= $ipgen->ipgen_list_ports();
        my @ports= $ipgen->ipgen_list_ports();
        foreach my $port (@ports){
        foreach my $port (@ports){
                my($range,$type,$intfc_name,$intfc_port)=$ipgen->ipgen_get_port($port);
                my($range,$type,$intfc_name,$intfc_port)=$ipgen->ipgen_get_port($port);
                ip_add_port($self,$category,$module,$port,$type,$range,$intfc_name,$intfc_port);
                ip_add_port($self,$category,$module,$port,$type,$range,$intfc_name,$intfc_port);
        }
        }
        my $hdr= $ipgen->ipgen_get_hdr();
 
        $self->{categories}{$category}{names}{$module}{header}=$hdr;
 
 
 
        my @hdl_files= $ipgen->ipgen_get_files_list("hdl_files");
 
        $self->{categories}{$category}{names}{$module}{"hdl_files"}=\@hdl_files;
 
 
 
        my @sw_files= $ipgen->ipgen_get_files_list("sw_files");
        my @fileds =("system_h","hdl_files","sw_files","gen_sw_files","sw_params_list","unused","parameters_order","description");
        $self->{categories}{$category}{names}{$module}{"sw_files"}=\@sw_files;
        foreach my $p (@fileds){
        $self->{categories}{$category}{names}{$module}{"unused"}=$ipgen->ipgen_get_unused_intfc_ports();
                my $val=$ipgen->ipgen_get($p);
 
                $self->{categories}{$category}{names}{$module}{$p}=$ipgen->ipgen_get($p) if(defined $val );
 
        }
 
 
 
 
 
 
}
}
 
 

powered by: WebSVN 2.1.0

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