SOC时序分析中的跳变点
er than the INTERCONNECT delay \n";}}}
if ($correct_value1_IOPATH[0] == $correct_value2_IOPATH[0] && $correct_value1_IOPATH[1] == $correct_value2_IOPATH[1] && $correct_value1_IOPATH[2] == $correct_value2_IOPATH[2]) { # Print these values only if they are differnet from the already printed values for the IOPATH
} else {
print file1 " ($correct_value2_IOPATH[0]:$correct_value2_IOPATH[1]:$correct_value2_IOPATH[2])";
}
}
else{print file1 "$value_IOPATH[1] ";} # This is to print empty brackets in case rise and fall triplets are empty
for ($m=2;$m<=$value_IOPATH_width;$m++) {
if (exists $value_IOPATH[$m]) {
$value_IOPATH[$m] =~ s/\)+/\)/; # To account for the brackets
print file1 " $value_IOPATH[$m]";
}
}
if ($array4[0] =~ "COND" ) { ## Extra bracket for COND statements
print file1 "))\n";
} else {print file1 ")\n";}
}
}
else
{print file1 "$line1";} #######DUMPING OUT OF SDF IN FILE1######################
}
else
{print file1 "$line1";}
}
close(file1);
close(fileA);
open(FILEA,$ARGV[0]) || die ("ERROR:: SDF file $ARGV[0] cannot be opened for reading\n");
print "\n\n#############REPORTING INSTANCES WHOSE DEFINITION IS NOT THERE IN THE SDF#############\n";
while(
{
$line2 = $_;
$line2 =~ s/^\s+//g ;
if ( $line2 =~ "INTERCONNECT.*-[0-9]")
{ @array4 = split(/\s+/,$line2);
$instance_name3 = $array4[2];
$instance_name3 =~ s/\/[^(.*\/)][A-Z0-9a-z_\[0-9\]+]*$//g;
if(exists $instance_definition{$instance_name3})
{}
else
{print "$line2";}
}
}
close(fileA);
print "\n";
- 在进行时序分析时为什么CPR操作得出的效果却是相反的?(02-07)
- 时序分析中的一些基本概念(02-11)
- 如何成为一名优秀的SoC设计工程师(06-19)
- 片上系统SoC设计流程(09-12)
- LT3751如何使高压电容器充电变得简单(08-12)
- 三路输出LED驱动器可驱动共阳极LED串(08-17)