Skip to content

Commit

Permalink
ethernet: move LiteEth core connections from s to s
Browse files Browse the repository at this point in the history
  • Loading branch information
fischermoseley committed Aug 10, 2024
1 parent f276243 commit e1f635d
Showing 1 changed file with 52 additions and 51 deletions.
103 changes: 52 additions & 51 deletions src/manta/ethernet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from random import getrandbits

from amaranth import *
from amaranth.hdl import IOPort

from manta.ethernet.sink_bridge import UDPSinkBridge
from manta.ethernet.source_bridge import UDPSourceBridge
Expand Down Expand Up @@ -112,69 +113,69 @@ def _binarize_ip_addr(self, ip_addr):
def _define_phy_io(self):
if self._phy in ["LiteEthPHYMII"]:
return [
("i", "mii_clocks_tx", mii_clocks_tx := Signal()),
("i", "mii_clocks_rx", mii_clocks_rx := Signal()),
("o", "mii_rst_n", mii_rst_n := Signal()),
("io", "mii_mdio", mii_mdio := Signal()),
("o", "mii_mdc", mii_mdc := Signal()),
("i", "mii_rx_dv", mii_rx_dv := Signal()),
("i", "mii_clocks_tx", mii_clocks_tx := IOPort(1)),
("i", "mii_clocks_rx", mii_clocks_rx := IOPort(1)),
("o", "mii_rst_n", mii_rst_n := IOPort(1)),
("io", "mii_mdio", mii_mdio := IOPort(1)),
("o", "mii_mdc", mii_mdc := IOPort(1)),
("i", "mii_rx_dv", mii_rx_dv := IOPort(1)),
("i", "mii_rx_er", mii_rx_er := Signal()),
("i", "mii_rx_data", mii_rx_data := Signal(4)),
("o", "mii_tx_en", mii_tx_en := Signal()),
("o", "mii_tx_data", mii_tx_data := Signal(4)),
("i", "mii_col", mii_col := Signal()),
("i", "mii_crs", mii_crs := Signal()),
("i", "mii_rx_data", mii_rx_data := IOPort(4)),
("o", "mii_tx_en", mii_tx_en := IOPort(1)),
("o", "mii_tx_data", mii_tx_data := IOPort(4)),
("i", "mii_col", mii_col := IOPort(1)),
("i", "mii_crs", mii_crs := IOPort(1)),
]

elif self._phy in ["LiteEthPHYRMII"]:
return [
("i", "rmii_clocks_ref_clk", rmii_clocks_ref_clk := Signal()),
("o", "rmii_rst_n", rmii_rst_n := Signal()),
("i", "rmii_rx_data", rmii_rx_data := Signal(2)),
("i", "rmii_crs_dv", rmii_crs_dv := Signal()),
("o", "rmii_tx_en", rmii_tx_en := Signal()),
("o", "rmii_tx_data", rmii_tx_data := Signal(2)),
("o", "rmii_mdc", rmii_mdc := Signal()),
("io", "rmii_mdio", rmii_mdio := Signal()),
("i", "rmii_clocks_ref_clk", rmii_clocks_ref_clk := IOPort(1)),
("o", "rmii_rst_n", rmii_rst_n := IOPort(1)),
("i", "rmii_rx_data", rmii_rx_data := IOPort(2)),
("i", "rmii_crs_dv", rmii_crs_dv := IOPort(1)),
("o", "rmii_tx_en", rmii_tx_en := IOPort(1)),
("o", "rmii_tx_data", rmii_tx_data := IOPort(2)),
("o", "rmii_mdc", rmii_mdc := IOPort(1)),
("io", "rmii_mdio", rmii_mdio := IOPort(1)),
]

elif self._phy in [
"LiteEthPHYGMII",
"LiteEthPHYGMIIMII",
]:
return [
("i", "gmii_clocks_tx", gmii_clocks_tx := Signal()),
("o", "gmii_clocks_gtx", gmii_clocks_gtx := Signal()),
("i", "gmii_clocks_rx", gmii_clocks_rx := Signal()),
("o", "gmii_rst_n", gmii_rst_n := Signal()),
("i", "gmii_int_n", gmii_int_n := Signal()),
("io", "gmii_mdio", gmii_mdio := Signal()),
("o", "gmii_mdc", gmii_mdc := Signal()),
("i", "gmii_rx_dv", gmii_rx_dv := Signal()),
("i", "gmii_rx_er", gmii_rx_er := Signal()),
("i", "gmii_rx_data", gmii_rx_data := Signal(8)),
("o", "gmii_tx_en", gmii_tx_en := Signal()),
("o", "gmii_tx_er", gmii_tx_er := Signal()),
("o", "gmii_tx_data", gmii_tx_data := Signal(8)),
("i", "gmii_col", gmii_col := Signal()),
("i", "gmii_crs", gmii_crs := Signal()),
("i", "gmii_clocks_tx", gmii_clocks_tx := IOPort(1)),
("o", "gmii_clocks_gtx", gmii_clocks_gtx := IOPort(1)),
("i", "gmii_clocks_rx", gmii_clocks_rx := IOPort(1)),
("o", "gmii_rst_n", gmii_rst_n := IOPort(1)),
("i", "gmii_int_n", gmii_int_n := IOPort(1)),
("io", "gmii_mdio", gmii_mdio := IOPort(1)),
("o", "gmii_mdc", gmii_mdc := IOPort(1)),
("i", "gmii_rx_dv", gmii_rx_dv := IOPort(1)),
("i", "gmii_rx_er", gmii_rx_er := IOPort(1)),
("i", "gmii_rx_data", gmii_rx_data := IOPort(8)),
("o", "gmii_tx_en", gmii_tx_en := IOPort(1)),
("o", "gmii_tx_er", gmii_tx_er := IOPort(1)),
("o", "gmii_tx_data", gmii_tx_data := IOPort(8)),
("i", "gmii_col", gmii_col := IOPort(1)),
("i", "gmii_crs", gmii_crs := IOPort(1)),
]

elif self._phy in [
"LiteEthS7PHYRGMII",
"LiteEthECP5PHYRGMII",
]:
return [
("o", "rgmii_clocks_tx", rgmii_clocks_tx := Signal()),
("i", "rgmii_clocks_rx", rgmii_clocks_rx := Signal()),
("o", "rgmii_rst_n", rgmii_rst_n := Signal()),
("i", "rgmii_int_n", rgmii_int_n := Signal()),
("io", "rgmii_mdio", rgmii_mdio := Signal()),
("o", "rgmii_mdc", rgmii_mdc := Signal()),
("i", "rgmii_rx_ctl", rgmii_rx_ctl := Signal()),
("i", "rgmii_rx_data", rgmii_rx_data := Signal(4)),
("o", "rgmii_tx_ctl", rgmii_tx_ctl := Signal()),
("o", "rgmii_tx_data", rgmii_tx_data := Signal(4)),
("o", "rgmii_clocks_tx", rgmii_clocks_tx := IOPort(1)),
("i", "rgmii_clocks_rx", rgmii_clocks_rx := IOPort(1)),
("o", "rgmii_rst_n", rgmii_rst_n := IOPort(1)),
("i", "rgmii_int_n", rgmii_int_n := IOPort(1)),
("io", "rgmii_mdio", rgmii_mdio := IOPort(1)),
("o", "rgmii_mdc", rgmii_mdc := IOPort(1)),
("i", "rgmii_rx_ctl", rgmii_rx_ctl := IOPort(1)),
("i", "rgmii_rx_data", rgmii_rx_data := IOPort(4)),
("o", "rgmii_tx_ctl", rgmii_tx_ctl := IOPort(1)),
("o", "rgmii_tx_data", rgmii_tx_data := IOPort(4)),
]

elif self._phy in [
Expand All @@ -190,13 +191,13 @@ def _define_phy_io(self):
"USP_GTY_2500BASEX",
]:
return [
("i", "sgmii_refclk", sgmii_refclk := Signal()),
("i", "sgmii_rst", sgmii_rst := Signal()),
("o", "sgmii_txp", sgmii_txp := Signal()),
("o", "sgmii_txn", sgmii_txn := Signal()),
("i", "sgmii_rxp", sgmii_rxp := Signal()),
("i", "sgmii_rxn", sgmii_rxn := Signal()),
("o", "sgmii_link_up", sgmii_link_up := Signal()),
("i", "sgmii_refclk", sgmii_refclk := IOPort(1)),
("i", "sgmii_rst", sgmii_rst := IOPort(1)),
("o", "sgmii_txp", sgmii_txp := IOPort(1)),
("o", "sgmii_txn", sgmii_txn := IOPort(1)),
("i", "sgmii_rxp", sgmii_rxp := IOPort(1)),
("i", "sgmii_rxn", sgmii_rxn := IOPort(1)),
("o", "sgmii_link_up", sgmii_link_up := IOPort(1)),
]

def elaborate(self, platform):
Expand Down

0 comments on commit e1f635d

Please sign in to comment.