public DevicePart CreatePart(DevicePackage package) { DevicePart part = FindPart(package); if (part == null) { part = new DevicePart(this, package); Parts.Add(part); } return(part); }
public static void DisplayDevicePart(DevicePart part, bool forward, bool backward) { if (backward) { DisplayDevice(part.Parent, false, true); } Logger.Instance.WriteInfo(" + {0} ({1})", part.Name, part.Package.Name); if (forward) { foreach (DevicePartSpeed partSpeed in part.Speeds) { DisplayDevicePartSpeed(partSpeed, true, false); } } }
public virtual void Deserialize(XElement element) { if (string.Compare(element.Name.ToString(), "device") == 0) { XAttribute nameAttr = element.Attribute("name"); if (nameAttr != null) { Name = nameAttr.Value; } XElement parts = element.Element("parts"); foreach (XElement partElement in parts.Elements()) { DevicePart part = new DevicePart(this); part.Deserialize(partElement); Parts.Add(part); } } }
public DevicePartSpeed(DevicePart part, DeviceSpeed speed) { Part = part; Speed = speed; }
public DevicePartSpeed(DevicePart part) : this(part, null) { }
private static void ParseSpeedDetails(XilinxToolchain toolchain, DeviceFamily family, DevicePart part, string speedDetails) { if (!string.IsNullOrEmpty(speedDetails)) { string[] splitUpSpeeds = speedDetails.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries); foreach (string speed in splitUpSpeeds) { // Shouldn't start with "(" if (!speed.StartsWith("(")) { DeviceSpeed familySpeed = family.CreateSpeed(speed); DevicePartSpeed partSpeed = part.CreateSpeed(familySpeed); partSpeed.AddToolchain(toolchain); } } } }