mdi1000base_t module#
MDI - Media Dependent Interface
This module defines the MDI bundle and associated constraint functions for the 1000Base-T Ethernet standard.
Create a 1000Base-T MDI Constraint and apply it to a simple topology >>> class EthernetCircuit(Circuit): … def __init__(self): … self.ethernet_jack = EthernetJack(), EthernetJack() … eth0 = ethernet_jack[0].require(MDI1000BaseT) … eth1 = ethernet_jack[1].require(MDI1000BaseT) … self.mdiconstraint = MDI1000BaseT.Constraint() … with self.mdiconstraint.constrain_topology(eth0, eth1) as (src, dst): … self += src >> dst
Create a 1000Base-T MDI Constraint and apply it to a complex topology >>> class EthernetCircuit(Circuit): … def __init__(self): … self.ethernet_jack = EthernetJack(), EthernetJack() … eth0 = ethernet_jack[0].require(MDI1000BaseT) … eth1 = ethernet_jack[1].require(MDI1000BaseT) … self.mdiconstraint = MDI1000BaseT.Constraint() … self.esd_pool = ESDPool(2) … with self.mdiconstraint.constrain_topology(eth0, eth1) as (src, dst): … for p in range(4): … protected = self.esd_pool.require(DualPair) … self += src.TP[p] >> protected.A >> protected.B >> dst.TP[p]
- class MDI1000BaseT[source]#
Bases:
Port- TP = (DiffPair(), DiffPair(), DiffPair(), DiffPair())#
- class Standard[source]#
- skew = Toleranced(0, 8e-13, 8e-13)#
Intra pair skew - Allowable delay difference as a Toleranced value in Seconds.
- loss = 12#
Max allowable power loss limit in dB.
- impedance = Toleranced(95, 14.25, 14.25)#
The expected differential impedance for the differential pairs in Ohms
- pair_to_pair_skew = Toleranced(0, 1.65e-10, 1.65e-10)#
Allowable inter-pair delay difference as a Toleranced value in Seconds.
- class Constraint(standard=None, structure=None)[source]#
Bases:
SignalConstraint[MDI1000BaseT]- Parameters:
standard (Standard | None)
structure (DifferentialRoutingStructure | None)
- diffpair_constraint: DiffPairConstraint#
- inter_skew: Toleranced#
- 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 (MDI1000BaseT)
dst (MDI1000BaseT)
- class Provide(diffpairs)[source]#
Bases:
ContainerConstruct provider for a 1000Base-T connection.
This constructs a provider for a 1000Base-T (Gigabit) MDI interface. This includes creating the appropriate option mappings for swapping the differential pairs.
>>> self += MDI1000BaseT.Provide( ... [self.C.TXRX1A, self.C.TXRX1B, self.C.TXRX1C, self.C.TXRX1D] ... )