Pre-ci test passed git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4000 818b1a75-f10b-46b9-bf7c-635c3b92a50f
132 lines
2.6 KiB
Perl
Executable File
132 lines
2.6 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
|
|
my $t_old ;
|
|
my $t ;
|
|
my $tt ;
|
|
my $inst ;
|
|
my $interf;
|
|
my $funct;
|
|
my $nfunc;
|
|
my $transid;
|
|
my $transaction_mode = 1;
|
|
|
|
my %wire = ( "CMM->RRM" => "w00" ,"RRM->CMM" => "w01",
|
|
"RRC->RRM" => "w02" ,"RRM->RRC" => "w03",
|
|
"PUSU->RRM" => "w06" ,"RRM->PUSU" => "w07"
|
|
);
|
|
|
|
my %old_value = ( "CMM->RRM" => "x" ,"RRM->CMM" => "x",
|
|
"PUSU->RRM" => "x" ,"RRM->PUSU" => "x",
|
|
"RRC->RRM" => "x" ,"RRM->RRC" => "x" );
|
|
|
|
my %value = ( "CMM->RRM" => "..." ,"RRM->CMM" => "...",
|
|
"PUSU->RRM" => "..." ,"RRM->PUSU" => "...",
|
|
"RRC->RRM" => "..." ,"RRM->RRC" => "..." );
|
|
|
|
open( FDOUT, ">wave.vcd" );
|
|
|
|
printf( FDOUT "\$comment
|
|
Affichage des echanges du RRM avec le RRC et le CMM
|
|
utiliser GTKwave pour visualiser ce fichier
|
|
-> http://linux-workshop.com/bybell/ver/wave/gtkwave9x.html
|
|
\$end
|
|
\$timescale
|
|
1us
|
|
\$end
|
|
|
|
\$version
|
|
timing simulation
|
|
\$end
|
|
|
|
\$var real 1 w00 CMM-->RRM \$end
|
|
\$var real 1 w01 RRM-->CCM \$end
|
|
\$var real 1 w02 RRC-->RRM \$end
|
|
\$var real 1 w03 RRM-->RRC \$end
|
|
\$var real 1 w04 transaction \$end
|
|
\$var real 1 w05 instance \$end
|
|
\$var real 1 w06 PUSU-->RRM \$end
|
|
\$var real 1 w07 RRM-->PUSU \$end
|
|
|
|
\$enddefinitions \$end
|
|
" );
|
|
|
|
|
|
#open( FDIN, "<toto.res" ) ;
|
|
open( FDIN, "cat cmm2rrm.txt rrc2rrm.txt pusu2rrm.txt rrm2cmm.txt rrm2rrc.txt rrm2pusu.txt | sort -n |" ) ;
|
|
while( <FDIN>)
|
|
{
|
|
chomp ;
|
|
( $t, $interf, $inst, $funct, $nfunc, $transid ) = split ;
|
|
|
|
$t_old = $t-0.1 if ($t_old ==0 ) ;
|
|
|
|
foreach my $k ( keys %old_value )
|
|
{
|
|
$value{$k} = "..." ;
|
|
}
|
|
|
|
$value{"$interf"}=$funct;
|
|
|
|
if ( $transaction_mode == 1)
|
|
{
|
|
printf( FDOUT "#%d\n", $tt *1e6 ) ;
|
|
}
|
|
else
|
|
{
|
|
printf( FDOUT "#%d\n", ( ($t -$t_old) *1e6) ) ;
|
|
}
|
|
|
|
printf( FDOUT "r%d w04\n", $transid ) ;
|
|
printf( FDOUT "r%d w05\n", $inst ) ;
|
|
|
|
foreach my $k ( keys %old_value )
|
|
{
|
|
if ( $value{$k} ne $old_value{$k})
|
|
{
|
|
printf( FDOUT "s%s %s\n", $value{$k}, $wire{$k} ) ;
|
|
}
|
|
|
|
$old_value{$k} = $value{$k} ;
|
|
}
|
|
|
|
$tt+=0.1;
|
|
|
|
}
|
|
|
|
foreach my $k ( keys %old_value )
|
|
{
|
|
$value{$k} = "..." ;
|
|
}
|
|
|
|
|
|
if ( $transaction_mode == 1)
|
|
{
|
|
printf( FDOUT "#%d\ns... w04\n", ($tt+0.1 )*1e6 ) ;
|
|
}
|
|
else
|
|
{
|
|
printf( FDOUT "#%d\ns... w04\n", int( ($t+0.1 -$t_old) *1e6 )) ;
|
|
}
|
|
|
|
foreach my $k ( keys %old_value )
|
|
{
|
|
if ( $value{$k} ne $old_value{$k})
|
|
{
|
|
printf( FDOUT "s%s %s\n", $value{$k}, $wire{$k} ) ;
|
|
}
|
|
}
|
|
|
|
if ( $transaction_mode == 1)
|
|
{
|
|
printf( FDOUT "#%d\ns... w04\n", ($tt+0.2 )*1e6 ) ;
|
|
}
|
|
else
|
|
{
|
|
printf( FDOUT "#%d\ns... w04\n", int( ($t+0.2 -$t_old) *1e6 )) ;
|
|
}
|
|
|
|
close(FDIN);
|
|
close(FDOUT);
|