jsl/protocols/ethernet/MII/RGMII¶
Package name: jsl/protocols/ethernet/MII/RGMII
Summary¶
Data Types¶
RGMIIVersion¶
RGMII Version
Functions¶
Function | Description |
---|---|
rgmii-get-delay-loss | RGMII Delay and Loss Spec |
RGMII-Constraint | Construct a RGMII Constraint object |
RGMII-Constraint¶
RGMII Lane Constraint
Constructors¶
Function | Description |
---|---|
RGMII-Constraint | Constructor for defstruct RGMII-Constraint |
Functions¶
Function | Description |
---|---|
RGMII-Constraint | Construct a RGMII Constraint object |
General Definitions¶
Function | Description |
---|---|
rgmii | Reduced Gigabit Media Independent Interface (RGMII) |
rgmii-lane | RGMII Lane Bundle |
rgmii-bus-skew | RGMII Databus Skew Specification |
rgmii-get-trace-impedance | RGMII Trace Impedance Spec |
Variable | Description |
---|---|
RGMII_BUS_WIDTH |
Definitions¶
RGMIIVersion¶
RGMII Version
public defenum RGMIIVersion <: Equalable & Hashable & JITXValue
-
RGMII-STD
-
RGMII-ID
RGMII v1 requires a specific Data to Clock delay in the PCB board to meet setup and hold times.
In RGMII v2, the spec introduces an optional "Internal Delay" feature. Devices that provide this are labeled "RGMII-ID". These devices don't require a PCB board delay because the delay can be configured in firmware.
Functions¶
rgmii-get-delay-loss¶
RGMII Delay and Loss Spec
public defn rgmii-get-delay-loss (version:RGMIIVersion) -> [Toleranced, Double]
version: RGMIIVersion
- RGMII version spec- Returns
[Toleranced, Double]
- Tuple of[delay, max-loss]
where: delay
- This is the expected delay between data to clock.max-loss
- This is the max loss in dB for all signals.
RGMII-Constraint¶
Construct a RGMII Constraint object
public defn RGMII-Constraint ( -- version:RGMIIVersion, route-struct:RoutingStructure) -> RGMII-Constraint
version: RGMIIVersion
- USB Protocol Version to construct a constraint object forroute-struct: RoutingStructure
- Differential Pair Routing Structure - Usepcb-differential-routing-structure
to create.- Returns
RGMII-Constraint
- Diff-Pair Constraint Object
RGMII-Constraint¶
RGMII Lane Constraint
public defstruct RGMII-Constraint <: SI-Constraint :
bus-skew: Toleranced
clk-delay: Toleranced
loss: Double
route-struct: RoutingStructure
-
bus-skew: Toleranced
- Max skew between the data bus and ctl lines -
clk-delay: Toleranced
- Specification for the Data to Clock Delay -
loss: Double
- Max Loss Limit in dB -
route-struct: RoutingStructure
- Single-ended routing structure for all signals.
This constraint is used to constrain a lane of the RGMII interface. This type would typically be used with a LaneConstraint type for constructing a full-duplex RGMII interface.
This constraint expects to be passed rgmii-lane
bundle
ports to constrain.
Constructors¶
RGMII-Constraint¶
Constructor for defstruct RGMII-Constraint
public defn RGMII-Constraint (clk-delay:Toleranced, bus-skew:Toleranced, loss:Double, route-struct:RoutingStructure)
Functions¶
RGMII-Constraint¶
Construct a RGMII Constraint object
public defn RGMII-Constraint ( -- version:RGMIIVersion, route-struct:RoutingStructure) -> RGMII-Constraint
version: RGMIIVersion
- USB Protocol Version to construct a constraint object forroute-struct: RoutingStructure
- Differential Pair Routing Structure - Usepcb-differential-routing-structure
to create.- Returns
RGMII-Constraint
- Diff-Pair Constraint Object
General Definitions¶
rgmii¶
Reduced Gigabit Media Independent Interface (RGMII)
public pcb-bundle rgmii
-
TX
- Transmit Lane Port -
RX
- Receive Lane Port
References¶
- https://en.wikipedia.org/wiki/Media-independent_interface#RGMII
This bundle is structured as a lane-pair bundle.
rgmii-lane¶
RGMII Lane Bundle
public pcb-bundle rgmii-lane
-
data
- Data Bus Port -
clk
- Clock Line -
ctl
- Multiplexed enable and error signals
rgmii-bus-skew¶
RGMII Databus Skew Specification
public defn rgmii-bus-skew () -> Toleranced
- Returns
Toleranced
rgmii-get-trace-impedance¶
RGMII Trace Impedance Spec
public defn rgmii-get-trace-impedance () -> Toleranced
- Returns
Toleranced
- Impedance spec for single-ended traces.
RGMII_BUS_WIDTH¶
public val RGMII_BUS_WIDTH
Related Packages¶
Forwarded by packages: jsl/protocols/ethernet, jsl/protocols