public void AddCreatePinCommand(XDLMacroPort xdlPort) { //# net "bus_enable_read<0>" , //# inpin "SLICE_X144Y103" F1 , //# ; //unselect -all //select pin SLICE_X144Y103.F1 //delete //select net bus_enable_read<0> //delete //select pin SLICE_X144Y103.F1 //add extpin //post attr pin SLICE_X144Y103.F1 //setattr pin SLICE_X144Y103.F1 external_name bus_enable_read<0> string pin = xdlPort.Slice.SliceName + "." + xdlPort.Port.ToString(); pin = Regex.Replace(pin, "L_", ""); pin = Regex.Replace(pin, "M_", ""); //m_addPinCmds.AppendLine("#command for " + pin); m_addPinCmds.AppendLine("unselect -all"); m_addPinCmds.AppendLine("select pin '" + pin + "'"); m_addPinCmds.AppendLine("add extpin"); m_addPinCmds.AppendLine("post attr pin " + pin); m_addPinCmds.AppendLine("setattr pin " + pin + " external_name " + xdlPort.PortName); m_addPinCmds.AppendLine("unpost pin \"" + pin + "\""); m_addPinCmds.AppendLine(""); m_deleteCmds.AppendLine("unselect -all"); m_deleteCmds.AppendLine("select net " + XDLFile.GetDummyNetName(xdlPort) + "\""); m_deleteCmds.AppendLine("delete"); }
protected override void DoCommandAction() { FPGATypes.AssertBackendType(FPGATypes.BackendType.ISE); Slice where = FPGA.FPGA.Instance.Current.Slices[SliceNumber]; XDLMacroPort addedPort = new XDLMacroPort(PortName, new Port(PortString), where); XDLContainer netlistContainer = (XDLContainer)GetNetlistContainer(); netlistContainer.Add(addedPort); }