Example #1
0
    def generate_bitstream(self):
        """ generate the bitstream """
        commandname = self.synthesis_toolcommandname
        scriptpath = os.path.join(self.parent.projectpath + SYNTHESISPATH,
                                  self.tcl_scriptname)

        pwd = sy.pwd()
        sy.del_all(self.project.projectpath + OBJSPATH)
        sy.chdir(self.project.projectpath + SYNTHESISPATH)

        commandname += " -mode tcl"
        scriptname = "-source " + scriptpath + " -tclargs build"
        binpath = self.project.projectpath + OBJSPATH + "/" + \
            self.project.name + ".runs/impl_1/"

        for line in sy.launch_as_shell(commandname, scriptname):
            if SETTINGS.color() == 1:
                print(COLOR_SHELL + line + COLOR_END),
            else:
                print("SHELL>" + line),
        for ext_file in self.ext_files:
            try:
                sy.cp_file(
                    binpath + BINARY_PREFIX + self.project.name + ext_file,
                    self.project.projectpath + BINARYPROJECTPATH + "/")
            except IOError:
                raise PodError("Can't copy bitstream")
        sy.chdir(pwd)
Example #2
0
    def generate_bitstream(self):
        """ generate the bitstream """
        commandname = self.synthesis_toolcommandname
        scriptpath = os.path.join(self.parent.projectpath + SYNTHESISPATH,
                                  self.tcl_scriptname)

        pwd = sy.pwd()
        sy.del_all(self.project.projectpath + OBJSPATH)
        sy.chdir(self.project.projectpath + SYNTHESISPATH)

        commandname += " -mode tcl"
        scriptname = "-source " + scriptpath + " -tclargs build"
        binpath = self.project.projectpath + OBJSPATH + "/" + \
            self.project.name + ".runs/impl_1/"

        for line in sy.launch_as_shell(commandname, scriptname):
            if SETTINGS.color() == 1:
                print(COLOR_SHELL + line + COLOR_END),
            else:
                print("SHELL>" + line),
        for ext_file in self.ext_files:
            try:
                sy.cp_file(binpath + BINARY_PREFIX + self.project.name +
                           ext_file,
                           self.project.projectpath + BINARYPROJECTPATH + "/")
            except IOError:
                raise PodError("Can't copy bitstream")
        sy.chdir(pwd)
Example #3
0
    def generate_bitstream(self):
        """ generate the bitstream """
        commandname = self.synthesis_toolcommandname
        scriptpath = os.path.join(self.parent.projectpath + SYNTHESISPATH,
                                  self.tcl_scriptname)
        default_path = SETTINGS.get_synthesis_value("quartus", "default_path")
        if default_path is not None:
            rbf_commandname = os.path.join(default_path, self.RBF_CMD)
        else:
            rbf_commandname = self.RBF_CMD

        result_file = os.path.join(
            self.project.projectpath + BINARYPROJECTPATH,
            BINARY_PREFIX + self.project.name + ALTERA_BITSTREAM_SUFFIX)

        cnv_result_file = os.path.join(
            self.project.projectpath + BINARYPROJECTPATH,
            BINARY_PREFIX + self.project.name + ALTERA_BINARY_SUFFIX)

        pwd = sy.pwd()
        sy.del_all(self.project.projectpath + OBJSPATH)
        sy.chdir(self.project.projectpath + SYNTHESISPATH)
        commandname = commandname + " -t "

        list_qsys_comp = self.needqsys()
        if len(list_qsys_comp):
            qsys_path = self.get_synthesis_value("qsys_path")
            if qsys_path is not None:
                qsys_commandname = os.path.join(default_path, qsys_path,
                                                self.QSYS_SCRIPT)
            else:
                qsys_commandname = self.QSYS_SCRIPT

            for component in list_qsys_comp:
                self.launch_as_shell(
                    qsys_commandname, " --script=" + os.path.join(
                        self.project.projectpath + "/" + SYNTHESISPATH,
                        component.name + "_qsys.tcl"))

        self.launch_as_shell(commandname, scriptpath)

        try:
            output_format = self.project.platform.output_format
            commandarg = "-c " + result_file + " " + cnv_result_file
            if output_format == "cvp":
                self.launch_as_shell(rbf_commandname, "--cvp " + commandarg)
            elif output_format == "rbf":
                self.launch_as_shell(rbf_commandname, commandarg)
            elif output_format == "rbfComp":
                self.launch_as_shell(
                    rbf_commandname,
                    "--option=bitstream_compression=on " + commandarg)
        except IOError:
            raise PodError("Can't copy bitstream")
        sy.chdir(pwd)
Example #4
0
    def generate_bitstream(self):
        """ generate the bitstream """
        commandname = self.synthesis_toolcommandname
        scriptpath = os.path.join(self.parent.projectpath + SYNTHESISPATH, self.tcl_scriptname)
        default_path = SETTINGS.get_synthesis_value("quartus", "default_path")
        if default_path is not None:
            rbf_commandname = os.path.join(default_path, self.RBF_CMD)
        else:
            rbf_commandname = self.RBF_CMD

        result_file = os.path.join(
            self.project.projectpath + BINARYPROJECTPATH, BINARY_PREFIX + self.project.name + ALTERA_BITSTREAM_SUFFIX
        )

        cnv_result_file = os.path.join(
            self.project.projectpath + BINARYPROJECTPATH, BINARY_PREFIX + self.project.name + ALTERA_BINARY_SUFFIX
        )

        pwd = sy.pwd()
        sy.del_all(self.project.projectpath + OBJSPATH)
        sy.chdir(self.project.projectpath + SYNTHESISPATH)
        commandname = commandname + " -t "

        list_qsys_comp = self.needqsys()
        if len(list_qsys_comp):
            qsys_path = self.get_synthesis_value("qsys_path")
            if qsys_path is not None:
                qsys_commandname = os.path.join(default_path, qsys_path, self.QSYS_SCRIPT)
            else:
                qsys_commandname = self.QSYS_SCRIPT

            for component in list_qsys_comp:
                self.launch_as_shell(
                    qsys_commandname,
                    " --script="
                    + os.path.join(self.project.projectpath + "/" + SYNTHESISPATH, component.name + "_qsys.tcl"),
                )

        self.launch_as_shell(commandname, scriptpath)

        try:
            output_format = self.project.platform.output_format
            commandarg = "-c " + result_file + " " + cnv_result_file
            if output_format == "cvp":
                self.launch_as_shell(rbf_commandname, "--cvp " + commandarg)
            elif output_format == "rbf":
                self.launch_as_shell(rbf_commandname, commandarg)
            elif output_format == "rbfComp":
                self.launch_as_shell(rbf_commandname, "--option=bitstream_compression=on " + commandarg)
        except IOError:
            raise PodError("Can't copy bitstream")
        sy.chdir(pwd)