/// <summary> /// Assigns the amount of a particular resource. /// </summary> /// <param name="res">resource to assign</param> /// <param name="amount">usage to assign</param> public void AssignResource(EDeviceResource res, int amount) { switch (res) { case EDeviceResource.SliceRegisters: SliceRegisters = amount; break; case EDeviceResource.SliceLUTs: SliceLUTs = amount; break; case EDeviceResource.OccupiedSlices: OccupiedSlices = amount; break; case EDeviceResource.RAMB18s: RAMB18s = amount; break; case EDeviceResource.RAMB36s: RAMB36s = amount; break; case EDeviceResource.DSP48E1s: DSP48E1s = amount; break; } }
/// <summary> /// Converts a resource name to its enumeration value. /// </summary> /// <param name="rname">resource name</param> /// <param name="res">out parameter to receive the resource type</param> /// <returns><c>true</c> if the resource type was found</returns> public static bool ResolveResourceType(string rname, out EDeviceResource res) { if (_rmap == null) { CreateRMap(); } return(_rmap.TryGetValue(rname, out res)); }
private static bool MatchLine(string line, out EDeviceResource res, out int count, out int total) { var match = LineRegex.Match(line); if (match.Success) { string rname = match.Result("${rname}"); if (DeviceResources.ResolveResourceType(rname, out res)) { count = int.Parse(match.Result("${count}"), NumberStyles.AllowThousands, CultureInfo.InvariantCulture); total = int.Parse(match.Result("${total}"), NumberStyles.AllowThousands, CultureInfo.InvariantCulture); return true; } } res = default(EDeviceResource); count = 0; total = 0; return false; }
private static bool MatchLine(string line, out EDeviceResource res, out int count, out int total) { var match = LineRegex.Match(line); if (match.Success) { string rname = match.Result("${rname}"); if (DeviceResources.ResolveResourceType(rname, out res)) { count = int.Parse(match.Result("${count}"), NumberStyles.AllowThousands, CultureInfo.InvariantCulture); total = int.Parse(match.Result("${total}"), NumberStyles.AllowThousands, CultureInfo.InvariantCulture); return(true); } } res = default(EDeviceResource); count = 0; total = 0; return(false); }