e10gbase_kr module#
10GBASE-KR Protocol
10GBASE-KR is a ethernet communication supporting high speed data links in copper for backplane connections. See 10 Gigabit Ethernet <https://en.wikipedia.org/wiki/10_Gigabit_Ethernet#10GBASE-KR>
This functions and definitions in this file support defining 10GBASE-KR connections between components and/or connectors in a board design.
## 10GBASE-KR Blocking Capacitors
The 10GBASE-KR specification calls for AC coupling for the data lanes. This is
typically achieved using a blocking capacitor. When connecting two active
components, this typically means blocking caps from Tx -> Rx on both sides
of the link. When connecting an active component to a passive component, this
typically means adding the blocking caps only on the Tx -> Rx side of the
link.
The functions in this module allow you to pass a blocking capacitor as an
instantiable. This component will get instantiated for each leg of the
diff-pair. These functions handle the topology configuration, but the user
needs to set a jitx.si.BridgingPinModel on the capacitor component.
- class E10GBaseKR(lanes)[source]#
Bases:
Port- Parameters:
lanes (int)
- class Standard[source]#
Curated values for skew and loss of 10GBASE-KR Channel
This is a helper class that returns the bounds on the intra-pair skew timing and maximum loss as expected by the particular standard targeted by the user.The values returned are a toleranced value with upper/lower limits for the intra-pair skew and the maximum loss as a double representing dB. Some defaults in the table are derived from the reference listed below. https://www.ieee802.org/3/ba/public/jul08/balasubramanian_01_0708.pdf
Calculating the intra-pair skew distance to time correspondence depends on the material. see http://pdf.cloud.opensystemsmedia.com/advancedtca-systems.com/Simclar.Feb08.pdf Table 3 where the intra-pair skew is set to 0.0625e-12 and the inter-pair skew is set to 0.625e-12. This corresponds roughly to 0.01mm skew intra-pair and 0.100mm skew inter-pair (or lane).
- skew = Toleranced(0, 6.25e-14, 6.25e-14)#
Allowed intra-pair skew in seconds
- pair_to_pair_skew = Toleranced(0, 6.25e-14, 6.25e-14)#
Allowed inter-pair skew in seconds
- loss = 15.0#
Maximum loss in dB
- impedance = Toleranced(100, 10, 10)#
Differential impedance specified by the e10GBASE-KR standard
- class Constraint(standard=None, structure=None)[source]#
Bases:
SignalConstraint[E10GBaseKR]- Parameters:
standard (Standard | None)
structure (DifferentialRoutingStructure | None)
- constrain(src, dst)[source]#
Called to apply implementation specific constraints. Note that all constraints should be added to the container by calling
add()on self. It is valid to just set member attributes as well, as with everything in JITX, but be aware that your constraint may be used multiple times with different topologies, and thus be careful with overwriting values (e.g. some constraints may use a singleDiffPairConstraintto constrain all its diff pairs).- Parameters:
src (E10GBaseKR)
dst (E10GBaseKR)