public static PerformanceRecord QueryIPCorePerformance(Component core, EDevice device, ESpeedGrade speedGrade, EISEVersion iseVersion)
        {
            string className = GetClassName(core);
            var    coreData  = LoadIPCoreData(className);

            if (coreData == null)
            {
                return(null);
            }
            var paramSet = ExtractPerformanceParameters(core);
            var coreVar  = LookupVariant(coreData,
                                         device.ToString(),
                                         speedGrade.ToString(),
                                         iseVersion.ToString(),
                                         paramSet);

            if (coreVar == null)
            {
                return(null);
            }
            var result = new PerformanceRecord()
            {
                Device     = device,
                SpeedGrade = speedGrade,
                ISEVersion = iseVersion,
                MinPeriod  = new Time(coreVar.minPeriod, ETimeUnit.ns)
            };

            foreach (var resrec in coreVar.consumedResources)
            {
                EDeviceResource res;
                if (DeviceResources.ResolveResourceType(resrec.name, out res))
                {
                    result.AssignResource(res, resrec.amount);
                }
            }
            return(result);
        }
 public static PerformanceRecord QueryIPCorePerformance(Component core, EDevice device, ESpeedGrade speedGrade, EISEVersion iseVersion)
 {
     string className = GetClassName(core);
     var coreData = LoadIPCoreData(className);
     if (coreData == null)
         return null;
     var paramSet = ExtractPerformanceParameters(core);
     var coreVar = LookupVariant(coreData,
         device.ToString(),
         speedGrade.ToString(),
         iseVersion.ToString(), 
         paramSet);
     if (coreVar == null)
         return null;
     var result = new PerformanceRecord()
     {
         Device = device,
         SpeedGrade = speedGrade,
         ISEVersion = iseVersion,
         MinPeriod = new Time(coreVar.minPeriod, ETimeUnit.ns)
     };
     foreach (var resrec in coreVar.consumedResources)
     {
         EDeviceResource res;
         if (DeviceResources.ResolveResourceType(resrec.name, out res))
         {
             result.AssignResource(res, resrec.amount);
         }
     }
     return result;
 }
Beispiel #3
0
 /// <summary>
 /// Combines device, speed grade and package to a part name.
 /// </summary>
 public static string MakePartName(EDevice device, ESpeedGrade grade, EPackage package)
 {
     return(device.ToString() +
            PropEnum.ToString(grade, EPropAssoc.ISE) + "-" +
            package.ToString());
 }
 /// <summary>
 /// Combines device, speed grade and package to a part name.
 /// </summary>
 public static string MakePartName(EDevice device, ESpeedGrade grade, EPackage package)
 {
     return device.ToString() +
         PropEnum.ToString(grade, EPropAssoc.ISE) + "-" +
         package.ToString();
 }