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 );
|
|
}
|
|
|
|
|
|
|
}
|
}
|
|
|