PyGFETdb package¶
Subpackages¶
Submodules¶
PyGFETdb.AnalyzeData module¶
@author: Anton Guimerà @version: 0.1b
Revsion history
- 0.1b – First version
TODO implement graph for selected channels
-
PyGFETdb.AnalyzeData.
CalcDCparams
(DevDC)¶
-
PyGFETdb.AnalyzeData.
CalcGM
(DevDC, DevAC=None, Order=10)¶
-
PyGFETdb.AnalyzeData.
CalcGMCh
(DCdat, ACdat=None, Order=10)¶
-
PyGFETdb.AnalyzeData.
CalcNoiseIrms
(Dev, Fmin=None, Fmax=None, IsOkFilt=True)¶
-
PyGFETdb.AnalyzeData.
CalcNoiseIrmsCh
(ChDat, Fmin=None, Fmax=None, IsOkFilt=True)¶
-
PyGFETdb.AnalyzeData.
CheckIsOK
(DevDC, DevAC=None, RdsRange=[400, 10000.0])¶
-
PyGFETdb.AnalyzeData.
FitACNoise
(Dev, Fmin=None, Fmax=None, IsOkFilt=True)¶
-
PyGFETdb.AnalyzeData.
InterpolatePSD
(DevACVals, Points=100)¶
PyGFETdb.DBAnalyze module¶
Created on Tue Jun 27 15:08:05 2017
@author: aguimera
-
PyGFETdb.DBAnalyze.
CalcTLM
(Groups, Vds=None, Ax=None, Color=None, DebugPlot=False, Label=None)¶
-
PyGFETdb.DBAnalyze.
CalcTLM2
(Groups, Vds=None, Ax=None, Color=None, DebugPlot=False, Label=None, Lerror=4e-07, TrackResistance=None)¶
-
PyGFETdb.DBAnalyze.
CreateCycleColors
(Vals)¶
-
PyGFETdb.DBAnalyze.
GetParam
(Data, Param, Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
PyGFETdb.DBAnalyze.
PlotGroupBy
(GroupBase, GroupBy, **kwargs)¶
-
PyGFETdb.DBAnalyze.
PlotGroupBySearchAndGetParam
(GroupBase, GroupBy, **kwargs)¶
-
PyGFETdb.DBAnalyze.
PlotMeanStd
(Data, Xvar, Yvar, Vgs=None, Vds=None, Ax=None, Ud0Norm=True, Color='r', PlotOverlap=False, PlotOverlapMean=False, PlotStd=True, label=None, ScaleFactor=1, **kwargs)¶
-
PyGFETdb.DBAnalyze.
PlotXYVars
(Data, Xvar, Yvar, Vgs, Vds, Ud0Norm=True, label=None, Ax=None, Color=None, **kwargs)¶
-
PyGFETdb.DBAnalyze.
SearchAndGetParam
(Groups, Plot=True, Boxplot=False, ParamUnits=None, **kwargs)¶
-
PyGFETdb.DBAnalyze.
SearchAndPlot
(Groups, Func=<function PlotMeanStd>, **kwargs)¶
PyGFETdb.DBCore module¶
Created on Tue Nov 15 23:15:19 2016
@author: aguimera
-
class
PyGFETdb.DBCore.
PyFETdb
(host=None, user=None, passwd=None, db=None, Update=True)¶ Bases:
object
-
CreateQueryConditions
(Conditions)¶
-
DeleteCharact
(Table, Ids)¶
-
FindFillOutput
(query, values, Output)¶
-
GetCharactFromId
(Table, Ids, Trts, Last=False, GetGate=False)¶
-
GetCharactInfo
(Table, Conditions, Output)¶
-
GetData
(Conditions, DC=True, AC=True, Last=False, Date=None, IsCmp=None)¶
-
GetData2
(Conditions, Table, Last=True, GetGate=False)¶
-
GetDevicesInfo
(Conditions, Output=None)¶
-
GetGateFromId
(idg)¶
-
GetId
(Table, Value, Field='Name', NewVals=None)¶
-
GetTrtCharact
(Table, TrtId, TrtName=None, Last=False, Date=None, IsCmp=None)¶
-
GetTrtCharact2
(Table, TrtId, TrtName, Last=False)¶
-
GetTrtsInfo
(Conditions, Output=None)¶
-
InsertCharact
(DCVals, Fields, ACVals=None, OptFields=None, TrtTypeFields=None, OverWrite=True)¶
-
InsertGateCharact
(DCVals, Fields, OverWrite=True)¶
-
MultiSelect
(Table, Conditions, FieldsOut, Order=None)¶
-
NewRow
(Table, Fields)¶
-
PrintQuery
= False¶
-
UpdateRow
(Table, Fields, Condition)¶
-
PyGFETdb.DBSearch module¶
Created on Fri Jan 12 13:12:37 2018
@author: aguimera
-
PyGFETdb.DBSearch.
CheckConditionsCharTable
(Conditions, Table)¶
-
PyGFETdb.DBSearch.
DataSelection
(Data, Param, Range, Function=None, InSide=True, Name=None, ParArgs={'Ud0Norm': False, 'Vds': None, 'Vgs': None})¶
-
PyGFETdb.DBSearch.
FindCommonValues
(Parameter, Conditions, Table='ACcharacts', **kwargs)¶
-
PyGFETdb.DBSearch.
GenBiosensGroups
(CondBase, GroupBy='CharTable.FuncStep', AnalyteStep='Tromb', AnalyteGroupBy='CharTable.AnalyteCon')¶
-
PyGFETdb.DBSearch.
GenGroups
(GroupBase, GroupBy, LongName=True)¶
-
PyGFETdb.DBSearch.
GetFromDB
(Conditions, Table='ACcharacts', Last=True, GetGate=True, OutilerFilter=None, DataSelectionConfig=None)¶ Get data from data base
This function returns data which meets with “Conditions” dictionary for sql selct query constructor.
- Conditions : dictionary, conditions to construct the sql select query.
The dictionary should follow this structure:
{‘Table.Field <sql operator>’ : iterable type of values}
Example
{‘Wafers.Name = ‘:(B10803W17, B10803W11), ‘CharTable.IsOK > ‘:(0,)}
- Table : string, optional. Posible values ‘ACcharacts’ or ‘DCcharacts’.
The default value is ‘ACcharacts’. Characterization table to get data
The characterization table of Conditions dictionary can be indicated as ‘CharTable’. In that case ‘CharTable’ will be replaced by Table value.
- Last : bolean, optional. If True (default value) just the last measured
- data for each transistor is returned. If False, all measured data is returned
- Last : bolean, optional. If True (default value) the gate measured data
- is also obtained
- OutilerFilter : dictionary, optional. (default ‘None’),
If defined, dictionary to perform a statistical pre-evaluation of the data. The data that are not between the p25 and p75 percentile are not returned. The dictionary should follow this structure: {‘Param’:Value, –> Characterization parameter, ie. ‘Ids’, ‘Vrms’…
‘Vgs’:Value, –> Vgs evaluation point ‘Vds’:Value, –> Vds evaluationd point ‘Ud0Norm’:Boolean} –> Indicates if Vgs is normalized to CNP
Return : tupple of (Data, Trts) Data: Dictionary with the data arranged as follows:
{‘Transistor Name’:list of PyGFET.DataClass.DataCharAC classes}Trts: List of transistors
-
PyGFETdb.DBSearch.
RemoveOutilers
(Data, OutilerFilter)¶
-
PyGFETdb.DBSearch.
UpdateCharTableField
(Conditions, Value, Table='ACcharacts', Field='Comments')¶
PyGFETdb.DataClass module¶
Created on Fri Jun 16 17:43:50 2017
@author: aguimera
-
class
PyGFETdb.DataClass.
DataCharAC
(Data)¶ Bases:
PyGFETdb.DataClass.DataCharDC
-
CalcIRMS
(Fmin, Fmax)¶
-
FFmax
= None¶
-
FFmin
= None¶
-
FitNoise
(Fmin, Fmax)¶
-
GetFgm
(**kwargs)¶
-
GetFpsd
(**kwargs)¶
-
GetGmMag
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetGmPh
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetIrms
(Vgs=None, Vds=None, Ud0Norm=False, NFmin=None, NFmax=None, **kwargs)¶
-
GetIrmsIds
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetIrmsIds15
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetIrmsIds2
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetIrmsVds
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetNoA
(Vgs=None, Vds=None, Ud0Norm=False, FFmin=None, FFmax=None, **kwargs)¶
-
GetNoAIds2
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetNoB
(Vgs=None, Vds=None, Ud0Norm=False, FFmin=None, FFmax=None, **kwargs)¶
-
GetPSD
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetVrms
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
NFmax
= None¶
-
NFmin
= None¶
-
-
class
PyGFETdb.DataClass.
DataCharDC
(Data)¶ Bases:
object
-
CalcFEM
(FEMn0=800000000000.0, FEMq=1.602176565e-19, FEMRc=300, FEMCdl=2e-06, FEMRcVgs=None, **kwargs)¶
-
CalcGMPoly
(PolyOrder=None)¶
-
CalcIdsPoly
(PolyOrder=None)¶
-
CalcUd0
()¶
-
CheckVgsRange
(Vgs, iVds, Ud0Norm)¶
-
GetAnalyteCon
(**kwargs)¶
-
GetComments
(**kwargs)¶
-
GetContact
(**kwargs)¶
-
GetDateTime
(**kwargs)¶
-
GetFEMmu
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetFEMmuGm
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetFEMn
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetFuncStep
(**kwargs)¶
-
GetGM
(Vgs=None, Vds=None, Normalize=False, Ud0Norm=False, **kwargs)¶
-
GetGMMax
(**kwargs)¶
-
GetGMNorm
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetGMV
(AbsVal=True, **kwargs)¶
-
GetGds
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetIds
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetIg
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetIonStrength
(**kwargs)¶
-
GetLength
(**kwargs)¶
-
GetName
(**kwargs)¶
-
GetPass
(**kwargs)¶
-
GetPh
(**kwargs)¶
-
GetRds
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetTime
(**kwargs)¶
-
GetTypeName
(**kwargs)¶
-
GetUd0
(Vds=None, Vgs=None, Ud0Norm=False, Normalize=False, **kwargs)¶
-
GetUd0Vds
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetVds
(**kwargs)¶
-
GetVdsIndexes
(Vds)¶
-
GetVgs
(Vgs=None, Vds=None, Ud0Norm=False, **kwargs)¶
-
GetWL
(**kwargs)¶
-
GetWidth
(**kwargs)¶
-
IntMethod
= 'linear'¶
-
PolyOrder
= 10¶
-
UpdateData
(Data)¶
-
-
PyGFETdb.DataClass.
FitFNoise
(Freq, psd)¶
-
PyGFETdb.DataClass.
FitLogFnoise
(Freq, psd)¶
-
PyGFETdb.DataClass.
Fnoise
(f, a, b)¶
-
PyGFETdb.DataClass.
LogFnoise
(f, a, b)¶
-
class
PyGFETdb.DataClass.
PyFETPlotDataClass
(Size=(9, 6))¶ Bases:
PyGFETdb.PlotDataClass.PyFETPlotBase
-
AxsProp
= {'FEMmu': (1, 0, 'Vgs'), 'FEMmuGm': (1, 0, 'Vgs'), 'FEMn': (0, 0, 'Vgs'), 'FitErrA': (1, 0, 'Vgs'), 'FitErrB': (1, 0, 'Vgs'), 'GM': (0, 0, 'Vgs'), 'GmMag': (1, 1, 'Fgm'), 'GmPh': (0, 1, 'Fgm'), 'Ids': (0, 0, 'Vgs'), 'Ig': (0, 0, 'Vgs'), 'Irms': (1, 0, 'Vgs'), 'NoA': (1, 0, 'Vgs'), 'NoB': (0, 0, 'Vgs'), 'PSD': (1, 1, 'Fpsd'), 'Rds': (0, 0, 'Vgs'), 'Vrms': (1, 0, 'Vgs')}¶
-
ColorParams
= {'Contact': ('TrtTypes', 'Contact'), 'Date': (None, 'DateTime'), 'Device': ('TrtTypes', 'Devices.Name'), 'Length': ('TrtTypes', 'Length'), 'Pass': ('TrtTypes', 'Pass'), 'Trt': (None, 'Name'), 'Ud0': (None, 'Ud0'), 'W/L': (None, None), 'Wafer': ('TrtTypes', 'Wafers.Name'), 'Width': ('TrtTypes', 'Width')}¶
-
GetColorValue
(Data, ColorOn)¶
-
Plot
(Data, Vgs=None, Vds=None, Ud0Norm=False, PltIsOK=True, ColorOnVgs=False, **kwargs)¶
-
PlotDataCh
(DataDict, Trts, Vgs=None, Vds=None, Ud0Norm=False, PltIsOK=True, ColorOn='Trt')¶
-
PlotDataSet
(DataDict, Trts=None, Vgs=None, Vds=None, Ud0Norm=False, PltIsOK=True, ColorOn='Trt', MarkOn='Cycle', **kwargs)¶
-
PyGFETdb.DataStructures module¶
@author: Anton Guimerà @version: 0.1b
Revsion history
- 0.1b – First version
TODO implement graph for selected channels
-
PyGFETdb.DataStructures.
InitACRecord
(nVds, nVgs, nFgm, nFpsd, ChNames)¶
-
PyGFETdb.DataStructures.
InitDCRecord
(nVds, nVgs, ChNames, Gate=True)¶
-
PyGFETdb.DataStructures.
LoadDataFromFile
(FileName)¶
PyGFETdb.GlobalFunctions module¶
PyGFETdb.Multiprocessing module¶
PyGFETdb.NoiseModel module¶
@author: Anton Guimerà @version: 0.1b
Revsion history
- 0.1b – First version
-
PyGFETdb.NoiseModel.
CalcFreqIndexes
(Freq, Fmin=None, Fmax=None)¶
-
PyGFETdb.NoiseModel.
FitFNoise
(Freq, psd, Fmin=None, Fmax=None)¶ return a, b, pcov
-
PyGFETdb.NoiseModel.
FitLogFnoise
(Freq, psd, Fmin=None, Fmax=None)¶
-
PyGFETdb.NoiseModel.
FitNoise
(Freq, psd, Fmin=None, Fmax=None)¶
-
PyGFETdb.NoiseModel.
Fnoise
(f, a, b)¶ return a/f^b
-
PyGFETdb.NoiseModel.
FnoiseTh
(f, a, b, c)¶ return a/f^b+c
-
PyGFETdb.NoiseModel.
LogFnoise
(f, a, b)¶ return b*f+a
-
PyGFETdb.NoiseModel.
PSDintegral
(Freq, psd, Fmin=1, Fmax=5000.0)¶ return Irms
PyGFETdb.PlotDataClass module¶
Created on Wed Feb 1 10:31:02 2017
@author: aguimera
-
class
PyGFETdb.PlotDataClass.
PyFETPlot
¶ Bases:
PyGFETdb.PlotDataClass.PyFETPlotBase
-
AxsProp
= {'FitErrA': (1, 'Vgs', 0), 'FitErrB': (1, 'Vgs', 0), 'GMPoly': (0, 'Vgs', 1), 'Gm': (0, 'Vgs', 1), 'GmMag': (2, 'Fgm', 0), 'GmPh': (3, 'Fgm', 0), 'Ids': (0, 'Vgs', 1), 'IdsPoly': (0, 'Vgs', 1), 'Ig': (0, 'Vgs', 0), 'Irms': (1, 'Vgs', 0), 'IrmsIds': (2, 'Ids', 0), 'NoA': (1, 'Vgs', 0), 'NoB': (0, 'Vgs', 0), 'PSD': (2, 'Fpsd', 0), 'Rds': (0, 'Vgs', 1), 'Vrms': (1, 'Vgs', 0)}¶
-
ColorParams
= {'Contact': ('TrtTypes', 'Contact'), 'Date': (None, 'DateTime'), 'Length': ('TrtTypes', 'Length'), 'Pass': ('TrtTypes', 'Pass'), 'Trt': (None, 'Name'), 'Ud0': (None, 'Ud0'), 'W/L': (None, None), 'Width': ('TrtTypes', 'Width')}¶
-
GetColorValue
(cy, ColorOn)¶
-
Plot
(Data, iVds=None, iVgs=None, PltUd0=False, PltIsOK=False, ColorOnVgs=False)¶
-
PlotDataCh
(Data, PltUd0=False, PltIsOK=False)¶
-
PlotDataSet
(Data, Trts, PltUd0=False, PltIsOK=False, ColorOn='Trt')¶
-
-
class
PyGFETdb.PlotDataClass.
PyFETPlotBase
¶ Bases:
object
-
AddAxes
(AxNames, Xvar=None)¶
-
AddLegend
(Axn=None, fontsize='xx-small')¶
-
ClearAxes
()¶
-
ColorSet
= <matplotlib.colors.LinearSegmentedColormap object>¶
-
CreateFigure
(Size=(9, 6))¶
-
FigExists
()¶
-
NextColor
()¶
-
NextLine
()¶
-
NextMark
()¶
-
SetAxesLabels
(fontsize='medium', labelsize=5, scilimits=(-2, 2), RdsLim=(100, 15000.0))¶
-
SetAxesXLabels
(Xvar=None)¶
-
line
= '-'¶
-
lines
= <PyGFETdb.PlotDataClass.MyCycle object>¶
-
mark
= ''¶
-
marks
= <PyGFETdb.PlotDataClass.MyCycle object>¶
-
setNColors
(ncolors)¶
-
-
class
PyGFETdb.PlotDataClass.
PyFETPlotParam
¶ Bases:
PyGFETdb.PlotDataClass.PyFETPlotBase
-
AxsProp
= {'FitErrA': (0, None, 1), 'FitErrB': (0, None, 1), 'GMPoly': (1, 'Vds', 0), 'GmMax': (0, None, 0), 'IdsPoly': (1, None, 0), 'Irms': (0, None, 1), 'NoA': (0, None, 1), 'NoB': (0, None, 0), 'Rds': (0, None, 0), 'Ud0': (0, None, 0), 'Vrms': (0, None, 1)}¶
-
Plot
(Data, xVar, Bias, PltUd0)¶
-
PlotDataSet
(Data, Trts, xVar, Bias, PltUd0=False)¶
-
SetAxesXLabels
(Xvar, fontsize='medium', scilimits=(-2, 2))¶
-
xVarProp
= {'Area': ('TrtTypes', 'Area', 1), 'Date': (None, 'DateTime', 0), 'Length': ('TrtTypes', 'Length', 1), 'Pass': ('TrtTypes', 'Pass', 0), 'W/L': (None, None, 1), 'Width': ('TrtTypes', 'Width', 1)}¶
-