Source code for jitxlib.protocols.ethernet.mii.gmii

from jitx.net import Port


[docs] class GMII(Port): """Gigabit Media Independent Interface (GMII) Bundle Generator see `https://en.wikipedia.org/wiki/Media-independent_interface#GMII` Args: col: Include collision line cs: Include carrier sense line tx_er: Include transmit error line """ # explicit list to get a tiny bit more static type checking txd = (Port(), Port(), Port(), Port(), Port(), Port(), Port(), Port()) "Transmit data bus" rxd = (Port(), Port(), Port(), Port(), Port(), Port(), Port(), Port()) "Receive data bus" gtx_clk = Port() "Gigabit Clock (125MHz)" tx_clk = Port() "Transmit clock for 10/100 MBit" tx_en = Port() "Transmit enable" rx_clk = Port() "Receive clock line" rx_dv = Port() "Receive data valid line" rx_er = Port() "Receive error line" col: Port | None = None "Collision" cs: Port | None = None "Carrier Sense" tx_er: Port | None = None "Transmit Error" def __init__(self, col=False, cs=False, tx_er=False): if col: self.col = Port() if cs: self.cs = Port() if tx_er: self.tx_er = Port()