Line 179... |
Line 179... |
my @socs=$mpsoc->mpsoc_get_soc_list();
|
my @socs=$mpsoc->mpsoc_get_soc_list();
|
foreach my $soc_name (@socs){
|
foreach my $soc_name (@socs){
|
my %param_value;
|
my %param_value;
|
my $top=$mpsoc->mpsoc_get_soc($soc_name);
|
my $top=$mpsoc->mpsoc_get_soc($soc_name);
|
my @insts=$top->top_get_all_instances();
|
my @insts=$top->top_get_all_instances();
|
my @exceptions=('ni0');
|
my @exceptions=get_NI_instance_list($top);
|
@insts=get_diff_array(\@insts,\@exceptions);
|
@insts=get_diff_array(\@insts,\@exceptions);
|
foreach my $inst (@insts){
|
foreach my $inst (@insts){
|
my @params=$top->top_get_parameter_list($inst);
|
my @params=$top->top_get_parameter_list($inst);
|
foreach my $p (@params){
|
foreach my $p (@params){
|
my ($default,$type,$content,$info,$global_param,$redefine)=$top->top_get_parameter($inst,$p);
|
my ($default,$type,$content,$info,$global_param,$redefine)=$top->top_get_parameter($inst,$p);
|
Line 219... |
Line 219... |
my $top=$soc->soc_get_top();
|
my $top=$soc->soc_get_top();
|
if (defined $top){
|
if (defined $top){
|
my @instance_list=$top->top_get_all_instances();
|
my @instance_list=$top->top_get_all_instances();
|
#check if the soc has ni port
|
#check if the soc has ni port
|
foreach my $instanc(@instance_list){
|
foreach my $instanc(@instance_list){
|
my $module=$top->top_get_def_of_instance($instanc,'module');
|
my $category=$top->top_get_def_of_instance($instanc,'category');
|
if($module eq 'ni')
|
if($category eq 'NoC')
|
{
|
{
|
my $name=$soc->object_get_attribute('soc_name');
|
my $name=$soc->object_get_attribute('soc_name');
|
$mpsoc->mpsoc_add_soc($name,$top);
|
$mpsoc->mpsoc_add_soc($name,$top);
|
#print" $name\n";
|
#print" $name\n";
|
}
|
}
|
Line 249... |
Line 249... |
return $mpsoc->mpsoc_get_soc_list;
|
return $mpsoc->mpsoc_get_soc_list;
|
|
|
|
|
|
|
}
|
}
|
|
|
|
|
|
sub get_NI_instance_list {
|
|
my $top=shift;
|
|
my @nis;
|
|
my @instance_list=$top->top_get_all_instances();
|
|
#check if the soc has ni port
|
|
foreach my $instanc(@instance_list){
|
|
my $category=$top->top_get_def_of_instance($instanc,'category');
|
|
push(@nis,$instanc) if($category eq 'NoC') ;
|
|
}
|
|
return @nis;
|
|
}
|
|
|
####################
|
####################
|
# get_conflict_decision
|
# get_conflict_decision
|
###########################
|
###########################
|
sub b_box{
|
sub b_box{
|
# create a new button
|
# create a new button
|
Line 417... |
Line 431... |
my %param_value=(defined $tile) ? $top->top_get_custom_soc_param($tile) : $top->top_get_default_soc_param();
|
my %param_value=(defined $tile) ? $top->top_get_custom_soc_param($tile) : $top->top_get_default_soc_param();
|
|
|
|
|
|
|
my @insts=$top->top_get_all_instances();
|
my @insts=$top->top_get_all_instances();
|
my @exceptions=('ni0');
|
my @exceptions=get_NI_instance_list($top);
|
@insts=get_diff_array(\@insts,\@exceptions);
|
@insts=get_diff_array(\@insts,\@exceptions);
|
foreach my $inst (@insts){
|
foreach my $inst (@insts){
|
my @params=$top->top_get_parameter_list($inst);
|
my @params=$top->top_get_parameter_list($inst);
|
foreach my $p (@params){
|
foreach my $p (@params){
|
my ($default,$type,$content,$info,$global_param,$redefine)=$top->top_get_parameter($inst,$p);
|
my ($default,$type,$content,$info,$global_param,$redefine)=$top->top_get_parameter($inst,$p);
|
Line 962... |
Line 976... |
$label="Class $i Permitted VCs";
|
$label="Class $i Permitted VCs";
|
$param="Cn_$i";
|
$param="Cn_$i";
|
$type="Check-box";
|
$type="Check-box";
|
$content=$v;
|
$content=$v;
|
$info="Select the permitted VCs which the message class $i can be sent via them.";
|
$info="Select the permitted VCs which the message class $i can be sent via them.";
|
$row=noc_param_widget ($mpsoc,$label,$param, $default,$type,$content,$info, $table,$row,$adv_set,'noc_param',undef);
|
$row=noc_param_widget ($mpsoc,$label,$param, $default,$type,$content,$info, $table,$row,$adv_set,'class_param',undef);
|
|
|
|
|
}
|
}
|
|
|
|
|
Line 991... |
Line 1005... |
$label="Add pipeline reg after crossbar";
|
$label="Add pipeline reg after crossbar";
|
$param="ADD_PIPREG_AFTER_CROSSBAR";
|
$param="ADD_PIPREG_AFTER_CROSSBAR";
|
$type="Check-box";
|
$type="Check-box";
|
$content=1;
|
$content=1;
|
$default="1\'b0";
|
$default="1\'b0";
|
$info="If ebabled it adds a pipline register at the output port of the router.";
|
$info="If enabeled it adds a pipline register at the output port of the router.";
|
$row=noc_param_widget ($mpsoc,$label,$param, $default,$type,$content,$info, $table,$row,$adv_set,'noc_param');
|
$row=noc_param_widget ($mpsoc,$label,$param, $default,$type,$content,$info, $table,$row,$adv_set,'noc_param');
|
|
|
|
|
|
|
|
|
Line 1175... |
Line 1189... |
#update core id
|
#update core id
|
$soc->object_add_attribute('global_param','CORE_ID',$tile_num);
|
$soc->object_add_attribute('global_param','CORE_ID',$tile_num);
|
#update NoC param
|
#update NoC param
|
#my %nocparam = %{$mpsoc->object_get_attribute('noc_param',undef)};
|
#my %nocparam = %{$mpsoc->object_get_attribute('noc_param',undef)};
|
my $nocparam =$mpsoc->object_get_attribute('noc_param',undef);
|
my $nocparam =$mpsoc->object_get_attribute('noc_param',undef);
|
$soc->soc_add_instance_param('ni0' ,$nocparam );
|
my $top=$mpsoc->mpsoc_get_soc($soc_name);
|
|
my @nis=get_NI_instance_list($top);
|
|
$soc->soc_add_instance_param($nis[0] ,$nocparam );
|
#foreach my $p ( sort keys %nocparam ) {
|
#foreach my $p ( sort keys %nocparam ) {
|
|
|
# print "$p = $nocparam{$p} \n";
|
# print "$p = $nocparam{$p} \n";
|
#}
|
#}
|
|
|