Line 93... |
Line 93... |
|
|
|
|
|
|
my $home = cwd();
|
my $home = cwd();
|
my $prefix = "${work_site}/${vendor}__${project}";
|
my $prefix = "${work_site}/${vendor}__${project}";
|
my $sim_library_path ;
|
|
|
|
|
|
|
|
print " Building Code Coverage and linting for $work_site $vendor $project $component $version \n" ;
|
print " Building Code Coverage and linting for $work_site $vendor $project $component $version \n" ;
|
|
|
|
|
my $parser = XML::LibXML->new();
|
my $parser = XML::LibXML->new();
|
|
|
my $sogen_file = $parser->parse_file(yp::lib::find_socgen("socgen:componentConfiguration",$vendor,$project,$component));
|
|
|
|
$sim_library_path = $sogen_file->findnodes("//socgen:componentConfiguration/socgen:sim/socgen:library_path/text()")->to_literal;
|
|
|
|
|
|
|
my $socgen_file = $parser->parse_file(yp::lib::find_componentConfiguration($vendor,$project,$component));
|
|
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;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
Line 125... |
Line 130... |
#/ */
|
#/ */
|
#/ build directories and makefiles for code coverage */
|
#/ build directories and makefiles for code coverage */
|
#/ */
|
#/ */
|
#/*********************************************************************************************/
|
#/*********************************************************************************************/
|
|
|
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 $tool;
|
my $tool;
|
|
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:tools/socgen:tool"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:tools/socgen:tool"))
|
{
|
{
|
my($tool_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($tool_name) = $i_name ->findnodes('./text()')->to_literal ;
|
unless($tool_name eq "coverage") {$tool = $tool_name}
|
unless($tool_name eq "coverage") {$tool = $tool_name}
|
}
|
}
|
|
|
Line 156... |
Line 161... |
print MAKCOVFILE "tool=${tool} \n";
|
print MAKCOVFILE "tool=${tool} \n";
|
print MAKCOVFILE " \n";
|
print MAKCOVFILE " \n";
|
print MAKCOVFILE ".PHONY build_cdd:\n";
|
print MAKCOVFILE ".PHONY build_cdd:\n";
|
print MAKCOVFILE "build_cdd:\n";
|
print MAKCOVFILE "build_cdd:\n";
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage/socgen:cover/socgen:name"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage/socgen:cover/socgen:name"))
|
{
|
{
|
my($cover_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($cover_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($cover_inst) = $i_name ->findnodes('../socgen:componentInstance/text()')->to_literal ;
|
my($cover_inst) = $i_name ->findnodes('../socgen:componentInstance/text()')->to_literal ;
|
print MAKCOVFILE "\tcovered score -f ../../testbenches/filelists/${variant}.COV -i $cover_inst -t $cover_name -o ${cover_name}.cdd 2> ${cover_name}.log | tee >> ${cover_name}.log ;\\\n";
|
print MAKCOVFILE "\tcovered score -f ../../testbenches/filelists/${variant}.COV -i $cover_inst -t $cover_name -o ${cover_name}.cdd 2> ${cover_name}.log | tee >> ${cover_name}.log ;\\\n";
|
}
|
}
|
|
|
print MAKCOVFILE " \n";
|
print MAKCOVFILE " \n";
|
print MAKCOVFILE ".PHONY score_cov:\n";
|
print MAKCOVFILE ".PHONY score_cov:\n";
|
print MAKCOVFILE "score_cov:\n";
|
print MAKCOVFILE "score_cov:\n";
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage/socgen:cover/socgen:name"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage/socgen:cover/socgen:name"))
|
{
|
{
|
my($cover_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($cover_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($cover_inst) = $i_name ->findnodes('../componentInstance/text()')->to_literal ;
|
my($cover_inst) = $i_name ->findnodes('../componentInstance/text()')->to_literal ;
|
print MAKCOVFILE "\tcovered score -cdd ${cover_name}.cdd -vcd ../../${tool}/\$(TEST)/TestBench.vcd 2>> ${cover_name}_sco_cov.log | tee >> ${cover_name}_sco_cov.log ;\\\n";
|
print MAKCOVFILE "\tcovered score -cdd ${cover_name}.cdd -vcd ../../${tool}/\$(TEST)/TestBench.vcd 2>> ${cover_name}_sco_cov.log | tee >> ${cover_name}_sco_cov.log ;\\\n";
|
}
|
}
|
Line 179... |
Line 184... |
|
|
print MAKCOVFILE " \n";
|
print MAKCOVFILE " \n";
|
print MAKCOVFILE ".PHONY report_cov:\n";
|
print MAKCOVFILE ".PHONY report_cov:\n";
|
print MAKCOVFILE "report_cov:\n";
|
print MAKCOVFILE "report_cov:\n";
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage/socgen:cover/socgen:name"))
|
foreach my $i_name ($socgen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage/socgen:cover/socgen:name"))
|
{
|
{
|
my($cover_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($cover_name) = $i_name ->findnodes('./text()')->to_literal ;
|
my($cover_inst) = $i_name ->findnodes('../componentInstance/text()')->to_literal ;
|
my($cover_inst) = $i_name ->findnodes('../componentInstance/text()')->to_literal ;
|
print MAKCOVFILE "\tcovered report -cdd ${cover_name}.cdd 2> ${cover_name}_rep_cov.log | tee >> ${cover_name}_rep_cov.log ;\\\n";
|
print MAKCOVFILE "\tcovered report -cdd ${cover_name}.cdd 2> ${cover_name}_rep_cov.log | tee >> ${cover_name}_rep_cov.log ;\\\n";
|
}
|
}
|