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.
Name | Type | Values | Unit | Description |
---|---|---|---|---|
temperature | Double | degC | Bulk temperature of the component | |
rated-temperature | Toleranced False | e.g. min-max() or false | degC | Rated operating temperature of component. Use false if property does not apply. |
trust | String | “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 |
mounting | String | “smd” “through-hole” | How is this component mounted to the board | |
case | String | “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
.
Name | Type | Values | Unit | Description |
---|---|---|---|---|
resistor | True|False | true | Identifies resistor component | |
type | String | “thick-film”, “metal-film”, ... | Type of resistor | |
resistance | Double | Ohm | Nominal resistance | |
tolerance | Double | Ohms/Ohm | Guaranteed tolerance from manufacturer | |
rated-voltage | Double | Volts | Maximum voltage rating from manufacturer | |
rated-power | Double|PWL[temp] | Watts|[degC, Watts] | Power dissipation limit as rated by manufacturer. One value, or set of points for PWL function. | |
derating | PWL[temp] | [degC, derate factor] | Temperature-based derating of resistance | |
TCR | Double | Ohms/Ohm*degC | Temperature coefficient of resistance |
Capacitor properties
These are properties associated with capacitors, as used by gen-cap-cmp
in ocdb/utils/generic-components
.
Name | Type | Values | Unit | Description |
---|---|---|---|---|
capacitor | True|False | true | Identifies capacitor component | |
type | String | “ceramic”, “film”, “electrolytic" | Type of capacitor | |
anode | String | “aluminum”, “tantalum”, “niobium-oxide” | Anode material of electrolytic capacitor | |
electrolyte | String | “polymer”, “manganese-dioxide”, “hybrid”, “non-solid” | Electrolyte material of electrolytic capacitor | |
temperature-coefficient | String | “X7R”,"X5R", "NP0", "C0G",... | Temperature coefficient of capacitance | |
capacitance | Double | Farad | Nominal capacitance | |
tolerance | Double | Farad/Farad | Guaranteed tolerance from manufacturer | |
rated-voltage | Double | Volts | Maximum voltage rating from manufacturer | |
rated-current-pk | Double | Amperes | Maximum peak current rating from manufacturer | |
rated-current-rms | Double|PWL[temp] | Amperes | Maximum rms current rating from manufacturer |
Inductor properties
These are properties associated with inductors, as used by gen-ind-cmp
in ocdb/utils/generic-components
.
Name | Type | Values | Unit | Description |
---|---|---|---|---|
inductor | True|False | true | Identifies component as inductor | |
type | String | “wirewound”, “Thick Film”, ... | Type of inductor | |
material-core | String | “ceramic”, “ferrite”, ... | Composition of inductor | |
inductance | Double | Henry | Nominal inductance | |
tolerance | Double | henry/henry | Guaranteed tolerance from manufacturer | |
current-rating | Double | Amperes | Maximum steady-state current rating from manufacturer | |
saturation-current | Double | Amperes | Percentage inductance drop (typ 20-30%) at peak currents | |
shielding | String | “semi-shielded”, “shielded”, “unshielded” | Magnetic field status | |
dc-resistance | Double | ohm | Nominal resistance | |
quality-factor | Double | ratio@freq | Loss factor inverse - ratio between inductors resistance and inductance | |
self-resonant-frequency | Double | Hertz | Frequency 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
.
Name | Type | Values | Unit | Description |
---|---|---|---|---|
crystal-resonator | CrystalResonator() | see below | Collection 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
Name | Type | Values | Unit | Description |
---|---|---|---|---|
power-pin | PowerPin(Toleranced) | e.g. min-max() or min-typ-max() | Volts | Power pin definition using the structure PowerPin() taking a Toleranced argument for the allowable voltage range |
supply-pin | PowerSupplyPin(Toleranced, Double) | Volts|[Volts,Amps] | Nominal voltage and optional current capacity of the power pin | |
gnd-ref | pin or net object | JITXObject | Identifier 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)
Name | Type | Values | Unit | Description |
---|---|---|---|---|
digital-input | DigitalInput() | see below | Properties 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)
Name | Type | Values | Unit | Description |
---|---|---|---|---|
digital-output | DigitalOutput() | see below | Properties 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)
Name | Type | Values | Unit | Description |
---|---|---|---|---|
digital-io | DigitalIO() | see below | Properties 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)