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 - Usepcb-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 ofBundle
typee10GBASE-KR
dst: JITXObject
- This is expected to be a port ofBundle
typee10GBASE-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