Beruflich Dokumente
Kultur Dokumente
$/="\n";
while($line=<DATA>)
{
if($line=~/pin\(d\)/)
{
#print "You are in PIN(D)\n";
while($line=<DATA>)
{
if($line=~/setup_rising/)
{
while($line=<DATA>)
{
if($line=~/rise_constraint\(cnst_ctin_rtin_7x7\)/)
{
#print "You are in RISE CONSTRAINT\n";
$line=<DATA>;
$line=<DATA>;
$/="\"";
$line=<DATA>;
$/="\n";
#print "Enter The Row Number:\n";
$indx_1=2;
while($indx_1!=0)
{
$line=<DATA>;
--$indx_1;
}
#print "$line";
@array=split(/,/,$line);
#print "Enter The CoLumn Number:\n";
$indx_2=2;
if($indx_2==7)
{
chop($array[$indx_2-1]);
$infor{'Value'}=$array[$indx_2-1];
#print "The Value :$array[$indx_2-1]\n";
}
else
{
$infor{'Value'}=$array[$indx_2-1];
#print "The Value :$array[$indx_2-1]\n";
}
#print $infor{'Name'};
#print $infor{'Map'};
#print $infor{'Area'};
#print $infor{'Value'}."\n";
printf $data2 ("%40s%40s%40s%40s\n",$infor{'Name'},$infor{'Map'},$infor{'Area'},
$infor{'Value'});
print "\n";
last;
}#7th if rise constratint
}#5th while loop
last;
}#6th if setup rising
}#4th while loop
last;
}#5th if loop pin
else
{
$\="\n";
%infor = (
Name=>"Cell Name",
Map=>"Pin Map",
Area=>"Pin Area",
Value=>"Setup Rising Value at 2x2",
);
printf $data2 ("%40s%40s%40s%40s\n",$infor{'Name'},$infor{'Map'},$infor{'Area'},
$infor{'Value'});
print "\n";
while($line=<DATA>)
{
if($line=~/\Qcell\E/)
{
if($line=~/\Qsdf\E/)
{
chop($line);
chop($line);
chop($line);
$infor{'Name'}=$line;
$/="(";
while($line=<DATA>)
{
if($line=~/pin_name_map/)
{
$/=")";
$line=<DATA>;
$/=";";
chop($line);
$infor{'Map'}=$line;
$line=<DATA>;
$/=":";
$line=<DATA>;
$/=";";
$line=<DATA>;
chop($line);
chop($line);
$infor{'Area'}=$line;
$/="\n";
while($line=<DATA>)
{
if($line=~/pin\(d\)/)
{
while($line=<DATA>)
{
if($line=~/setup_rising/)
{
while($line=<DATA>)
{
if($line=~/rise_constraint\(cnst_ctin_rtin_7x7\)/)
{
$line=<DATA>;
$line=<DATA>;
$/="\"";
$line=<DATA>;
$/="\n";
$line=<DATA>;
$line=<DATA>;
@array=split(/,/,$line);
$infor{'Value'}=$array[1];
printf $data2 ("%40s%40s%40s%40s\n",$infor{'Name'},$infor{'Map'},$infor{'Area'},
$infor{'Value'});
print "\n";
print "\n";
print "\n";
print "\n";
last;
}#7th if rise constratint
}#5th while loop
last;
}#6th if setup rising
}#4th while loop
last;
}#5th if loop pin
}#3rd while loop
last;
}#4th if pin name
}
}
}
}
seek (DATA,0,0);
%infor1 = (
Name=>"Cell Name",
Map=>"Pin Map",
Area=>"Pin Area",
Pname=>"Pin Name",
Indx_m=>"Index m",
Indx_n=>"Index n",
Timing=>"Timing",
);
print "Enter The Index M:\n";
$ind_m=2;
$infor{'Indx_m'}=$ind_m;
print "Enter The Index N:\n";
$ind_n=2;
$infor{'Indx_n'}=$ind_n;
printf $data2 ("%40s%40s%40s%10s%10s%10s%40s\n",$infor1{'Name'},$infor1{'Map'},$
infor1{'Area'},$infor1{'Pname'},$infor1{'Indx_m'},$infor1{'Indx_n'},$infor1{'Tim
ing'});
%infor = (
Name=>"Cell Name",
Map=>"Pin Map",
Area=>"Pin Area",
Pname=>"Pin Name",
Indx_m=>"Index m",
Indx_n=>"Index n",
CeRi=>"Cell Rise",
CeFa=>"Cell Fall",
);
printf $data2 ("%40s%40s%40s%10s%10s%10s%20s%20s\n","","","","","","",$infor{'Ce
Ri'},$infor{'CeFa'});
while($line=<DATA>)
{
if($line=~/.*cell\(m0ihp.*/)
{
if($line!~/\Qsdf\E/)
{
chop($line);
chop($line);
chop($line);
$infor{'Name'}=$line;
$/="(";
while($line=<DATA>)
{
if($line=~/pin_name_map/)
{
$/=")";
$line=<DATA>;
$/=";";
chop($line);
$infor{'Map'}=$line;
$line=<DATA>;
$/=":";
$line=<DATA>;
$/=";";
$line=<DATA>;
chop($line);
chop($line);
$infor{'Area'}=$line;
$/="\n";
print "\n";
last;
}
else
{
next;
}
next;
}#4th if pin name
}#2nd while loop
#}#3rd if sdf
}#2nd if cell
}#1st while loop
}#1st if cell& sdf