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); } }
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 } } }