Skip to content

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 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 for
  • route-struct: RoutingStructure - Differential Pair Routing Structure - Use pcb-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 for
  • route-struct: RoutingStructure - Differential Pair Routing Structure - Use pcb-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