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_gen.pm] - Diff between revs 42 and 48

Show entire file | Details | Blame | View Log

Rev 42 Rev 48
Line 7... Line 7...
###############################################################################
###############################################################################
use warnings;
use warnings;
use strict;
use strict;
 
 
 
 
 
 
package ip_gen;
package ip_gen;
#use Clone 'clone';
#use Clone 'clone';
 
 
 
 
 
 
Line 23... Line 24...
    $self = {};
    $self = {};
    $self->{file_name}        = ();
    $self->{file_name}        = ();
    $self->{parameters_order}=[];
    $self->{parameters_order}=[];
    $self->{ports_order}=[];
    $self->{ports_order}=[];
    $self->{hdl_files}=[];
    $self->{hdl_files}=[];
 
        $self->{hdl_files_ticked}=[];
 
 
 
 
    bless($self,$class);
    bless($self,$class);
 
 
 
 
Line 334... Line 335...
        return ($intfc_port);
        return ($intfc_port);
}
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
sub ipgen_save_wb_addr{
sub ipgen_save_wb_addr{
        my ($self,$plug,$num,$addr,$width)=@_;
        my ($self,$plug,$num,$addr,$width)=@_;
        $self->{plugs}{$plug}{$num}{addr}=$addr;
        $self->{plugs}{$plug}{$num}{addr}=$addr;
        $self->{plugs}{$plug}{$num}{width}=$width;
        $self->{plugs}{$plug}{$num}{width}=$width;
 
 
Line 493... Line 490...
        $self->{interface}{$intfc_name}{ports}{$port}{instance_name}=$inst;
        $self->{interface}{$intfc_name}{ports}{$port}{instance_name}=$inst;
        $self->{interface}{$intfc_name}{ports}{$port}{intfc_port}=$intfc_port;
        $self->{interface}{$intfc_name}{ports}{$port}{intfc_port}=$intfc_port;
}
}
 
 
 
 
 
sub top_get_interface{
 
        my($self,$intfc_name,$port)=@_;
 
        my $range= $self->{interface}{$intfc_name}{ports}{$port}{range};
 
        my $type=  $self->{interface}{$intfc_name}{ports}{$port}{type};
 
        my $inst = $self->{interface}{$intfc_name}{ports}{$port}{instance_name};
 
        my $intfc_port=$self->{interface}{$intfc_name}{ports}{$port}{intfc_port};
 
        return ($range,$type,$inst,$intfc_port);
 
}
 
 
 
 
sub top_get_port{
sub top_get_port{
        my($self,$port)=@_;
        my($self,$port)=@_;
        my($inst,$range,$type,$intfc_name,$intfc_port);
        my($inst,$range,$type,$intfc_name,$intfc_port);
Line 621... Line 626...
                $self->{tiles}{$tile}{parameters}{$p}=$l{$p};
                $self->{tiles}{$tile}{parameters}{$p}=$l{$p};
                #print"$self->{parameters}{$p}=$l{$p};\n";
                #print"$self->{parameters}{$p}=$l{$p};\n";
        }
        }
}
}
 
 
 
 
 
sub top_get_custom_tile_list{
 
        my ($self)=@_;
 
        my %tiles_hash;
 
        %tiles_hash=%{$self->{'tiles'}} if(defined $self->{'tiles'} );
 
        my @tiles = sort keys %tiles_hash;
 
        return  @tiles;
 
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
sub top_get_custom_soc_param{
sub top_get_custom_soc_param{
        my ($self,$tile)=@_;
        my ($self,$tile)=@_;
        my %l;
        my %l;
        if(exists $self->{tiles}{$tile}{parameters}){#get custom param
        if(exists $self->{tiles}{$tile}{parameters}){#get custom param
                 %l=%{$self->{tiles}{$tile}{parameters}};
                 %l=%{$self->{tiles}{$tile}{parameters}};
Line 652... Line 672...
 
 
}
}
 
 
sub object_add_attribute_order{
sub object_add_attribute_order{
        my ($self,$attribute,@param)=@_;
        my ($self,$attribute,@param)=@_;
        $self->{'parameters_order'}{$attribute}=[] if (!defined $self->{parameters_order}{$attribute});
        my $r = $self->{'parameters_order'}{$attribute};
        foreach my $p (@param){
        my @a;
                push (@{$self->{parameters_order}{$attribute}},$p);
        @a = @{$r} if(defined $r);
 
        push (@a,@param);
        }
        @a=List::MoreUtils(@a);
 
        $self->{'parameters_order'}{$attribute} =\@a;
}
}
 
 
sub object_get_attribute_order{
sub object_get_attribute_order{
        my ($self,$attribute)=@_;
        my ($self,$attribute)=@_;
        return @{$self->{parameters_order}{$attribute}};
        return @{$self->{parameters_order}{$attribute}};

powered by: WebSVN 2.1.0

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