Properties

JITX allows us to associate arbitrary properties with pins, components, and modules. These properties are used throughout OCDB for design calculations and design review checks. Everyone is free to define and use their own parameters, but when we collaborate on a shared set it is easier to write better automation. What follows is documentation of the properties defined in OCDB.

Component properties

These are properties associated with components, including passive components like resistors, capacitors, and inductors.

Generic properties

These properties apply to all components.

NameTypeValuesUnitDescription
temperatureDoubledegCBulk temperature of the component
rated-temperatureToleranced Falsee.g. min-max() or falsedegCRated operating temperature of component. Use false if property does not apply.
trustString“low”The data for this component came from a distributor/other
“datasheet”, "medium"The data from this component came from the datasheet
“built”, "high"This component was used on a board without issue
“characterized”The this model data was characterized in the lab
dimensions[Double, Double, Double] [Length, Width, Height][mm, mm, mm]Length, width and height (x,y,z) of the bounding box of the component
mountingString“smd” “through-hole”How is this component mounted to the board
caseString“0402”, "0805"Common name of the component package

Resistor properties

These are properties associated with resistors, as used by gen-res-cmp in ocdb/utils/generic-components.

NameTypeValuesUnitDescription
resistorTrue|FalsetrueIdentifies resistor component
typeString“thick-film”, “metal-film”, ...Type of resistor
resistanceDoubleOhmNominal resistance
toleranceDoubleOhms/OhmGuaranteed tolerance from manufacturer
rated-voltageDoubleVoltsMaximum voltage rating from manufacturer
rated-powerDouble|PWL[temp]Watts|[degC, Watts]Power dissipation limit as rated by manufacturer. One value, or set of points for PWL function.
deratingPWL[temp][degC, derate factor]Temperature-based derating of resistance
TCRDoubleOhms/Ohm*degCTemperature coefficient of resistance

Capacitor properties

These are properties associated with capacitors, as used by gen-cap-cmp in ocdb/utils/generic-components.

NameTypeValuesUnitDescription
capacitorTrue|FalsetrueIdentifies capacitor component
typeString“ceramic”, “film”, “electrolytic"Type of capacitor
anodeString“aluminum”, “tantalum”, “niobium-oxide”Anode material of electrolytic capacitor
electrolyteString“polymer”, “manganese-dioxide”, “hybrid”, “non-solid”Electrolyte material of electrolytic capacitor
temperature-coefficientString“X7R”,"X5R", "NP0", "C0G",...Temperature coefficient of capacitance
capacitanceDoubleFaradNominal capacitance
toleranceDoubleFarad/FaradGuaranteed tolerance from manufacturer
rated-voltageDoubleVoltsMaximum voltage rating from manufacturer
rated-current-pkDoubleAmperesMaximum peak current rating from manufacturer
rated-current-rmsDouble|PWL[temp]AmperesMaximum rms current rating from manufacturer

Inductor properties

These are properties associated with inductors, as used by gen-ind-cmp in ocdb/utils/generic-components.

NameTypeValuesUnitDescription
inductorTrue|FalsetrueIdentifies component as inductor
typeString“wirewound”, “Thick Film”, ...Type of inductor
material-coreString“ceramic”, “ferrite”, ...Composition of inductor
inductanceDoubleHenryNominal inductance
toleranceDoublehenry/henryGuaranteed tolerance from manufacturer
current-ratingDoubleAmperesMaximum steady-state current rating from manufacturer
saturation-currentDoubleAmperesPercentage inductance drop (typ 20-30%) at peak currents
shieldingString“semi-shielded”, “shielded”, “unshielded”Magnetic field status
dc-resistanceDoubleohmNominal resistance
quality-factorDoubleratio@freqLoss factor inverse - ratio between inductors resistance and inductance
self-resonant-frequencyDoubleHertzFrequency at which inductor impedance becomes very high / open circuit

Crystal properties

These are properties associated with crystals, as used by gen-xtal-cmp in ocdb/utils/generic-components.

NameTypeValuesUnitDescription
crystal-resonatorCrystalResonator()see belowCollection of properties for a resonator
public pcb-struct ocdb/utils/property-structs/CrystalResonator :
  load-capacitance:Double     ; Load capacitance in Farads                
  shunt-capacitance:Double    ; Shunt capacitance in Farads                
  motional-capacitance:Double ; Motional capacitance in Farads                    
  ESR:Double                  ; Series resistance of crystal in Ohms  
  frequency:Double            ; Fundamental frequency in Hz        
  frequency-tolerance:Double  ; Frequency tolerance in Hz                
  max-drive-level:Double      ; Max drive level in W      

; Example call
  property(self.crystal-resonator) = ocdb/utils/property-structs/CrystalResonator(cl, cs, cm, esr, f, df * f, dl)

Pin properties

These properties are associated with component pins like power, reset, and logic pins.

Power pins

NameTypeValuesUnitDescription
power-pinPowerPin(Toleranced)e.g. min-max() or min-typ-max()VoltsPower pin definition using the structure PowerPin() taking a Toleranced argument for the allowable voltage range
supply-pinPowerSupplyPin(Toleranced, Double)Volts|[Volts,Amps]Nominal voltage and optional current capacity of the power pin
gnd-refpin or net objectJITXObjectIdentifier for a pin or net that is the 0v reference for this pin
power-request[Double,Double,Double][Voltage, Current, Noise][Volts, Amperes, Volts]Defines a load by nominal voltage, current, and allowable noise to be satisfied by the power solver.

Logic pins

Digital pins

These are properties to check the generic rated voltage and ESD protection of pins, used by the checks in ocdb/utils/checks. | Name | Type | Values | Unit | Description | |:-----|:-----|:-------|:-----|:------------| | generic-pin | GenericPin() | see below | | Properties for rated voltage and ESD protection. |

; Library property name: generic-pin
public pcb-struct ocdb/utils/property-structs/GenericPin :
  max-voltage:Toleranced|RelativeVoltage    ; Maximum voltage that can be applied to pin (V)
  rated-esd:Double                          ; Rated ESD voltage (V)

; Example call
property(self.SDA.generic-pin) = GenericPin(min-max(-0.3, 3.6), 1500.0)
NameTypeValuesUnitDescription
digital-inputDigitalInput()see belowProperties to check digital inputs
; Library property name: digital-input
public pcb-struct ocdb/utils/property-structs/DigitalInput :
  vil:Toleranced|RelativeVoltage    ; Range of voltages that will read as logic low (V)
  vih:Toleranced|RelativeVoltage    ; Range of voltages that will read as logic high (V)
  vdd-pin:JITXObject                ; Pin that powers the high reference 
  gnd-pin:JITXObject                ; Pin that powers the low reference
  leakage-current:Double            ; Leakage current in Amps

; Example call
property(UART-RX.digital-input) = DigitalInput(0.4, 0.7 * vcc, VCCIO, GND, 1.0e-6)
NameTypeValuesUnitDescription
digital-outputDigitalOutput()see belowProperties to check digital inputs
; Library property name: digital-output
public pcb-struct ocdb/utils/property-structs/DigitalOutput :
  driver:LogicFamily          ; Driver model of the output
  tristateable:True|False     ; Can this pin be put in a high-impedance mode?
  vdd-pin:JITXObject          ; Pin that powers the high reference 
  gnd-pin:JITXObject          ; Pin that powers the low reference

; Example Call
property(UART-TX.digital-output) = DigitalOutput(CMOSOutput(min-max(0.3, 0.5), min-max(2.6, 3.3)), false, VCCIO, GND)
NameTypeValuesUnitDescription
digital-ioDigitalIO()see belowProperties to check digital io pins
; Library property name: digital-io
public pcb-struct ocdb/utils/property-structs/DigitalIO :
  driver:LogicFamily                ; Driver model of the output
  vil:Toleranced|RelativeVoltage    ; Range of voltages that will read as logic low (V)
  vih:Toleranced|RelativeVoltage    ; Range of voltages that will read as logic high (V)  gnd-pin:JITXObject          ; Pin that powers the driver low reference
  vdd-pin:JITXObject                ; Pin that powers the high reference 
  gnd-pin:JITXObject                ; Pin that powers the low reference
  leakage-current:Double            ; Leakage current in Amps

; Example call
property(PA[3].digital-io) = DigitalIO(CMOSOutput(min-max(0.0, 0.4), min-max(3.3 - 0.4, 3.3)), typ(0.3 * 3.3), typ(0.7 * 3.3), self.VDD, self.VSS, 50.0e-9)