URL
https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 38 |
Rev 48 |
Line 8... |
Line 8... |
use warnings;
|
use warnings;
|
use strict;
|
use strict;
|
|
|
|
|
|
|
package emulator;
|
|
|
|
|
package emulator;
|
|
|
|
sub uniq {
|
|
my %seen;
|
|
return grep { !$seen{$_}++ } @_;
|
|
}
|
|
|
sub emulator_new {
|
sub emulator_new {
|
# be backwards compatible with non-OO call
|
# be backwards compatible with non-OO call
|
my $class = ("ARRAY" eq ref $_[0]) ? "mpsoc" : shift;
|
my $class = ("ARRAY" eq ref $_[0]) ? "mpsoc" : shift;
|
my $self;
|
my $self;
|
Line 64... |
Line 68... |
|
|
}
|
}
|
|
|
sub object_add_attribute_order{
|
sub object_add_attribute_order{
|
my ($self,$attribute,@param)=@_;
|
my ($self,$attribute,@param)=@_;
|
$self->{'parameters_order'}{$attribute}=[] if (!defined $self->{parameters_order}{$attribute});
|
my $r = $self->{'parameters_order'}{$attribute};
|
foreach my $p (@param){
|
my @a;
|
push (@{$self->{parameters_order}{$attribute}},$p);
|
@a = @{$r} if(defined $r);
|
|
push (@a,@param);
|
}
|
@a=uniq(@a);
|
|
$self->{'parameters_order'}{$attribute} =\@a;
|
}
|
}
|
|
|
sub object_get_attribute_order{
|
sub object_get_attribute_order{
|
my ($self,$attribute)=@_;
|
my ($self,$attribute)=@_;
|
my @array;
|
my @array;
|
@array = @{$self->{parameters_order}{$attribute}} if (defined $self->{parameters_order}{$attribute});
|
@array = @{$self->{parameters_order}{$attribute}} if (defined $self->{parameters_order}{$attribute});
|
return @array;
|
return uniq (@array);
|
}
|
}
|
|
|
|
|
sub object_delete_attribute_order{
|
sub object_delete_attribute_order{
|
my ($self,$attribute,@param)=@_;
|
my ($self,$attribute,@param)=@_;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.