Ejemplo n.º 1
0
    def load_project(self, pathname):
        """ Load the  project
        """
        self.open_xml(pathname)
        components = self.get_node("components")
        # load components
        if(components):
            for node in components.get_nodes("component"):
                if node.get_attr_value("platform") is None:
                    comp = Component(self)
                else:
                    comp = Platform(self, node=self.get_node("platform"))
                try:
                    comp.load(node.get_attr_value("name"))
                except IOError:
                    self.del_subnode("components",
                                     "component",
                                     "name", node.get_attr_value("name"))
                    raise PodError("Can't open " +
                                   node.get_attr_value("name") +
                                   " directory", 0)
                else:
                    self._instanceslist.append(comp)

        # load toolchains
        toolchains = self.get_node("toolchain")
        if(toolchains):
            node = toolchains.get_node("simulation")
            if node is not None:
                self.simulation = Simulation(self, node.name)
            node = toolchains.get_node("synthesis")
            if node is not None:
                self.synthesis = synthesis_factory(self, node.name)

        # Set bus master-slave
        for masterinterface in self.interfaces_master:
            for slave in masterinterface.slaves:
                slaveinterface = slave.get_interface()
                masterinterface.alloc_mem.add_slave_interface(slaveinterface)
                slaveinterface.master = masterinterface

        # set bsp directory
        if self.get_node(nodename="bsp") is not None:
            self.bspdir = self.get_node(
                nodename="bsp").get_attr_value("directory")
        self.void = 0
Ejemplo n.º 2
0
    def load_project(self, pathname):
        """ Load the  project
        """
        self.open_xml(pathname)
        components = self.get_node("components")
        # load components
        if (components):
            for node in components.get_nodes("component"):
                if node.get_attr_value("platform") is None:
                    comp = Component(self)
                else:
                    comp = Platform(self, node=self.get_node("platform"))
                try:
                    comp.load(node.get_attr_value("name"))
                except IOError:
                    self.del_subnode("components", "component", "name",
                                     node.get_attr_value("name"))
                    raise PodError(
                        "Can't open " + node.get_attr_value("name") +
                        " directory", 0)
                else:
                    self._instanceslist.append(comp)

        # load toolchains
        toolchains = self.get_node("toolchain")
        if (toolchains):
            node = toolchains.get_node("simulation")
            if node is not None:
                self.simulation = Simulation(self, node.name)
            node = toolchains.get_node("synthesis")
            if node is not None:
                self.synthesis = synthesis_factory(self, node.name)

        # Set bus master-slave
        for masterinterface in self.interfaces_master:
            for slave in masterinterface.slaves:
                slaveinterface = slave.get_interface()
                masterinterface.alloc_mem.add_slave_interface(slaveinterface)
                slaveinterface.master = masterinterface

        # set bsp directory
        if self.get_node(nodename="bsp") is not None:
            self.bspdir = self.get_node(
                nodename="bsp").get_attr_value("directory")
        self.void = 0
Ejemplo n.º 3
0
 def synthesis_toolchain(self, toolchainname):
     """ Set the synthesis toolchain """
     if toolchainname not in self.get_synthesis_toolchains():
         raise PodError("No toolchain named " + toolchainname + " in POD")
     self.synthesis = synthesis_factory(self, toolchainname)
     self.save()
Ejemplo n.º 4
0
 def synthesis_toolchain(self, toolchainname):
     """ Set the synthesis toolchain """
     if toolchainname not in self.get_synthesis_toolchains():
         raise PodError("No toolchain named " + toolchainname + " in POD")
     self.synthesis = synthesis_factory(self, toolchainname)
     self.save()