si_parts module#
Fictional parts shared by the si_* signal-integrity patterns.
None of these parts is a real product. Every pin model value below is
illustrative: it stands where a datasheet, IBIS model or vendor model figure
goes in a real design. A measurement in a pattern is therefore a proof-route
number on the two-layer jitx.sample.SampleSubstrate, not a
characterization of any part.
Each part has one column of 0.6 mm square pads at 1.0 mm pitch, assigned to
its ports in declaration order (a DiffPair gives p then n). Two
parts placed facing each other at the same height line their pads up, so a
straight code Route on layer 0 joins each pair of pads.
- PAD_PITCH = 1.0#
Distance between pad centres, in mm.
- class SquarePad(*args, **kwargs)[source]#
Bases:
Pad0.6 mm square SMD pad.
- shape: Shape | PadShape = Polygon(elements=((0.3, 0.3), (-0.3, 0.3), (-0.3, -0.3), (0.3, -0.3)), holes=())#
The geometric shape of the pad or a PadShape to specify the regular shape and the shape when non-functional pads are removed. Can be overridden on a per-layer basis by
shapes. When using a PadShape with nfp, the nfp removal does not apply to surface layers, to have surface nfp removal, use theshapesmapping to declare top and bottom explicitly.
- soldermask = Soldermask(shape=Polygon(elements=((0.3, 0.3), (-0.3, 0.3), (-0.3, -0.3), (0.3, -0.3)), holes=()), side=<Side.Top: 0>)#
- class PadColumn(count)[source]#
Bases:
Landpatterncountsquare pads in one column, centred on the origin.- Parameters:
count (int)
- class ExampleChip[source]#
Bases:
ComponentFictional chip with one single-ended signal pin,
io. Not a real product. It has no pin model: the measured delay starts and ends at its pad.- reference_designator_prefix: str | None = 'U'#
Reference designator prefix for this component. This will be used to generate a unique reference designator for each component of the same type.
Note
This field is a required data point for matching components between builds. If this value changes (including changing from unset to set), it will be treated as a new component, even if nothing else changes.
- io = Port()#
- class ExampleTerminatedChip[source]#
Bases:
ComponentFictional chip whose signal pin carries a package model. Not a real product.
packageadds 10 ps and 0.2 dB from the pad into the die, values that are illustrative. A real part takes them from its datasheet or IBIS package model.- reference_designator_prefix: str | None = 'U'#
Reference designator prefix for this component. This will be used to generate a unique reference designator for each component of the same type.
Note
This field is a required data point for matching components between builds. If this value changes (including changing from unset to set), it will be treated as a new component, even if nothing else changes.
- io = Port()#
- package = TerminatingPinModel(Port(), delay=1e-11, loss=0.2)#
- class ExampleSeriesResistor[source]#
Bases:
ComponentFictional series resistor that a signal passes through. Not a real product.
throughgives the path 4 ps and 0.08 dB fromatob, values that are illustrative. Without aBridgingPinModelthe runtime stops the path at this part.- reference_designator_prefix: str | None = 'R'#
Reference designator prefix for this component. This will be used to generate a unique reference designator for each component of the same type.
Note
This field is a required data point for matching components between builds. If this value changes (including changing from unset to set), it will be treated as a new component, even if nothing else changes.
- a = Port()#
- b = Port()#
- through = BridgingPinModel(Port(), Port(), delay=4e-12, loss=0.08)#
- class ExampleTwoLaneChip[source]#
Bases:
ComponentFictional chip with two differential lanes,
lane0andlane1. Not a real product, and it has no pin models.- reference_designator_prefix: str | None = 'U'#
Reference designator prefix for this component. This will be used to generate a unique reference designator for each component of the same type.
Note
This field is a required data point for matching components between builds. If this value changes (including changing from unset to set), it will be treated as a new component, even if nothing else changes.
- lane0 = DiffPair()#
- lane1 = DiffPair()#