protected override void DoCommandAction()
        {
            FPGATypes.AssertBackendType(FPGATypes.BackendType.ISE);

            if (TileSelectionManager.Instance.NumberOfSelectedTiles == 0)
            {
                OutputManager.WriteOutput("Warning: No tiles selected");
            }

            // read file
            DesignParser parser = DesignParser.CreateDesignParser(XDLInFile);
            // into design
            NetlistContainer inContainer = new XDLContainer();

            parser.ParseDesign(inContainer, this);

            // store selected parts in outDesign
            XDLContainer outContainer = (XDLContainer)inContainer.GetSelectedDesignElements();

            // write design to file
            StreamWriter sw = new StreamWriter(XDLOutFile, false);

            outContainer.WriteCodeToFile(sw);
            sw.Close();

            if (!string.IsNullOrEmpty(BinaryNetlist))
            {
                SaveXDLLibraryElementAsBinaryLibraryElement saveCmd = new SaveXDLLibraryElementAsBinaryLibraryElement();
                saveCmd.FileName    = BinaryNetlist;
                saveCmd.XDLFileName = XDLOutFile;
                CommandExecuter.Instance.Execute(saveCmd);
            }
        }
Ejemplo n.º 2
0
        protected override void DoCommandAction()
        {
            FPGA.FPGATypes.AssertBackendType(FPGA.FPGATypes.BackendType.ISE, FPGA.FPGATypes.BackendType.Vivado);

            if (FPGA.TileSelectionManager.Instance.NumberOfSelectedTiles == 0)
            {
                OutputManager.WriteOutput("Warning: No tiles selected");
            }

            NetlistContainer netlistContainer = (NetlistContainer)GetNetlistContainer();

            // store selected parts in outDesign
            NetlistContainer outContainer = netlistContainer.GetSelectedDesignElements();

            // write design to file
            StreamWriter sw = new StreamWriter(OutFile, false);

            outContainer.WriteCodeToFile(sw);
            sw.Close();

            if (FPGA.FPGA.Instance.BackendType == FPGA.FPGATypes.BackendType.ISE)
            {
                if (!string.IsNullOrEmpty(BinaryNetlist))
                {
                    SaveXDLLibraryElementAsBinaryLibraryElement saveCmd = new SaveXDLLibraryElementAsBinaryLibraryElement();
                    saveCmd.FileName    = BinaryNetlist;
                    saveCmd.XDLFileName = OutFile;
                    CommandExecuter.Instance.Execute(saveCmd);
                }
            }
            else if (FPGA.FPGA.Instance.BackendType == FPGA.FPGATypes.BackendType.Vivado)
            {
                if (!string.IsNullOrEmpty(BinaryNetlist))
                {
                    // TODO
                    //SaveXDLLibraryElementAsBinaryLibraryElement fuer SetResourceShapeInfo dann weiter relokieren
                }
            }
        }