OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [perl_gui/] [lib/] [perl/] [mpsoc_verilog_gen.pl] - Diff between revs 38 and 42

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 38 Rev 42
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);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.