Exemple #1
0
 def listComponents(self,libraryname=None):
     """ Return a list with all library components
     """
     if libraryname==None:
         libraryname = self.getLibName()
     official_component_type = self.getOfficialLibraries()
     componentlist = []
     if libraryname in official_component_type:
         componentlist = sy.listDirectory(settings.path+LIBRARYPATH+"/"+libraryname)
     elif libraryname in self.getPersonalLibName():
         componentlist = sy.listDirectory(self.getPersonalLibPath(libraryname))
     return componentlist
    def listLibraries(self):
        """ Return a list of libraries availables
        """
        componentlist = sy.listDirectory(settings.path + LIBRARYPATH )
        componentlist.extend(self.getPersonalLibName())

        componentlist.extend(self.getComponentsLibName())
        return componentlist
 def complete_addlibrary(self,text,line,begidx,endidx):
     """ complete addlibrary command with files under directory """
     path = line.split(" ")[1]
     if path.find("/") == -1: # sub
         path = ""
     elif text.split() == "": # sub/sub/
         path = "/".join(path)+"/"
     else: # sub/sub
         path = "/".join(path.split("/")[0:-1]) + "/"
     listdir = sy.listDirectory(path)
     return self.completelist(line,text,listdir)
Exemple #4
0
 def complete_selectprojecttree(self,text,line,begidx,endidx):
     """complete selectprojecttree command directories """
     path = line.split(" ")[1]
     if path.find("/") == -1: # sub
         path = ""
     elif text.split() == "": # sub/sub/
         path = "/".join(path)+"/"
     else: # sub/sub
         path = "/".join(path.split("/")[0:-1]) + "/"
     listdir = sy.listDirectory(path)
     return self.completelist(line,text,listdir)
 def copyBSPDrivers(self):
     """ delete all directories under POD dir, then copy
     drivers in."""
     bspdir = self.getBSPDirectory()
     if bspdir == None:
         raise Error("Set directory before",0)
     # deleting all directory in POD dir
     sy.deleteAllDir(bspdir)
     for directory in sy.listDirectory(settings.projectpath+DRIVERSPATH+"/"):
         sy.copyDirectory(settings.projectpath+DRIVERSPATH+"/"+directory,
                          self.getBSPDirectory())
 def complete_addtophdlfile(self,text,line,begidx,endidx):
     path = line.split(" ")[1]
     if path.find("/") == -1: # sub
         path = ""
     elif text.split() == "": # sub/sub/
         path = "/".join(path)+"/"
     else: # sub/sub
         path = "/".join(path.split("/")[0:-1]) + "/"
     listdir = sy.listDirectory(path)
     listfile = sy.listFileType(path,"vhd")
     listfile.extend(listdir)
     return self.completelist(line,text,listfile)
 def complete_load(self,text,line,begidx,endidx):
     """ complete load command with files under directory """
     path = line.split(" ")[1]
     if path.find("/") == -1: # sub
         path = ""
     elif text.split() == "": # sub/sub/
         path = "/".join(path)+"/"
     else: # sub/sub
         path = "/".join(path.split("/")[0:-1]) + "/"
     listdir = sy.listDirectory(path)
     listfile = sy.listFileType(path,XMLEXT[1:])
     listfile.extend(listdir)
     return self.completelist(line,text,listfile)
Exemple #8
0
def generateTCL(self,filename=None):
    """ generate tcl script for ise
    """
    if filename is None:
        filename = settings.active_project.getName() + TCLEXT
    tclfile = open(settings.projectpath +SYNTHESISPATH+"/"+ filename,"w")
    tclfile.write("# TCL script automaticaly generated by POD\n")
    tclfile.write("cd .."+OBJSPATH+"\n")
    # create project
    tclfile.write("project new "+settings.active_project.getName()+"\n")

    # Configuration
    tclfile.write("# configure platform params\n")
    platform = settings.active_project.getPlatform()
    tclfile.write("project set family "+platform.getFamily()+"\n")
    tclfile.write("project set device "+platform.getDevice()+"\n")
    tclfile.write("project set package "+platform.getPackage()+"\n")
    tclfile.write("project set speed "+platform.getSpeed()+"\n")
    tclfile.write("project set {Preferred Language} VHDL\n")

    # Source files
    tclfile.write("## add components sources file\n")
    tclfile.write("# add top level sources file\n")
    tclfile.write("xfile add .."+SYNTHESISPATH+"/top_"+\
            settings.active_project.getName()+VHDLEXT+"\n")

    for directory in sy.listDirectory(settings.projectpath+SYNTHESISPATH):
        for file in sy.listFiles(settings.projectpath+\
                                 SYNTHESISPATH+\
                                 "/"+directory):
            tclfile.write("xfile add .."+SYNTHESISPATH+"/"+directory+"/"+file+"\n")

    # Constraints files
    tclfile.write("# add constraint file\n")
    tclfile.write("xfile add .."+SYNTHESISPATH+"/"+\
            settings.active_project.getName() + UCFEXT+" \n")
    # Run synthesis
    tclfile.write('process run "Generate Programming File"\n')

    # Run post synthesis model generation
    tclfile.write('process run "Generate Post-Synthesis Simulation Model"\n')
    #    tclfile.write('cp netgen/synthesis/top_'+settings.active_project.getName()+\
    #        '_synthesis.vhd ../simulation/\n')
    # Run post place and route model generation
    tclfile.write('process run "Generate Post-Place & Route Simulation Model"\n')
    #tclfile.write('cp netgen/par/top_'+settings.active_project.getName()+\
    #        '_timesim.vhd ../simulation/\n')

    display.msg("TCL script generated with name : "+\
            settings.active_project.getName()+TCLEXT)
    return settings.active_project.getName()+TCLEXT
Exemple #9
0
 def checkLib(self,path):
     """ check if lib and component are not duplicated """
     libname = path.split("/")[-1]
     # check if lib name exist
     if libname in self.listLibraries():
         raise Error("Library "+libname+" already exist",0)
     # check if components under library are new
     componentlist = sy.listDirectory(path) 
     for component in componentlist:
         for libraryname in self.listLibraries(): 
             if component in self.listComponents(libraryname):
                 raise Error("Library "+libname+\
                         " contain a component that exist in '"+\
                         libraryname+"' : "+component,0)
Exemple #10
0
 def getOfficialLibraries(self):
     return sy.listDirectory(settings.path + LIBRARYPATH )