Line 127... |
Line 127... |
#/ */
|
#/ */
|
#/*********************************************************************************************/
|
#/*********************************************************************************************/
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage"))
|
foreach my $i_name ($sogen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage"))
|
{
|
{
|
print " Code coverage directories for $project - $component . ${version}. - $variant \n";
|
|
|
|
|
my $tool;
|
|
|
|
|
|
foreach my $i_name ($sogen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:tools/socgen:tool"))
|
|
{
|
|
my($tool_name) = $i_name ->findnodes('./text()')->to_literal ;
|
|
unless($tool_name eq "coverage") {$tool = $tool_name}
|
|
}
|
|
|
|
print "Code coverage directories for $tool $project - $component . ${version}. - $variant \n";
|
|
|
|
|
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 );
|
my $path = "${home}${work_site}/${vendor}__${project}${sim_library_path}/cov/${variant}";
|
my $path = "${home}${work_site}/${vendor}__${project}${sim_library_path}/cov/${variant}";
|
mkdir $path,0755 unless( -e $path );
|
mkdir $path,0755 unless( -e $path );
|
my $outfile ="${home}${work_site}/${vendor}__${project}${sim_library_path}/cov/${variant}/Makefile";
|
my $outfile ="${home}${work_site}/${vendor}__${project}${sim_library_path}/cov/${variant}/Makefile";
|
open MAKCOVFILE,">$outfile" or die "unable to open $outfile";
|
open MAKCOVFILE,">$outfile" or die "unable to open $outfile";
|
|
|
print MAKCOVFILE "SHELL=/bin/sh \n";
|
print MAKCOVFILE "SHELL=/bin/sh \n";
|
print MAKCOVFILE "MAKE=make \n";
|
print MAKCOVFILE "MAKE=make \n";
|
print MAKCOVFILE " \n";
|
print MAKCOVFILE "comp=${variant} \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 ($sogen_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 filelist.cov -i $cover_inst -t $cover_name -I ./ -v ./coverage.v -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 ($sogen_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 ../../icarus/\$(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";
|
}
|
}
|
|
|
|
|
|
|
|
|
|
|
print MAKCOVFILE " \n";
|
|
print MAKCOVFILE ".PHONY score_cov_ver:\n";
|
|
print MAKCOVFILE "score_cov_ver:\n";
|
|
|
|
foreach my $i_name ($sogen_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_inst) = $i_name ->findnodes('../componentInstance/text()')->to_literal ;
|
|
print MAKCOVFILE "\tcovered score -cdd ${cover_name}.cdd -vcd ../../verilator/\$(TEST)/TestBench.vcd 2>> ${cover_name}_sco_cov.log | tee >> ${cover_name}_sco_cov.log ;\\\n";
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 ($sogen_file->findnodes("//socgen:testbench[socgen:variant/text() = '$variant']/socgen:code_coverage/socgen:cover/socgen:name"))
|