Skip to content

jsl/protocols/ethernet/MDI/e10GBASE-KR

Package name: jsl/protocols/ethernet/MDI/e10GBASE-KR

10GBASE-KR Protocol

10GBASE-KR is a ethernet communication supporting high speed data links in copper for backplane connections

References

  • 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 pin-model statement on the capacitor component.

Summary

General Definitions

Function Description
e10GBASE-KR e10GBASE-KR Bundle
e10GBASE-KR-Constraint Construct a e10GBASE-KR-Constraints object
e10GBASE-KR-get-skew-loss-vals Curated values for skew and loss of 10GBASE-KR Channel
e10GBASE-KR-get-trace-impedance Differential impedance specified by the e10GBASE-KR standard
connect-10GBASE-KR Construct the 10GBASE-KR Topology and Constraints

Definitions

General Definitions

e10GBASE-KR

e10GBASE-KR Bundle The Data Bundle consists of a number (1 or more) of RX and TX pairs (1 RX/TX pair set = 1 lane)

public pcb-bundle e10GBASE-KR (num-lanes:Int)

  • num-lanes: Int - The number of lanes to be configured for this bundle.
  • lane - Lane pairs for the ethernet interface (num-lanes)

e10GBASE-KR-Constraint

Construct a e10GBASE-KR-Constraints object

public defn e10GBASE-KR-Constraint ( -- route-struct:DifferentialRoutingStructure) -> DiffPair-Constraint

  • route-struct: DifferentialRoutingStructure - Differential Pair Routing Structure - Use pcb-differential-routing-structure to create.
  • Returns DiffPair-Constraint - Diff-Pair Constraint Object

e10GBASE-KR-get-skew-loss-vals

Curated values for skew and loss of 10GBASE-KR Channel This is a helper function 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).

public defn e10GBASE-KR-get-skew-loss-vals () -> [Toleranced, Toleranced, Double]

  • Returns [Toleranced, Toleranced, Double]

e10GBASE-KR-get-trace-impedance

Differential impedance specified by the e10GBASE-KR standard This is a helper function that returns the expected differential trace impedance for the specified generation of the e10GBASE-KR standard.

public defn e10GBASE-KR-get-trace-impedance () -> Toleranced

  • Returns Toleranced - Upper/lower limits for the impedance.

connect-10GBASE-KR

Construct the 10GBASE-KR Topology and Constraints

This function constructs the 10GBASE-KR topology and applies constraints to the channel for intra-pair skew and channel loss.

public defn connect-10GBASE-KR (cons:SI-Constraint, cap-src-dst:Instantiable|False, cap-dst-src:Instantiable|False, src:JITXObject, dst:JITXObject -- null-modem:True|False = ?)

  • cons: SI-Constraint - The Constraint structure to be used for the routing.
  • cap-src-dst: Instantiable|False - Optional DC blocking capacitor to be inserted between the src.TX and dst.RX signal ends. Note that there are 2 blocking caps inserted, one on each of the pair of P,N signals. The capacitor needs to have pin models applied to its pins in order for the overall skew and loss values to be respected.
  • cap-dst-src: Instantiable|False - Optional DC blocking capacitor to be inserted between the dst.TX and src.RX signal ends. This capacitor covers the reverse direction connection between dst.TX and src.RX. If the second component was a connector, then typically no capacitor is inserted between dst.TX and src.RX (cap-dst-src = false).
  • src: JITXObject - This is expected to be a port of Bundle type e10GBASE-KR
  • dst: JITXObject - This is expected to be a port of Bundle type e10GBASE-KR
  • null-modem: True|False - If set to true, connects src.TX through the optional cap-src-dst to dst.RX and dst.TX through the optional cap-dst-src to src.RX. If set to false, connects src.TX through the optional cap-src-dst to dst.TX and dst.RX through the optional cap-dst-src to src.RX

Related Packages

Forwarded by packages: jsl/protocols/ethernet, jsl/protocols