OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

[/] [socgen/] [trunk/] [tools/] [verilog/] [gen_ports] - Diff between revs 131 and 133

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

Rev 131 Rev 133
Line 122... Line 122...
   mkdir $path,0755             unless( -e $path );
   mkdir $path,0755             unless( -e $path );
   $path  = "${home}/${io_ports}/${vendor}__${library}";
   $path  = "${home}/${io_ports}/${vendor}__${library}";
   mkdir $path,0755             unless( -e $path );
   mkdir $path,0755             unless( -e $path );
   $path  = "${home}/${io_ports}/${vendor}__${library}/${component}";
   $path  = "${home}/${io_ports}/${vendor}__${library}/${component}";
   mkdir $path,0755             unless( -e $path );
   mkdir $path,0755             unless( -e $path );
   $outfile    ="${path}/${main_module_name}";
   $path  ="${path}/${main_module_name}";
 
   mkdir $path,0755             unless( -e $path );
 
 
 
 
 
   $outfile    ="${path}/busses.txt";
 
 
   if(-e ${outfile} )
   if(-e ${outfile} )
     {
     {
     # print " $outfile Exists, exiting \n";
     # print " $outfile Exists, exiting \n";
     exit 0
     exit 0
Line 603... Line 607...
                 if(${vector} eq "vector")
                 if(${vector} eq "vector")
                      {
                      {
                      unless( looks_like_number($left) ) { $left=0;}
                      unless( looks_like_number($left) ) { $left=0;}
                      }
                      }
                  uplift_busref(${hierConn_name},${log_name},${direction},"wire",${vector},${left},${right},"${hierConn_name}_${log_name}");
                  uplift_busref(${hierConn_name},${log_name},${direction},"wire",${vector},${left},${right},"${hierConn_name}_${log_name}");
 
 
 
                $busses_db->db_put( "IXstance.${hierConn_comref_name}.${hierConn_busref_name}.${log_name}","${value}"  );
 
 
                }
                }
               elsif (($key eq "AbsDef.${hierConn_busref_name}.master"))
               elsif (($key eq "AbsDef.${hierConn_busref_name}.master"))
                {
                {
                ( ${xx_vendor},${xx_library},${xx_name},${xx_version}) = split ':', $value;
                ( ${xx_vendor},${xx_library},${xx_name},${xx_version}) = split ':', $value;
                $busses_db->db_put( "AbsDef.${hierConn_name}.master","${xx_vendor}:${xx_library}:${xx_name}:${xx_version}"  );
                $busses_db->db_put( "AbsDef.${hierConn_name}.master","${xx_vendor}:${xx_library}:${xx_name}:${xx_version}"  );
                $busses_db->db_put( "AbsDef.${hierConn_name}.interconnect","${hierConn_comref_name}..${hierConn_busref_name}::"  );
                $busses_db->db_put( "AbsDef.${hierConn_name}.interconnect","${hierConn_comref_name}..${hierConn_busref_name}::"  );
 
                $busses_db->db_put( "Instance.${hierConn_comref_name}.${hierConn_busref_name}","${hierConn_name}"  );
 
 
                }
                }
               elsif (($key eq "AbsDef.${hierConn_busref_name}.slave"))
               elsif (($key eq "AbsDef.${hierConn_busref_name}.slave"))
                {
                {
                ( ${xx_vendor},${xx_library},${xx_name},${xx_version}) = split ':', $value;
                ( ${xx_vendor},${xx_library},${xx_name},${xx_version}) = split ':', $value;
                $busses_db->db_put( "AbsDef.${hierConn_name}.slave","${xx_vendor}:${xx_library}:${xx_name}:${xx_version}"  );
                $busses_db->db_put( "AbsDef.${hierConn_name}.slave","${xx_vendor}:${xx_library}:${xx_name}:${xx_version}"  );
                $busses_db->db_put( "AbsDef.${hierConn_name}.interconnect","${hierConn_comref_name}..${hierConn_busref_name}::"  );
                $busses_db->db_put( "AbsDef.${hierConn_name}.interconnect","${hierConn_comref_name}..${hierConn_busref_name}::"  );
 
                $busses_db->db_put( "Instance.${hierConn_comref_name}.${hierConn_busref_name}","${hierConn_name}"  );
                }
                }
 
 
 
 
 
 
 
 
 
 
               }
               }
 
 
               my $status = $child_cursor->c_close() ;
               my $status = $child_cursor->c_close() ;
               $child_ports_db   -> db_close();
               $child_ports_db   -> db_close();
            }
            }
Line 654... Line 659...
 
 
           my $repo_data;
           my $repo_data;
           $busses_db->db_get( "AbsDef.${lp_interconnect_name}.interconnect" , $repo_data );
           $busses_db->db_get( "AbsDef.${lp_interconnect_name}.interconnect" , $repo_data );
           $busses_db->db_put( "AbsDef.${lp_interconnect_name}.interconnect","${lp_componentref_name}..${lp_busref_name}::${repo_data}"  );
           $busses_db->db_put( "AbsDef.${lp_interconnect_name}.interconnect","${lp_componentref_name}..${lp_busref_name}::${repo_data}"  );
           $busses_db->db_put( "Instance.${lp_componentref_name}.${lp_busref_name}","${lp_interconnect_name}"  );
           $busses_db->db_put( "Instance.${lp_componentref_name}.${lp_busref_name}","${lp_interconnect_name}"  );
 
 
           }
           }
 
 
 
 
 
 
 
 
Line 680... Line 684...
        my($hierConn_comref_name)            = $i_name ->to_literal;
        my($hierConn_comref_name)            = $i_name ->to_literal;
        my($hierConn_busref_name)            = $i_name ->findnodes('../@spirit:busRef')->to_literal ;
        my($hierConn_busref_name)            = $i_name ->findnodes('../@spirit:busRef')->to_literal ;
        my($hierConn_name)                   = $i_name ->findnodes('../../spirit:name/text()')->to_literal ;
        my($hierConn_name)                   = $i_name ->findnodes('../../spirit:name/text()')->to_literal ;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
     #/*******************************************************************************/
     #/*******************************************************************************/
     #/*                                                                             */
     #/*                                                                             */
     #/* Read each  interconnection and enter modified signals into wire_decs        */
     #/* Read each  interconnection and enter modified signals into wire_decs        */
     #/*                                                                             */
     #/*                                                                             */
     #/*******************************************************************************/
     #/*******************************************************************************/
Line 767... Line 764...
 
 
              if(($key eq "BusRef.${hierConn_busref_name}.${log_name}"))
              if(($key eq "BusRef.${hierConn_busref_name}.${log_name}"))
                {
                {
#                 print "INTERCONN  ${hierConn_name}_${log_name}      $direction , $vector, $left , $right  \n";
#                 print "INTERCONN  ${hierConn_name}_${log_name}      $direction , $vector, $left , $right  \n";
                 uplift_busref(${hierConn_name},${log_name},"node","wire",${vector},${left},${right},"${hierConn_name}_${log_name}");
                 uplift_busref(${hierConn_name},${log_name},"node","wire",${vector},${left},${right},"${hierConn_name}_${log_name}");
 
 
 
                $busses_db->db_put( "IXstance.${hierConn_comref_name}.${hierConn_busref_name}.${log_name}","${value}"  );
 
 
 
 
 
 
                }
                }
               elsif(($key eq "AbsDef.${hierConn_busref_name}.master"))
               elsif(($key eq "AbsDef.${hierConn_busref_name}.master"))
                {
                {
                $busses_db->db_put( "AbsDef.${hierConn_name}.node","$value"  );
                $busses_db->db_put( "AbsDef.${hierConn_name}.node","$value"  );
                }
                }
Line 846... Line 848...
     #/*                                                                    */
     #/*                                                                    */
     #/* Read all adHocConnections and load instance connect info into array*/
     #/* Read all adHocConnections and load instance connect info into array*/
     #/*                                                                    */
     #/*                                                                    */
     #/**********************************************************************/
     #/**********************************************************************/
 
 
 
 
 
 
     foreach  my   $i_name ($spirit_design_file->findnodes('//spirit:adHocConnections/spirit:adHocConnection/spirit:internalPortReference/@spirit:componentRef'))
     foreach  my   $i_name ($spirit_design_file->findnodes('//spirit:adHocConnections/spirit:adHocConnection/spirit:internalPortReference/@spirit:componentRef'))
        {
        {
        my($componentRef_name)      = $i_name ->to_literal;
        my($componentRef_name)      = $i_name ->to_literal;
        my($int_portRef_name)       = $i_name ->findnodes('../@spirit:portRef')->to_literal ;
 
        my($adhocConnection_name)   = $i_name ->findnodes('../../spirit:name/text()')->to_literal ;
        my($adhocConnection_name)   = $i_name ->findnodes('../../spirit:name/text()')->to_literal ;
 
        my($tied_value)             = $i_name ->findnodes('../../@spirit:tiedValue')->to_literal ;
 
        my($int_portRef_name)       = $i_name ->findnodes('../@spirit:portRef')->to_literal ;
        my($ext_portRef_name)       = $i_name ->findnodes('../../spirit:externalPortReference/@spirit:portRef')->to_literal ;
        my($ext_portRef_name)       = $i_name ->findnodes('../../spirit:externalPortReference/@spirit:portRef')->to_literal ;
        my($left)                   = $i_name ->findnodes('../../spirit:externalPortReference/@spirit:left')->to_literal ;
        my($left)                   = $i_name ->findnodes('../../spirit:externalPortReference/@spirit:left')->to_literal ;
        my($right)                  = $i_name ->findnodes('../../spirit:externalPortReference/@spirit:right')->to_literal ;
        my($right)                  = $i_name ->findnodes('../../spirit:externalPortReference/@spirit:right')->to_literal ;
 
 
 
 
        if(  $left ne "" )
        if(  $left ne "" )
          {
          {
          if(  $right  eq "" ){ $right = $left; }
          if(  $right  eq "" ){ $right = $left; }
          $vector = "vector";
          $vector = "vector";
          }
          }
Line 867... Line 873...
          $vector = "scaler";
          $vector = "scaler";
          $left   = "none";
          $left   = "none";
          $right  = "none";
          $right  = "none";
          }
          }
 
 
 
 
 
 
 
          if ( ${adhocConnection_name} eq "" )  { $adhocConnection_name = "***";}
 
          if (  ${ext_portRef_name} eq ""    )  { $ext_portRef_name     = "***";}
 
 
 
 
 
#print "NNNNNNNNNN $componentRef_name $adhocConnection_name ||${tied_value}||  $int_portRef_name $ext_portRef_name $left $right \n";
 
 
 
        if($tied_value )
 
          {
 
          $busses_db->db_put( "AdHoc_${componentRef_name}__${int_portRef_name}","${tied_value}:${ext_portRef_name}:${type}:${vector}:${left}:${right}"  );
 
 
 
#print"NNNNNNNNNNNNN  AdHoc_${componentRef_name}__${int_portRef_name}    ${tied_value}:${ext_portRef_name}:${type}:${vector}:${left}:${right}\n"  ;
 
 
 
          }
 
         else
 
          {
 
          $busses_db->db_put( "AdHoc_${componentRef_name}__${int_portRef_name}","${adhocConnection_name}:${ext_portRef_name}:${type}:${vector}:${left}:${right}"  );
 
#          print "NNNNNNNNN   AdHoc_${componentRef_name}__${int_portRef_name}    ${adhocConnection_name}:${ext_portRef_name}:${type}:${vector}:${left}:${right} \n"  ;
 
 
 
 
        $_ = ${adhocConnection_name};
        $_ = ${adhocConnection_name};
        if(/(\w+)/)
        if(/(\w+)/)
            {
            {
            $adhocConnection_name      = $1;
            $adhocConnection_name      = $1;
            unless( looks_like_number($adhocConnection_name) )
            unless( looks_like_number($adhocConnection_name) )
                  {
                  {
#                  print "ADHOC_NODE   ${adhocConnection_name}  ,  node  ,  wire  , $vector, $left , $right  \n";
#                  print "ADHOC_NODE   ${adhocConnection_name}  ,  node  ,  wire  , $vector, $left , $right  \n";
                  uplift_busref("adhoc", ${adhocConnection_name} , "node" , "wire" , ${vector}, ${left} , ${right}, ${adhocConnection_name});
                  uplift_busref("adhoc", ${adhocConnection_name} , "node" , "wire" , ${vector}, ${left} , ${right}, ${adhocConnection_name});
                  }
                  }
            }
            }
 
 
 
          }
 
 
 
 
        }
        }
}
}
 
 
 
 
 
 

powered by: WebSVN 2.1.0

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