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_gen.pl] - Diff between revs 17 and 18

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

Rev 17 Rev 18
Line 170... Line 170...
 
 
sub get_soc_list {
sub get_soc_list {
        my $mpsoc=shift;
        my $mpsoc=shift;
 
 
        my $path=$mpsoc->mpsoc_get_setting('soc_path');
        my $path=$mpsoc->mpsoc_get_setting('soc_path');
 
        $path =~ s/ /\\ /g;
    my @socs;
    my @socs;
        my @files = glob "$path/*.SOC";
        my @files = glob "$path/*.SOC";
        for my $p (@files){
        for my $p (@files){
 
 
                # Read
                # Read
Line 1081... Line 1082...
 
 
sub gen_socs {
sub gen_socs {
        my ($mpsoc,$info)=@_;
        my ($mpsoc,$info)=@_;
 
 
        my $path=$mpsoc->mpsoc_get_setting('soc_path');
        my $path=$mpsoc->mpsoc_get_setting('soc_path');
 
        $path=~ s/ /\\ /g;
    my @socs;
    my @socs;
        my @files = glob "$path/*.SOC";
        my @files = glob "$path/*.SOC";
        my @soc_list=$mpsoc-> mpsoc_get_soc_list();
        my @soc_list=$mpsoc-> mpsoc_get_soc_list();
        my @used_socs;
        my @used_socs;
        foreach my $soc_name (@soc_list){
        foreach my $soc_name (@soc_list){
Line 1146... Line 1148...
        mkpath("$target_dir/src_verilog/tiles/",1,0755);
        mkpath("$target_dir/src_verilog/tiles/",1,0755);
        mkpath("$target_dir/sw",1,0755);
        mkpath("$target_dir/sw",1,0755);
 
 
    #copy hdl codes in src_verilog
    #copy hdl codes in src_verilog
 
 
    my ($hdl_ref,$warnings)= get_all_files_list($soc);
    my ($hdl_ref,$warnings)= get_all_files_list($soc,"hdl_files");
    foreach my $f(@{$hdl_ref}){
    foreach my $f(@{$hdl_ref}){
 
 
        my $n="$project_dir$f";
        my $n="$project_dir$f";
         if (-f "$n") {
         if (-f "$n") {
                        copy ("$n","$target_dir/src_verilog/lib");
                        copy ("$n","$target_dir/src_verilog/lib");
         }elsif(-f "$f" ){
         }elsif(-f "$f" ){
                        copy ("$f","$target_dir/src_verilog/lib");
                        copy ("$f","$target_dir/src_verilog/lib");
Line 1173... Line 1176...
                #       $p
                #       $p
                        #       );
                        #       );
                #}
                #}
 
 
 
 
                copy ("$dir/lib/verilog/$soc_name.v","$target_dir/src_verilog/tiles/");
                move ("$dir/lib/verilog/$soc_name.v","$target_dir/src_verilog/tiles/");
                copy_noc_files($project_dir,"$target_dir/src_verilog/lib");
                copy_noc_files($project_dir,"$target_dir/src_verilog/lib");
 
 
 
 
                # Write header file
                # Write header file
                        my $file_h=generate_header_file($soc);
                        my $file_h=generate_header_file($soc);
Line 1185... Line 1188...
                        print FILE $file_h;
                        print FILE $file_h;
                        close(FILE) || die "Error closing file: $!";
                        close(FILE) || die "Error closing file: $!";
 
 
 
 
 
 
                        copy ("$dir/lib/verilog/$soc_name.h","$target_dir/sw/");
                        move ("$dir/lib/verilog/$soc_name.h","$target_dir/sw/");
 
 
                        use File::Copy::Recursive qw(dircopy);
                        #use File::Copy::Recursive qw(dircopy);
                        dircopy("$dir/../src_processor/aeMB/compiler","$target_dir/sw/") or die("$!\n");
                        #dircopy("$dir/../src_processor/aeMB/compiler","$target_dir/sw/") or die("$!\n");
 
 
 
 
                        my $msg="SoC \"$soc_name\" has been created successfully at $target_dir/ ";
                        my $msg="SoC \"$soc_name\" has been created successfully at $target_dir/ ";
 
 
 
 
Line 1234... Line 1237...
                        mkpath("$target_dir/src_verilog/lib/",1,0755);
                        mkpath("$target_dir/src_verilog/lib/",1,0755);
                        mkpath("$target_dir/sw",1,0755);
                        mkpath("$target_dir/sw",1,0755);
 
 
                gen_socs($mpsoc,$info);
                gen_socs($mpsoc,$info);
 
 
                copy ("$dir/lib/verilog/$name.v","$target_dir/src_verilog/");
                move ("$dir/lib/verilog/$name.v","$target_dir/src_verilog/");
 
 
 
 
 
 
 
 
 
 

powered by: WebSVN 2.1.0

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