Line 44... |
Line 44... |
my $socs_v=gen_socs_v($mpsoc,\$io_v,\$io_def_v,\$top_io,$top_ip,$sw_dir);
|
my $socs_v=gen_socs_v($mpsoc,\$io_v,\$io_def_v,\$top_io,$top_ip,$sw_dir);
|
|
|
#functions
|
#functions
|
my $functions=get_functions();
|
my $functions=get_functions();
|
|
|
my $mpsoc_v = (defined $param_as_in_v )? "module $mpsoc_name #(\n $param_as_in_v\n)(\n$io_v\n);\n": "module $mpsoc_name (\n$io_v\n);\n";
|
my $mpsoc_v = (defined $param_as_in_v )? "`timescale 1ns/1ps\nmodule $mpsoc_name #(\n $param_as_in_v\n)(\n$io_v\n);\n": "`timescale 1ns/1ps\nmodule $mpsoc_name (\n$io_v\n);\n";
|
add_text_to_string (\$mpsoc_v,$noc_param);
|
add_text_to_string (\$mpsoc_v,$noc_param);
|
add_text_to_string (\$mpsoc_v,$functions);
|
add_text_to_string (\$mpsoc_v,$functions);
|
add_text_to_string (\$mpsoc_v,$socs_param);
|
add_text_to_string (\$mpsoc_v,$socs_param);
|
|
|
add_text_to_string (\$mpsoc_v,$io_def_v);
|
add_text_to_string (\$mpsoc_v,$io_def_v);
|
add_text_to_string (\$mpsoc_v,$noc_v);
|
add_text_to_string (\$mpsoc_v,$noc_v);
|
add_text_to_string (\$mpsoc_v,$socs_v);
|
add_text_to_string (\$mpsoc_v,$socs_v);
|
add_text_to_string (\$mpsoc_v,"\nendmodule\n");
|
add_text_to_string (\$mpsoc_v,"\nendmodule\n");
|
|
|
my $top_v = (defined $param_as_in_v )? "module ${mpsoc_name}_top #(\n $param_as_in_v\n)(\n$io_v\n);\n": "module ${mpsoc_name}_top (\n $io_v\n);\n";
|
|
|
my $top_v = (defined $param_as_in_v )? "`timescale 1ns/1ps\nmodule ${mpsoc_name}_top #(\n $param_as_in_v\n)(\n$io_v\n);\n": "`timescale 1ns/1ps\nmodule ${mpsoc_name}_top (\n $io_v\n);\n";
|
add_text_to_string (\$top_v,$socs_param);
|
add_text_to_string (\$top_v,$socs_param);
|
add_text_to_string (\$top_v,$io_def_v);
|
add_text_to_string (\$top_v,$io_def_v);
|
add_text_to_string(\$top_v,"
|
add_text_to_string(\$top_v,"
|
// Allow software to remote reset/enable the cpu via jtag
|
// Allow software to remote reset/enable the cpu via jtag
|
|
|
Line 577... |
Line 578... |
}
|
}
|
|
|
|
|
|
|
}
|
}
|
|
#enable
|
elsif( $intfc eq 'plug:enable[0]'){
|
elsif( $intfc eq 'plug:enable[0]'){
|
my @ports=$top->top_get_intfc_ports_list($intfc);
|
my @ports=$top->top_get_intfc_ports_list($intfc);
|
foreach my $p (@ports){
|
foreach my $p (@ports){
|
my($inst,$range,$type,$intfc_name,$intfc_port)= $top->top_get_port($p);
|
my($inst,$range,$type,$intfc_name,$intfc_port)= $top->top_get_port($p);
|
add_text_to_string(\$soc_v,',') if ($i);
|
add_text_to_string(\$soc_v,',') if ($i);
|
Line 590... |
Line 592... |
|
|
}
|
}
|
|
|
|
|
}
|
}
|
|
#RxD_sim
|
|
elsif( $intfc eq 'socket:RxD_sim[0]'){
|
|
#This interface is for simulation only donot include it in top module
|
|
my @ports=$top->top_get_intfc_ports_list($intfc);
|
|
foreach my $p (@ports){
|
|
add_text_to_string(\$soc_v,',') if ($i);
|
|
add_text_to_string(\$soc_v,"\n\t\t.$p( )");
|
|
$i=1;
|
|
}
|
|
|
|
}
|
|
|
else {
|
else {
|
#other interface
|
#other interface
|
my @ports=$top->top_get_intfc_ports_list($intfc);
|
my @ports=$top->top_get_intfc_ports_list($intfc);
|
foreach my $p (@ports){
|
foreach my $p (@ports){
|
my($inst,$range,$type,$intfc_name,$intfc_port)= $top->top_get_port($p);
|
my($inst,$range,$type,$intfc_name,$intfc_port)= $top->top_get_port($p);
|