Line 126... |
Line 126... |
##
|
##
|
##
|
##
|
#############################################################################
|
#############################################################################
|
|
|
print "Building SIM filelists for $work_site $vendor $project $component $version $variant \n" ;
|
print "Building SIM filelists for $work_site $vendor $project $component $version $variant \n" ;
|
|
my $sim_library_path ;
|
|
my $spirit_component_file = $parser->parse_file(yp::lib::find_ipxact_component($vendor,$project,$component,$version));
|
|
my $socgen_file = $parser->parse_file(yp::lib::find_componentConfiguration($vendor,$project,$component));
|
|
my $lib_comp_sep = yp::lib::find_lib_comp_sep($vendor,$project,$component);
|
|
|
my $spirit_component_file = $parser->parse_file(yp::lib::find_ipxact("spirit:component",$vendor,$project,$component,$version));
|
my $sim_comp_path = $socgen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:comp_path/text()")->to_literal;
|
my $sogen_file = $parser->parse_file(yp::lib::find_socgen("socgen:componentConfiguration",$vendor,$project,$component));
|
|
my $sim_library_path = $sogen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:library_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;
|
|
}
|
|
|
|
|
#/*********************************************************************************************/
|
#/*********************************************************************************************/
|
#/ */
|
#/ */
|
#/ */
|
#/ */
|
Line 145... |
Line 155... |
|
|
my %default_parameters = ();
|
my %default_parameters = ();
|
my @parameter_order = ();
|
my @parameter_order = ();
|
|
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:configurations/socgen:configuration[socgen:name/text() = '$variant']/socgen:parameters/socgen:parameter"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:configurations/socgen:configuration[socgen:name/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 188... |
Line 198... |
#/ */
|
#/ */
|
#/ */
|
#/ */
|
#/*********************************************************************************************/
|
#/*********************************************************************************************/
|
|
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage"))
|
{
|
{
|
|
|
my $path ="${home}${work_site}/${vendor}__${project}${sim_library_path}/cov";
|
my $path ="${home}${work_site}/${vendor}__${project}${sim_library_path}/cov";
|
mkdir $path,0755 unless( -e $path );
|
mkdir $path,0755 unless( -e $path );
|
$path ="${home}${work_site}/${vendor}__${project}${sim_library_path}/cov/${variant}";
|
$path ="${home}${work_site}/${vendor}__${project}${sim_library_path}/cov/${variant}";
|
Line 260... |
Line 270... |
|
|
|
|
|
|
|
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:icarus/socgen:test[socgen:variant/text() = '$variant']"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:icarus/socgen:test[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 " sim files for $project $component $variant $simulation $configuration \n";
|
print " sim files for $project $component $variant $simulation $configuration \n";
|
|
|
Line 288... |
Line 298... |
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:componentConfiguration/socgen:sim/socgen:testbenches/socgen:testbench[socgen:variant/text() = '$variant']/./socgen:parameters/socgen:parameter/socgen:name"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:testbenches/socgen:testbench[socgen:variant/text() = '$variant']/./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: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:icarus/socgen:test[socgen:name/text() = '$simulation']/./socgen:parameters/socgen:parameter/socgen:name"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:icarus/socgen:test[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;
|