private static SortedList <UInt64, TimeStampInfo> FormBitGeneratedData(BaseGenerator generator, UInt64 StartTime, UInt64 EndTime, ModellingType modellingType) { SortedList <UInt64, TimeStampInfo> res = new SortedList <UInt64, TimeStampInfo>(); if (generator is IGeneratorDataFill <bool> ) { SortedList <UInt64, bool> valuesForInsert = (generator as IGeneratorDataFill <bool>).InsertValues(StartTime, EndTime); foreach (var el in valuesForInsert) { TimeStampInfo inf = new TimeStampInfo(new BIT_VALUE(el.Value ? VHDL.builtin.Standard.BIT_1 : VHDL.builtin.Standard.BIT_0)); res.Add(el.Key, inf); } return(res); } if (generator is IGeneratorDataFill <object> ) { SortedList <UInt64, object> valuesForInsert = (generator as IGeneratorDataFill <object>).InsertValues(StartTime, EndTime); foreach (var el in valuesForInsert) { if (el.Value is string) { TimeStampInfo inf = new TimeStampInfo(new BIT_VALUE((el.Value as string == "1") ? VHDL.builtin.Standard.BIT_1 : VHDL.builtin.Standard.BIT_0)); res.Add(el.Key, inf); } if (el.Value is EnumerationLiteral) { TimeStampInfo inf = new TimeStampInfo(new BIT_VALUE(el.Value as EnumerationLiteral)); res.Add(el.Key, inf); } } return(res); } return(res); }
public static SortedList <UInt64, TimeStampInfo> FormGeneratedData(BaseGenerator generator, UInt64 StartTime, UInt64 EndTime, ModellingType modellingType) { SortedList <UInt64, TimeStampInfo> res = new SortedList <UInt64, TimeStampInfo>(); if (modellingType.Type is IntegerType) { return(FormIntegerGeneratedData(generator, StartTime, EndTime, modellingType)); } if (modellingType.Type is RealType) { return(FormRealGeneratedData(generator, StartTime, EndTime, modellingType)); } if ((modellingType.Type == VHDL.builtin.StdLogic1164.STD_ULOGIC) && (modellingType.Constraints.Count != 0)) { return(FormSTD_LOGICGeneratedData(generator, StartTime, EndTime, modellingType)); } if (modellingType.Type == VHDL.builtin.StdLogic1164.STD_ULOGIC) { return(FormSTD_ULOGICGeneratedData(generator, StartTime, EndTime, modellingType)); } if (modellingType.Type == VHDL.builtin.Standard.BIT) { return(FormBitGeneratedData(generator, StartTime, EndTime, modellingType)); } if (modellingType.Type is EnumerationType) { return(FormEnumerationGeneratedData(generator, StartTime, EndTime, modellingType)); } if (modellingType.Type == VHDL.builtin.StdLogic1164.STD_LOGIC_VECTOR) { return(FormSTD_LOGIC_VECTORGeneratedData(generator, StartTime, EndTime, modellingType)); } if (modellingType.Type == VHDL.builtin.StdLogic1164.STD_ULOGIC_VECTOR) { return(FormSTD_ULOGIC_VECTORGeneratedData(generator, StartTime, EndTime, modellingType)); } if (modellingType.Type == VHDL.builtin.Standard.BIT_VECTOR) { return(FormBIT_VECTORGeneratedData(generator, StartTime, EndTime, modellingType)); } return(res); }
private static SortedList <UInt64, TimeStampInfo> FormRealGeneratedData(BaseGenerator generator, UInt64 StartTime, UInt64 EndTime, ModellingType modellingType) { SortedList <UInt64, TimeStampInfo> res = new SortedList <UInt64, TimeStampInfo>(); if (generator is IGeneratorDataFill <Int64> ) { SortedList <UInt64, Int64> valuesForInsert = (generator as IGeneratorDataFill <Int64>).InsertValues(StartTime, EndTime); foreach (var el in valuesForInsert) { TimeStampInfo inf = new TimeStampInfo(new RealValue(VHDL.builtin.Standard.REAL, Convert.ToDouble(el.Value))); res.Add(el.Key, inf); } return(res); } if (generator is IGeneratorDataFill <bool[]> ) { SortedList <UInt64, bool[]> valuesForInsert = (generator as IGeneratorDataFill <bool[]>).InsertValues(StartTime, EndTime); foreach (var el in valuesForInsert) { TimeStampInfo inf = new TimeStampInfo(new RealValue(VHDL.builtin.Standard.REAL, DataContainer.ValueDump.DataConvertorUtils.ToInt(el.Value))); res.Add(el.Key, inf); } return(res); } if (generator is IGeneratorDataFill <Double> ) { SortedList <UInt64, Double> valuesForInsert = (generator as IGeneratorDataFill <Double>).InsertValues(StartTime, EndTime); foreach (var el in valuesForInsert) { TimeStampInfo inf = new TimeStampInfo(new RealValue(VHDL.builtin.Standard.REAL, Convert.ToDouble(el.Value))); res.Add(el.Key, inf); } return(res); } return(res); }
private static SortedList <UInt64, TimeStampInfo> FormBIT_VECTORGeneratedData(BaseGenerator generator, UInt64 StartTime, UInt64 EndTime, ModellingType modellingType) { SortedList <UInt64, TimeStampInfo> res = new SortedList <UInt64, TimeStampInfo>(); int size = modellingType.SizeOf; if (generator is IGeneratorDataFill <Int64> ) { SortedList <UInt64, Int64> valuesForInsert = (generator as IGeneratorDataFill <Int64>).InsertValues(StartTime, EndTime); foreach (var el in valuesForInsert) { TimeStampInfo inf = new TimeStampInfo(BIT_VECTOR_VALUE.CreateBIT_VECTOR_VALUE(el.Value, size)); res.Add(el.Key, inf); } return(res); } if (generator is IGeneratorDataFill <bool[]> ) { SortedList <UInt64, bool[]> valuesForInsert = (generator as IGeneratorDataFill <bool[]>).InsertValues(StartTime, EndTime); foreach (var el in valuesForInsert) { TimeStampInfo inf = new TimeStampInfo(BIT_VECTOR_VALUE.CreateBIT_VECTOR_VALUE(el.Value)); res.Add(el.Key, inf); } return(res); } if (generator is IGeneratorDataFill <Double> ) { SortedList <UInt64, Double> valuesForInsert = (generator as IGeneratorDataFill <Double>).InsertValues(StartTime, EndTime); foreach (var el in valuesForInsert) { TimeStampInfo inf = new TimeStampInfo(BIT_VECTOR_VALUE.CreateBIT_VECTOR_VALUE((Int64)el.Value, size)); res.Add(el.Key, inf); } return(res); } return(res); }
private static SortedList <UInt64, TimeStampInfo> FormEnumerationGeneratedData(BaseGenerator generator, UInt64 StartTime, UInt64 EndTime, ModellingType modellingType) { SortedList <UInt64, TimeStampInfo> res = new SortedList <UInt64, TimeStampInfo>(); if (generator is IGeneratorDataFill <object> ) { SortedList <UInt64, object> valuesForInsert = (generator as IGeneratorDataFill <object>).InsertValues(StartTime, EndTime); foreach (var el in valuesForInsert) { TimeStampInfo inf = new TimeStampInfo(new EnumerationValue(modellingType.Type as VHDL.type.EnumerationType, el.Value as EnumerationLiteral)); res.Add(el.Key, inf); } return(res); } return(res); }