Exemplo n.º 1
0
 CyCustErr VerifySampleRate(ICyDRCProviderArgs_v1 drcQuery, string sRateErr)
 {
     if (sRateErr.Equals(Resource.TrueText))
     {
         return(new CyCustErr(Resource.VerifysRateErrMsg));
     }
     return(CyCustErr.OK);
 }
Exemplo n.º 2
0
        public IEnumerable <CyDRCInfo_v1> GetDRCs(ICyDRCProviderArgs_v1 args)
        {
            CyCustErr err = VerifyNumberOfDatabits(args.InstQueryV1);

            if (err.IsOk == false)
            {
                yield return(new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error, err.Message));
            }
        }
Exemplo n.º 3
0
        public IEnumerable<CyDRCInfo_v1> GetDRCs(ICyDRCProviderArgs_v1 args)
        {
            CyParameters parameters = new CyParameters(args.InstQueryV1);

            if (parameters.CompareAppType() == false)
            {
                yield return new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error,
                                              Properties.Resources.AppTypeCompareError);
            }
        }
        public IEnumerable <CyDRCInfo_v1> GetDRCs(ICyDRCProviderArgs_v1 args)
        {
            CyParameters parameters = new CyParameters(args.InstQueryV1);

            if (parameters.CompareAppType() == false)
            {
                yield return(new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error,
                                              Properties.Resources.AppTypeCompareError));
            }
        }
 CyCustErr VerifyConfigNames(ICyDRCProviderArgs_v1 drcQuery, string ADC_Config1_Name, string ADC_Config2_Name,
                             string ADC_Config3_Name, string ADC_Config4_Name)
 {
     if ((ADC_Config1_Name == ADC_Config2_Name) || (ADC_Config1_Name == ADC_Config3_Name) ||
         (ADC_Config1_Name == ADC_Config4_Name) || (ADC_Config2_Name == ADC_Config3_Name) ||
         (ADC_Config2_Name == ADC_Config4_Name) || (ADC_Config3_Name == ADC_Config4_Name))
     {
         return(new CyCustErr(VerifyConfigNamesErrMsg));
     }
     return(CyCustErr.OK);
 }
Exemplo n.º 6
0
 CyCustErr VerifynVrefSelection(ICyDRCProviderArgs_v1 drcQuery, string ADC_nVrefValue)
 {
     if (drcQuery.DeviceQueryV1.ArchFamilyMember == PSOC5A && drcQuery.DeviceQueryV1.IsPSoC5 == true)
     {
         if (ADC_nVrefValue.Equals(Resource.TrueText))
         {
             return(new CyCustErr(Resource.VerifynVrefSelectionErrorMsg));
         }
     }
     return(CyCustErr.OK);
 }
 CyCustErr VerifynVrefSelection(ICyDRCProviderArgs_v1 drcQuery, string ADC_nVrefValue)
 {
     if (((drcQuery.DeviceQueryV1.SiliconRevision < PSOC3_ES3 && drcQuery.DeviceQueryV1.IsPSoC3 == true) ||
          (drcQuery.DeviceQueryV1.SiliconRevision < PSOC5_ES2 && drcQuery.DeviceQueryV1.IsPSoC5 == true)))
     {
         if (ADC_nVrefValue.Equals("true"))
         {
             return(new CyCustErr(VerifynVrefSelectionErrorMsg));
         }
     }
     return(CyCustErr.OK);
 }
        CyCustErr VerifyReferenceSelection(ICyDRCProviderArgs_v1 drcQuery, ICyVoltageQuery_v1 voltage,
                                           string ADC_Reference, string ADC_Reference_Config2,
                                           string ADC_Reference_Config3, string ADC_Reference_Config4,
                                           string ADC_InputRange, string ADC_InputRange_Config2,
                                           string ADC_InputRange_Config3, string ADC_InputRange_Config4)
        {
            double vdda = Convert.ToDouble(voltage.VDDA);

            if (((drcQuery.DeviceQueryV1.SiliconRevision < PSOC3_ES3 && drcQuery.DeviceQueryV1.IsPSoC3 == true) ||
                 (drcQuery.DeviceQueryV1.SiliconRevision < PSOC5_ES2 && drcQuery.DeviceQueryV1.IsPSoC5 == true)))
            {
                bool isADCRerence_Vdda3 =
                    (((ADC_Reference.Equals(ADC_VDDA_3_REFERENCE) ||
                       ADC_Reference.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                       ADC_Reference.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                      (!ADC_InputRange.Equals(ADC_IR_VSSA_TO_VDDA))) ||
                     ((ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE) ||
                       ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                       ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                      (!ADC_InputRange_Config2.Equals(ADC_IR_VSSA_TO_VDDA))) ||
                     ((ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE) ||
                       ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                       ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                      (!ADC_InputRange_Config3.Equals(ADC_IR_VSSA_TO_VDDA))) ||
                     ((ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE) ||
                       ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                       ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                      (!ADC_InputRange_Config4.Equals(ADC_IR_VSSA_TO_VDDA))));

                if (isADCRerence_Vdda3)
                {
                    return(new CyCustErr(VerifySelectedReferenceErrorMsg));
                }

                if ((vdda < MAX_VDDA3_VALUE) &&
                    (ADC_InputRange.Equals(ADC_IR_VSSA_TO_VDDA) ||
                     ADC_InputRange_Config2.Equals(ADC_IR_VSSA_TO_VDDA) ||
                     ADC_InputRange_Config3.Equals(ADC_IR_VSSA_TO_VDDA) ||
                     ADC_InputRange_Config4.Equals(ADC_IR_VSSA_TO_VDDA)))
                {
                    return(new CyCustErr(VerifyVssaToVddaSelectedReference));
                }
            }
            return(CyCustErr.OK);
        }
Exemplo n.º 9
0
        CyCustErr VerifyBufferGain(ICyDRCProviderArgs_v1 drcQuery, string ADC_InputRange1, string ADC_InputRange2,
                                   string ADC_InputRange3, string ADC_InputRange4, string ADC_BufferGain1,
                                   string ADC_BufferGain2, string ADC_BufferGain3, string ADC_BufferGain4)
        {
            int bufferGain1 = Convert.ToInt32(ADC_BufferGain1);
            int bufferGain2 = Convert.ToInt32(ADC_BufferGain2);
            int bufferGain3 = Convert.ToInt32(ADC_BufferGain3);
            int bufferGain4 = Convert.ToInt32(ADC_BufferGain4);

            if (((ADC_InputRange1.Equals(ADC_IR_VSSA_TO_2VREF) || ADC_InputRange1.Equals(ADC_IR_VSSA_TO_VDDA)) &&
                 (bufferGain1 > ADC_BUFFER_GAIN)) ||
                ((ADC_InputRange2.Equals(ADC_IR_VSSA_TO_2VREF) || ADC_InputRange2.Equals(ADC_IR_VSSA_TO_VDDA)) &&
                 (bufferGain2 > ADC_BUFFER_GAIN)) ||
                ((ADC_InputRange3.Equals(ADC_IR_VSSA_TO_2VREF) || ADC_InputRange3.Equals(ADC_IR_VSSA_TO_VDDA)) &&
                 (bufferGain3 > ADC_BUFFER_GAIN)) ||
                ((ADC_InputRange4.Equals(ADC_IR_VSSA_TO_2VREF) || ADC_InputRange4.Equals(ADC_IR_VSSA_TO_VDDA)) &&
                 (bufferGain4 > ADC_BUFFER_GAIN)))
            {
                return(new CyCustErr(Resource.VerifyBufferGainErrMsg));
            }
            return(CyCustErr.OK);
        }
Exemplo n.º 10
0
        public IEnumerable <CyDRCInfo_v1> GetDRCs(ICyDRCProviderArgs_v1 args)
        {
            string ADC_nVrefValue        = args.InstQueryV1.GetCommittedParam(CyADC_DelSigParameters.ADC_nVref).Value;
            string ADC_Reference         = args.InstQueryV1.GetCommittedParam(CyADC_DelSigParameters.ADC_REFERENCE).Value;
            string ADC_Reference_Config2 = args.InstQueryV1.GetCommittedParam
                                               (CyADC_DelSigParameters.ADC_REFERENCE_CONFIG2).Value;
            string ADC_Reference_Config3 = args.InstQueryV1.GetCommittedParam
                                               (CyADC_DelSigParameters.ADC_REFERENCE_CONFIG3).Value;
            string ADC_Reference_Config4 = args.InstQueryV1.GetCommittedParam
                                               (CyADC_DelSigParameters.ADC_REFERENCE_CONFIG4).Value;
            string ADC_InputRange = args.InstQueryV1.GetCommittedParam
                                        (CyADC_DelSigParameters.INPUT_RANGE).Value;
            string ADC_InputRange_Config2 = args.InstQueryV1.GetCommittedParam
                                                (CyADC_DelSigParameters.INPUT_RANGE_CONFIG2).Value;
            string ADC_InputRange_Config3 = args.InstQueryV1.GetCommittedParam
                                                (CyADC_DelSigParameters.INPUT_RANGE_CONFIG3).Value;
            string ADC_InputRange_Config4 = args.InstQueryV1.GetCommittedParam
                                                (CyADC_DelSigParameters.INPUT_RANGE_CONFIG4).Value;
            string ADC_RefVoltage = args.InstQueryV1.GetCommittedParam
                                        (CyADC_DelSigParameters.REF_VOLTAGE).Value;
            string ADC_RefVoltage_Config2 = args.InstQueryV1.GetCommittedParam
                                                (CyADC_DelSigParameters.REF_VOLTAGE_CONFIG2).Value;
            string ADC_RefVoltage_Config3 = args.InstQueryV1.GetCommittedParam
                                                (CyADC_DelSigParameters.REF_VOLTAGE_CONFIG3).Value;
            string ADC_RefVoltage_Config4 = args.InstQueryV1.GetCommittedParam
                                                (CyADC_DelSigParameters.REF_VOLTAGE_CONFIG4).Value;

            string ADC_Config1_Name = args.InstQueryV1.GetCommittedParam
                                          (CyADC_DelSigParameters.CONFIG1_NAME).Value;
            string ADC_Config2_Name = args.InstQueryV1.GetCommittedParam
                                          (CyADC_DelSigParameters.CONFIG2_NAME).Value;
            string ADC_Config3_Name = args.InstQueryV1.GetCommittedParam
                                          (CyADC_DelSigParameters.CONFIG3_NAME).Value;
            string ADC_Config4_Name = args.InstQueryV1.GetCommittedParam
                                          (CyADC_DelSigParameters.CONFIG4_NAME).Value;

            CyCustErr err1 = VerifyReferenceSelection(args, args.InstQueryV1.VoltageQuery, ADC_Reference,
                                                      ADC_Reference_Config2, ADC_Reference_Config3,
                                                      ADC_Reference_Config4, ADC_InputRange, ADC_InputRange_Config2,
                                                      ADC_InputRange_Config3, ADC_InputRange_Config4);

            CyCustErr err = VerifyVrefValue(args, args.InstQueryV1.VoltageQuery, ADC_Reference, ADC_Reference_Config2,
                                            ADC_Reference_Config3, ADC_Reference_Config4, ADC_InputRange,
                                            ADC_InputRange_Config2, ADC_InputRange_Config3, ADC_InputRange_Config4,
                                            ADC_RefVoltage, ADC_RefVoltage_Config2, ADC_RefVoltage_Config3,
                                            ADC_RefVoltage_Config4);

            CyCustErr err2 = VerifynVrefSelection(args, ADC_nVrefValue);

            CyCustErr configErr = VerifyConfigNames(args, ADC_Config1_Name, ADC_Config2_Name, ADC_Config3_Name,
                                                    ADC_Config4_Name);

            if (err.IsOk == false)
            {
                yield return(new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error, err.Message));
            }

            if (err1.IsOk == false)
            {
                yield return(new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error, err1.Message));
            }

            if (err2.IsOk == false)
            {
                yield return(new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error, err2.Message));
            }

            if (configErr.IsOk == false)
            {
                yield return(new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error, configErr.Message));
            }
        }
Exemplo n.º 11
0
        CyCustErr VerifyVrefValue(ICyDRCProviderArgs_v1 drcQuery, ICyVoltageQuery_v1 voltage, string ADC_Reference,
                                  string ADC_Reference_Config2, string ADC_Reference_Config3,
                                  string ADC_Reference_Config4, string ADC_InputRange, string ADC_InputRange_Config2,
                                  string ADC_InputRange_Config3, string ADC_InputRange_Config4, string ADC_RefVoltage,
                                  string ADC_RefVoltage_Config2, string ADC_RefVoltage_Config3,
                                  string ADC_RefVoltage_Config4)
        {
            double vdda         = Convert.ToDouble(voltage.VDDA);
            double Vref         = Convert.ToDouble(ADC_RefVoltage);
            double Vref_Config2 = Convert.ToDouble(ADC_RefVoltage_Config2);
            double Vref_Config3 = Convert.ToDouble(ADC_RefVoltage_Config3);
            double Vref_Config4 = Convert.ToDouble(ADC_RefVoltage_Config4);

            bool isADCRerence_Vdda3 = (((ADC_Reference.Equals(ADC_VDDA_3_REFERENCE) ||
                                         ADC_Reference.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                                         ADC_Reference.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                                        (!(ADC_InputRange.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                       ((ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE) ||
                                         ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                                         ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                                        (!(ADC_InputRange_Config2.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                       ((ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE) ||
                                         ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                                         ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                                        (!(ADC_InputRange_Config3.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                       ((ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE) ||
                                         ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                                         ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                                        (!(ADC_InputRange_Config4.Equals(ADC_IR_VSSA_TO_VDDA)))));

            bool isADCReference_Vdda4 = (((ADC_Reference.Equals(ADC_VDDA_4_REFERENCE) ||
                                           ADC_Reference.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P03) ||
                                           ADC_Reference.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P32)) &&
                                          (!(ADC_InputRange.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                         ((ADC_Reference_Config2.Equals(ADC_VDDA_4_REFERENCE) ||
                                           ADC_Reference_Config2.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P03) ||
                                           ADC_Reference_Config2.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P32)) &&
                                          (!(ADC_InputRange_Config2.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                         ((ADC_Reference_Config3.Equals(ADC_VDDA_4_REFERENCE) ||
                                           ADC_Reference_Config3.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P03) ||
                                           ADC_Reference_Config3.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P32)) &&
                                          (!(ADC_InputRange_Config3.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                         ((ADC_Reference_Config4.Equals(ADC_VDDA_4_REFERENCE) ||
                                           ADC_Reference_Config4.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P03) ||
                                           ADC_Reference_Config4.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P32)) &&
                                          (!(ADC_InputRange_Config4.Equals(ADC_IR_VSSA_TO_VDDA)))));

            bool isADCInputRage_Vssa_to_Vdda = (ADC_InputRange.Equals(ADC_IR_VSSA_TO_VDDA) ||
                                                ADC_InputRange_Config2.Equals(ADC_IR_VSSA_TO_VDDA) ||
                                                ADC_InputRange_Config3.Equals(ADC_IR_VSSA_TO_VDDA) ||
                                                ADC_InputRange_Config4.Equals(ADC_IR_VSSA_TO_VDDA));

            bool isVrefforExterna_Ref = (((((VDDA3_LOWERLIMIT / 3) > Vref) || (Vref > (VDDA3_UPPERLIMIT / 3))) &&
                                          ((ADC_Reference.Equals(EXTERNAL_VREF_P03)) ||
                                           (ADC_Reference.Equals(EXTERNAL_VREF_P32)))) ||
                                         ((((VDDA3_LOWERLIMIT / 3) > Vref_Config2) ||
                                           (Vref_Config2 > (VDDA3_UPPERLIMIT / 3))) &&
                                          ((ADC_Reference_Config2.Equals(EXTERNAL_VREF_P03)) ||
                                           (ADC_Reference_Config2.Equals(EXTERNAL_VREF_P32)))) ||
                                         ((((VDDA3_LOWERLIMIT / 3) > Vref_Config3) ||
                                           (Vref_Config3 > (VDDA3_UPPERLIMIT / 3))) &&
                                          ((ADC_Reference_Config3.Equals(EXTERNAL_VREF_P03)) ||
                                           (ADC_Reference_Config3.Equals(EXTERNAL_VREF_P32)))) ||
                                         ((((VDDA3_LOWERLIMIT / 3) > Vref_Config4) ||
                                           (Vref_Config4 > (VDDA3_UPPERLIMIT / 3))) &&
                                          ((ADC_Reference_Config4.Equals(EXTERNAL_VREF_P03)) ||
                                           (ADC_Reference_Config4.Equals(EXTERNAL_VREF_P32)))));


            if ((isADCRerence_Vdda3 && ((VDDA3_LOWERLIMIT > vdda) || (vdda > VDDA3_UPPERLIMIT))) ||
                (isADCReference_Vdda4 && ((VDDA4_LOWERLIMIT > vdda) || (vdda > VDDA4_UPPERLIMIT))))
            {
                return(new CyCustErr(ReferenceVrefValueError));
            }
            if ((isADCInputRage_Vssa_to_Vdda && ((VDDA3_LOWERLIMIT > vdda) || (vdda > VDDA4_UPPERLIMIT))))
            {
                return(new CyCustErr(InputRangeVrefValueError));
            }
            if (isVrefforExterna_Ref)
            {
                return(new CyCustErr(ExtRefVrefValueError));
            }

            return(CyCustErr.OK);
        }
Exemplo n.º 12
0
 CyCustErr VerifyConfigNames(ICyDRCProviderArgs_v1 drcQuery, string ADC_Config1_Name, string ADC_Config2_Name,
                             string ADC_Config3_Name, string ADC_Config4_Name)
 {
     if ((ADC_Config1_Name == ADC_Config2_Name) || (ADC_Config1_Name == ADC_Config3_Name) ||
         (ADC_Config1_Name == ADC_Config4_Name) || (ADC_Config2_Name == ADC_Config3_Name) ||
         (ADC_Config2_Name == ADC_Config4_Name) || (ADC_Config3_Name == ADC_Config4_Name))
     {
         return new CyCustErr(Resource.VerifyConfigNamesErrMsg);
     }
     return CyCustErr.OK;
 }
Exemplo n.º 13
0
        public IEnumerable<CyDRCInfo_v1> GetDRCs(ICyDRCProviderArgs_v1 args)
        {
            string ADC_nVrefValue = args.InstQueryV1.GetCommittedParam(CyADC_DelSigParameters.ADC_nVref).Value;
            string ADC_Reference = args.InstQueryV1.GetCommittedParam(CyADC_DelSigParameters.ADC_REFERENCE).Value;
            string ADC_Reference_Config2 = args.InstQueryV1.GetCommittedParam
                                           (CyADC_DelSigParameters.ADC_REFERENCE_CONFIG2).Value;
            string ADC_Reference_Config3 = args.InstQueryV1.GetCommittedParam
                                           (CyADC_DelSigParameters.ADC_REFERENCE_CONFIG3).Value;
            string ADC_Reference_Config4 = args.InstQueryV1.GetCommittedParam
                                           (CyADC_DelSigParameters.ADC_REFERENCE_CONFIG4).Value;
            string ADC_InputRange = args.InstQueryV1.GetCommittedParam
                                           (CyADC_DelSigParameters.INPUT_RANGE).Value;
            string ADC_InputRange_Config2 = args.InstQueryV1.GetCommittedParam
                                           (CyADC_DelSigParameters.INPUT_RANGE_CONFIG2).Value;
            string ADC_InputRange_Config3 = args.InstQueryV1.GetCommittedParam
                                           (CyADC_DelSigParameters.INPUT_RANGE_CONFIG3).Value;
            string ADC_InputRange_Config4 = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.INPUT_RANGE_CONFIG4).Value;
            string ADC_RefVoltage = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.REF_VOLTAGE).Value;
            string ADC_RefVoltage_Config2 = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.REF_VOLTAGE_CONFIG2).Value;
            string ADC_RefVoltage_Config3 = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.REF_VOLTAGE_CONFIG3).Value;
            string ADC_RefVoltage_Config4 = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.REF_VOLTAGE_CONFIG4).Value;

            string ADC_Config1_Name = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.CONFIG1_NAME).Value;
            string ADC_Config2_Name = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.CONFIG2_NAME).Value;
            string ADC_Config3_Name = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.CONFIG3_NAME).Value;
            string ADC_Config4_Name = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.CONFIG4_NAME).Value;
            string sRate_Err = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.SRATE_ERR).Value;
            string ADC_Buffer_Gain1 = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.INPUT_BUFFER_GAIN).Value;
            string ADC_Buffer_Gain2 = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.INPUT_BUFFER_GAIN_CONFIG2).Value;
            string ADC_Buffer_Gain3 = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.INPUT_BUFFER_GAIN_CONFIG3).Value;
            string ADC_Buffer_Gain4 = args.InstQueryV1.GetCommittedParam
                                            (CyADC_DelSigParameters.INPUT_BUFFER_GAIN_CONFIG4).Value;

            CyCustErr err1 = VerifyReferenceSelection(args, args.InstQueryV1.VoltageQuery, ADC_Reference,
                                                      ADC_Reference_Config2, ADC_Reference_Config3,
                                                      ADC_Reference_Config4, ADC_InputRange, ADC_InputRange_Config2,
                                                      ADC_InputRange_Config3, ADC_InputRange_Config4);

            CyCustErr err = VerifyVrefValue(args, args.InstQueryV1.VoltageQuery, ADC_Reference, ADC_Reference_Config2,
                                            ADC_Reference_Config3, ADC_Reference_Config4, ADC_InputRange,
                                             ADC_InputRange_Config2, ADC_InputRange_Config3, ADC_InputRange_Config4,
                                             ADC_RefVoltage, ADC_RefVoltage_Config2, ADC_RefVoltage_Config3,
                                             ADC_RefVoltage_Config4);

            CyCustErr err2 = VerifynVrefSelection(args, ADC_nVrefValue);

            CyCustErr configErr = VerifyConfigNames(args, ADC_Config1_Name, ADC_Config2_Name, ADC_Config3_Name,
                                                    ADC_Config4_Name);
            CyCustErr sRateErr = VerifySampleRate(args, sRate_Err);
            CyCustErr bufferGainErr = VerifyBufferGain(args, ADC_InputRange, ADC_InputRange_Config2,
                                                       ADC_InputRange_Config3, ADC_InputRange_Config4,
                                                       ADC_Buffer_Gain1, ADC_Buffer_Gain2,
                                                       ADC_Buffer_Gain3, ADC_Buffer_Gain4);

            if (err.IsOk == false)
                yield return new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error, err.Message);

            if (err1.IsOk == false)
                yield return new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error, err1.Message);

            if (err2.IsOk == false)
                yield return new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error, err2.Message);

            if (configErr.IsOk == false)
                yield return new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error, configErr.Message);

            if (sRateErr.IsOk == false)
                yield return new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Error, sRateErr.Message);

            if (bufferGainErr.IsOk == false)
                yield return new CyDRCInfo_v1(CyDRCInfo_v1.CyDRCType_v1.Warning, bufferGainErr.Message);
        }
Exemplo n.º 14
0
        CyCustErr VerifyVrefValue(ICyDRCProviderArgs_v1 drcQuery, ICyVoltageQuery_v1 voltage, string ADC_Reference, 
                                  string ADC_Reference_Config2, string ADC_Reference_Config3, 
                                  string ADC_Reference_Config4, string ADC_InputRange, string ADC_InputRange_Config2,
                                  string ADC_InputRange_Config3, string ADC_InputRange_Config4, string ADC_RefVoltage, 
                                  string ADC_RefVoltage_Config2, string ADC_RefVoltage_Config3, 
                                  string ADC_RefVoltage_Config4)
        {
            double vdda = Convert.ToDouble(voltage.VDDA);
            double Vref = Convert.ToDouble (ADC_RefVoltage);
            double Vref_Config2 = Convert.ToDouble (ADC_RefVoltage_Config2);
            double Vref_Config3 = Convert.ToDouble (ADC_RefVoltage_Config3);
            double Vref_Config4 = Convert.ToDouble (ADC_RefVoltage_Config4);

            bool isADCRerence_Vdda3 = (((ADC_Reference.Equals(ADC_VDDA_3_REFERENCE) ||
                                         ADC_Reference.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                                         ADC_Reference.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                                        (!(ADC_InputRange.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                        ((ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE) ||
                                          ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                                          ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                                        (!(ADC_InputRange_Config2.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                        ((ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE) ||
                                          ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                                          ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                                        (!(ADC_InputRange_Config3.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                        ((ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE) ||
                                          ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                                          ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                                        (!(ADC_InputRange_Config4.Equals(ADC_IR_VSSA_TO_VDDA)))));

            bool isADCReference_Vdda4 = (((ADC_Reference.Equals(ADC_VDDA_4_REFERENCE) ||
                                           ADC_Reference.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P03) ||
                                           ADC_Reference.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P32)) &&
                                          (!(ADC_InputRange.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                         ((ADC_Reference_Config2.Equals(ADC_VDDA_4_REFERENCE) ||
                                           ADC_Reference_Config2.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P03) ||
                                           ADC_Reference_Config2.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P32))&&
                                          (!(ADC_InputRange_Config2.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                         ((ADC_Reference_Config3.Equals(ADC_VDDA_4_REFERENCE) ||
                                           ADC_Reference_Config3.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P03) ||
                                           ADC_Reference_Config3.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P32)) &&
                                          (!(ADC_InputRange_Config3.Equals(ADC_IR_VSSA_TO_VDDA)))) ||
                                         ((ADC_Reference_Config4.Equals(ADC_VDDA_4_REFERENCE) ||
                                           ADC_Reference_Config4.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P03) ||
                                           ADC_Reference_Config4.Equals(ADC_VDDA_4_REFERENCE_BYPASSED_P32)) &&
                                          (!(ADC_InputRange_Config4.Equals(ADC_IR_VSSA_TO_VDDA)))));

            bool isADCInputRage_Vssa_to_Vdda = (ADC_InputRange.Equals(ADC_IR_VSSA_TO_VDDA) ||
                                                ADC_InputRange_Config2.Equals(ADC_IR_VSSA_TO_VDDA) ||
                                                ADC_InputRange_Config3.Equals(ADC_IR_VSSA_TO_VDDA) ||
                                                ADC_InputRange_Config4.Equals(ADC_IR_VSSA_TO_VDDA));

            bool isVrefforExterna_Ref = (((((VDDA3_LOWERLIMIT / 3) > Vref) || (Vref > (VDDA3_UPPERLIMIT / 3))) &&
                                         ((ADC_Reference.Equals(EXTERNAL_VREF_P03)) ||
                                          (ADC_Reference.Equals(EXTERNAL_VREF_P32)))) ||
                                         ((((VDDA3_LOWERLIMIT / 3) > Vref_Config2) ||
                                            (Vref_Config2 > (VDDA3_UPPERLIMIT / 3))) &&
                                         ((ADC_Reference_Config2.Equals(EXTERNAL_VREF_P03)) ||
                                          (ADC_Reference_Config2.Equals(EXTERNAL_VREF_P32)))) ||
                                         ((((VDDA3_LOWERLIMIT / 3) > Vref_Config3) ||
                                            (Vref_Config3 > (VDDA3_UPPERLIMIT / 3))) &&
                                         ((ADC_Reference_Config3.Equals(EXTERNAL_VREF_P03)) ||
                                          (ADC_Reference_Config3.Equals(EXTERNAL_VREF_P32)))) ||
                                         ((((VDDA3_LOWERLIMIT / 3) > Vref_Config4) ||
                                            (Vref_Config4 > (VDDA3_UPPERLIMIT / 3))) &&
                                         ((ADC_Reference_Config4.Equals(EXTERNAL_VREF_P03)) ||
                                          (ADC_Reference_Config4.Equals(EXTERNAL_VREF_P32)))));

            if ((isADCRerence_Vdda3 && ((VDDA3_LOWERLIMIT > vdda) || (vdda > VDDA3_UPPERLIMIT))) ||
                (isADCReference_Vdda4 && ((VDDA4_LOWERLIMIT > vdda) || (vdda > VDDA4_UPPERLIMIT))))
            {
                return new CyCustErr(Resource.ReferenceVrefValueError);
            }
            if ((isADCInputRage_Vssa_to_Vdda && ((VDDA3_LOWERLIMIT > vdda) || (vdda > VDDA4_UPPERLIMIT))))
            {
                return new CyCustErr(Resource.InputRangeVrefValueError);
            }
            if (isVrefforExterna_Ref)
            {
                return new CyCustErr(Resource.ExtRefVrefValueError);
            }

            return CyCustErr.OK;
        }
Exemplo n.º 15
0
 CyCustErr VerifySampleRate(ICyDRCProviderArgs_v1 drcQuery, string sRateErr)
 {
     if (sRateErr.Equals(Resource.TrueText))
     {
         return new CyCustErr(Resource.VerifysRateErrMsg);
     }
     return CyCustErr.OK;
 }
Exemplo n.º 16
0
        CyCustErr VerifyReferenceSelection(ICyDRCProviderArgs_v1 drcQuery, ICyVoltageQuery_v1 voltage, 
                                           string ADC_Reference, string ADC_Reference_Config2, 
                                           string ADC_Reference_Config3, string ADC_Reference_Config4, 
                                           string ADC_InputRange, string ADC_InputRange_Config2, 
                                           string ADC_InputRange_Config3, string ADC_InputRange_Config4)
        {
            double vdda = Convert.ToDouble(voltage.VDDA);
            if (drcQuery.DeviceQueryV1.ArchFamilyMember == PSOC5A && drcQuery.DeviceQueryV1.IsPSoC5 == true)
            {
                bool isADCRerence_Vdda3 =
                    (((ADC_Reference.Equals(ADC_VDDA_3_REFERENCE) ||
                       ADC_Reference.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                       ADC_Reference.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                       (!ADC_InputRange.Equals(ADC_IR_VSSA_TO_VDDA))) ||
                     ((ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE) ||
                       ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                       ADC_Reference_Config2.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                      (!ADC_InputRange_Config2.Equals(ADC_IR_VSSA_TO_VDDA))) ||
                     ((ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE) ||
                       ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                       ADC_Reference_Config3.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                      (!ADC_InputRange_Config3.Equals(ADC_IR_VSSA_TO_VDDA))) ||
                     ((ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE) ||
                       ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P03) ||
                       ADC_Reference_Config4.Equals(ADC_VDDA_3_REFERENCE_BYPASSED_P32)) &&
                      (!ADC_InputRange_Config4.Equals(ADC_IR_VSSA_TO_VDDA))));

                if (isADCRerence_Vdda3)
                {
                    return new CyCustErr(Resource.VerifySelectedReferenceErrorMsg);
                }

                if ((vdda < MAX_VDDA3_VALUE) &&
                    (ADC_InputRange.Equals(ADC_IR_VSSA_TO_VDDA) ||
                     ADC_InputRange_Config2.Equals(ADC_IR_VSSA_TO_VDDA) ||
                     ADC_InputRange_Config3.Equals(ADC_IR_VSSA_TO_VDDA) ||
                     ADC_InputRange_Config4.Equals(ADC_IR_VSSA_TO_VDDA)))
                {
                    return new CyCustErr(Resource.VerifyVssaToVddaSelectedReference);
                }
            }
            return CyCustErr.OK;
        }
Exemplo n.º 17
0
        CyCustErr VerifynVrefSelection(ICyDRCProviderArgs_v1 drcQuery, string ADC_nVrefValue)
        {
            if (drcQuery.DeviceQueryV1.ArchFamilyMember == PSOC5A && drcQuery.DeviceQueryV1.IsPSoC5 == true)
            {

                if (ADC_nVrefValue.Equals(Resource.TrueText))
                {
                    return new CyCustErr(Resource.VerifynVrefSelectionErrorMsg);
                }
            }
            return CyCustErr.OK;
        }
Exemplo n.º 18
0
        CyCustErr VerifynVrefSelection(ICyDRCProviderArgs_v1 drcQuery, string ADC_nVrefValue)
        {
            if (((drcQuery.DeviceQueryV1.SiliconRevision < PSOC3_ES3 && drcQuery.DeviceQueryV1.IsPSoC3 == true) ||
               (drcQuery.DeviceQueryV1.SiliconRevision < PSOC5_ES2 && drcQuery.DeviceQueryV1.IsPSoC5 == true)))
            {

                if (ADC_nVrefValue.Equals("true"))
                {
                    return new CyCustErr(VerifynVrefSelectionErrorMsg);
                }
            }
            return CyCustErr.OK;
        }
Exemplo n.º 19
0
        CyCustErr VerifyBufferGain(ICyDRCProviderArgs_v1 drcQuery, string ADC_InputRange1, string ADC_InputRange2,
                                   string ADC_InputRange3, string ADC_InputRange4, string ADC_BufferGain1, 
                                   string ADC_BufferGain2, string ADC_BufferGain3, string ADC_BufferGain4)
        {
            int bufferGain1 = Convert.ToInt32(ADC_BufferGain1);
            int bufferGain2 = Convert.ToInt32(ADC_BufferGain2);
            int bufferGain3 = Convert.ToInt32(ADC_BufferGain3);
            int bufferGain4 = Convert.ToInt32(ADC_BufferGain4);

            if (((ADC_InputRange1.Equals(ADC_IR_VSSA_TO_2VREF) || ADC_InputRange1.Equals(ADC_IR_VSSA_TO_VDDA)) &&
                (bufferGain1 > ADC_BUFFER_GAIN)) ||
                ((ADC_InputRange2.Equals(ADC_IR_VSSA_TO_2VREF) || ADC_InputRange2.Equals(ADC_IR_VSSA_TO_VDDA)) &&
                (bufferGain2 > ADC_BUFFER_GAIN)) ||
                ((ADC_InputRange3.Equals(ADC_IR_VSSA_TO_2VREF) || ADC_InputRange3.Equals(ADC_IR_VSSA_TO_VDDA)) &&
                (bufferGain3 > ADC_BUFFER_GAIN)) ||
                ((ADC_InputRange4.Equals(ADC_IR_VSSA_TO_2VREF) || ADC_InputRange4.Equals(ADC_IR_VSSA_TO_VDDA)) &&
                (bufferGain4 > ADC_BUFFER_GAIN)))
            {
                return new CyCustErr(Resource.VerifyBufferGainErrMsg);
            }
            return CyCustErr.OK;
        }