Line 138... |
Line 138... |
##
|
##
|
#############################################################################
|
#############################################################################
|
|
|
|
|
|
|
my $spirit_component_file = $parser->parse_file(yp::lib::find_ipxact("spirit:component",$new_vendor,$new_proj,$new_comp,$new_version));
|
my $spirit_component_file = $parser->parse_file(yp::lib::find_ipxact_component($new_vendor,$new_proj,$new_comp,$new_version));
|
|
|
|
|
|
|
|
|
if($new_version){$new_variant = "${new_comp}_${new_version}"}
|
if($new_version){$new_variant = "${new_comp}_${new_version}"}
|
Line 158... |
Line 158... |
{
|
{
|
my($file_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($file_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($file_type) = $i_name ->findnodes('../spirit:userFileType/text()')->to_literal ;
|
my($file_type) = $i_name ->findnodes('../spirit:userFileType/text()')->to_literal ;
|
my($logical_name) = $i_name ->findnodes('../spirit:logicalName/text()')->to_literal ;
|
my($logical_name) = $i_name ->findnodes('../spirit:logicalName/text()')->to_literal ;
|
my($view_file) = $i_name ->findnodes('../../spirit:name/text()')->to_literal ;
|
my($view_file) = $i_name ->findnodes('../../spirit:name/text()')->to_literal ;
|
my $component_path = yp::lib::find_ipxact_component_path("spirit:component",$new_vendor,$new_proj,$new_comp,$new_version);
|
my $comp_xml_sep = yp::lib::find_comp_xml_sep($new_vendor,$new_proj,$new_comp,$new_version);
|
|
|
if( ($file_type eq "libraryDir") && ($view_file eq "fs-lint") && ($logical_name eq "dest_dir") )
|
if( ($file_type eq "libraryDir") && ($view_file eq "fs-lint") && ($logical_name eq "dest_dir") )
|
{
|
{
|
push(@filelist_sim,"../../../../${new_comp}${component_path}/${file_name}${new_variant}.v\n");
|
push(@filelist_sim,"../../../../${new_comp}${comp_xml_sep}/${file_name}${new_variant}.v\n");
|
};
|
};
|
|
|
}
|
}
|
}
|
}
|
else
|
else
|
Line 176... |
Line 176... |
{
|
{
|
my($file_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($file_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($file_type) = $i_name ->findnodes('../spirit:userFileType/text()')->to_literal ;
|
my($file_type) = $i_name ->findnodes('../spirit:userFileType/text()')->to_literal ;
|
my($logical_name) = $i_name ->findnodes('../spirit:logicalName/text()')->to_literal ;
|
my($logical_name) = $i_name ->findnodes('../spirit:logicalName/text()')->to_literal ;
|
my($view_file) = $i_name ->findnodes('../../spirit:name/text()')->to_literal ;
|
my($view_file) = $i_name ->findnodes('../../spirit:name/text()')->to_literal ;
|
my $library_path = yp::lib::find_ipxact_library_path("spirit:component",$new_vendor,$new_proj,$new_comp,$new_version);
|
|
|
|
|
|
|
my $comp_xml_sep = yp::lib::find_comp_xml_sep($new_vendor,$new_proj,$new_comp,$new_version);
|
|
my $lib_comp_sep = yp::lib::find_lib_comp_sep($new_vendor,$new_proj,$new_comp);
|
|
my $library_path = "${lib_comp_sep}${component}${comp_xml_sep}";
|
|
|
if(($file_type eq "libraryDir")&& (($view_file eq "fs-lint") ) && ($logical_name eq "dest_dir") )
|
if(($file_type eq "libraryDir")&& (($view_file eq "fs-lint") ) && ($logical_name eq "dest_dir") )
|
{
|
{
|
push(@filelist_sim,"../../../../../children/${new_vendor}__${new_proj}${library_path}/${file_name}${new_variant}.v\n");
|
push(@filelist_sim,"../../../../../children/${new_vendor}__${new_proj}${library_path}/${file_name}${new_variant}.v\n");
|
};
|
};
|
Line 202... |
Line 203... |
##
|
##
|
#############################################################################
|
#############################################################################
|
|
|
print "Building rtl_check filelists for $work_site $vendor $project $component $version $variant \n" ;
|
print "Building rtl_check filelists for $work_site $vendor $project $component $version $variant \n" ;
|
|
|
my $spirit_component_file = $parser->parse_file(yp::lib::find_ipxact("spirit:component",$vendor,$project,$component,$version));
|
my $spirit_component_file = $parser->parse_file(yp::lib::find_ipxact_component($vendor,$project,$component,$version));
|
my $sogen_file = $parser->parse_file(yp::lib::find_socgen("socgen:componentConfiguration",$vendor,$project,$component));
|
my $socgen_file = $parser->parse_file(yp::lib::find_componentConfiguration($vendor,$project,$component));
|
|
|
|
|
|
|
|
|
|
|
Line 221... |
Line 222... |
|
|
my %default_parameters = ();
|
my %default_parameters = ();
|
my @parameter_order = ();
|
my @parameter_order = ();
|
|
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:testbenches/socgen:testbench[socgen:variant/text() = '$variant']/socgen:parameters/socgen:parameter"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:testbenches/socgen:testbench[socgen:variant/text() = '$variant']/socgen:parameters/socgen:parameter"))
|
{
|
{
|
my($parameter_name) = $i_name ->findnodes('socgen:name/text()')->to_literal ;
|
my($parameter_name) = $i_name ->findnodes('socgen:name/text()')->to_literal ;
|
my($parameter_default) = $i_name ->findnodes('socgen:value/text()')->to_literal ;
|
my($parameter_default) = $i_name ->findnodes('socgen:value/text()')->to_literal ;
|
$default_parameters{$parameter_name} = $parameter_default;
|
$default_parameters{$parameter_name} = $parameter_default;
|
push @parameter_order ,$parameter_name ;
|
push @parameter_order ,$parameter_name ;
|
Line 291... |
Line 292... |
print "CREATING sim files for $project $component $chip $name $variant \n";
|
print "CREATING sim files for $project $component $chip $name $variant \n";
|
|
|
|
|
|
|
|
|
my $sogen_file = $parser->parse_file(yp::lib::find_socgen("socgen:componentConfiguration",$vendor,$project,$component));
|
my $socgen_file = $parser->parse_file(yp::lib::find_componentConfiguration($vendor,$project,$component));
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:rtl_check/socgen:lint[socgen:variant/text() = '$variant']"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:rtl_check/socgen:lint[socgen:variant/text() = '$variant']"))
|
{
|
{
|
my($simulation) = $i_name ->findnodes('socgen:name/text()')->to_literal ;
|
my($simulation) = $i_name ->findnodes('socgen:name/text()')->to_literal ;
|
my($configuration) = $i_name ->findnodes('socgen:configuration/text()')->to_literal ;
|
my($configuration) = $i_name ->findnodes('socgen:configuration/text()')->to_literal ;
|
|
|
print " lint files for $project $component $variant $simulation $configuration \n";
|
print " lint files for $project $component $variant $simulation $configuration \n";
|
my $sim_library_path = $sogen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:library_path/text()")->to_literal;
|
|
|
my $sim_library_path ;
|
|
my $lib_comp_sep = yp::lib::find_lib_comp_sep($vendor,$project,$component);
|
|
my $sim_comp_path = $socgen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:comp_path/text()")->to_literal;
|
|
|
|
if ($sim_comp_path)
|
|
{
|
|
$sim_library_path ="${lib_comp_sep}${sim_comp_path}";
|
|
}
|
|
else
|
|
{
|
|
$sim_library_path = $socgen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:library_path/text()")->to_literal;
|
|
}
|
|
|
|
|
my $path = "${home}${work_site}/${vendor}__${project}${sim_library_path}/rtl_check";
|
my $path = "${home}${work_site}/${vendor}__${project}${sim_library_path}/rtl_check";
|
|
|
mkdir $path,0755 unless (-e $path) ;
|
mkdir $path,0755 unless (-e $path) ;
|
|
|
Line 326... |
Line 340... |
|
|
|
|
my %local_parameters = %default_parameters;
|
my %local_parameters = %default_parameters;
|
my @local_order = @parameter_order;
|
my @local_order = @parameter_order;
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:configurations/socgen:configuration[socgen:name/text() = '$configuration']/./socgen:parameters/socgen:parameter/socgen:name"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:configurations/socgen:configuration[socgen:name/text() = '$configuration']/./socgen:parameters/socgen:parameter/socgen:name"))
|
{
|
{
|
my($par_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($par_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($par_value) = $i_name ->findnodes('../socgen:value/text()')->to_literal ;
|
my($par_value) = $i_name ->findnodes('../socgen:value/text()')->to_literal ;
|
if($local_parameters{$par_name} eq '' ) { push @local_order , $par_name; }
|
if($local_parameters{$par_name} eq '' ) { push @local_order , $par_name; }
|
$local_parameters{$par_name} = $par_value;
|
$local_parameters{$par_name} = $par_value;
|
}
|
}
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:rtl_check/socgen:lint[socgen:name/text() = '$simulation']/./socgen:parameters/socgen:parameter/socgen:name"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:rtl_check/socgen:lint[socgen:name/text() = '$simulation']/./socgen:parameters/socgen:parameter/socgen:name"))
|
{
|
{
|
my($par_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($par_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($par_value) = $i_name ->findnodes('../socgen:value/text()')->to_literal ;
|
my($par_value) = $i_name ->findnodes('../socgen:value/text()')->to_literal ;
|
if ( $local_parameters{$par_name} eq '' ) { push @local_order , $par_name; }
|
if ( $local_parameters{$par_name} eq '' ) { push @local_order , $par_name; }
|
$local_parameters{$par_name} = $par_value;
|
$local_parameters{$par_name} = $par_value;
|