integration/soc/etherbone: always run ethcore in eth_tx clock domain and remove clock_domain parameter.

This avoid issues when sys_clk_freq < eth_tx clock like sys_clk_freq < 125MHz with 1Gbps link.
This commit is contained in:
Florent Kermarrec 2020-07-02 11:37:31 +02:00
parent 4575a11748
commit 23a95bea1d
1 changed files with 6 additions and 11 deletions

View File

@ -1177,7 +1177,7 @@ class LiteXSoC(SoC):
eth_tx_clk)
# Add Etherbone --------------------------------------------------------------------------------
def add_etherbone(self, name="etherbone", phy=None, clock_domain=None,
def add_etherbone(self, name="etherbone", phy=None,
mac_address = 0x10e2d5000000,
ip_address = "192.168.1.50",
udp_port = 1234):
@ -1190,21 +1190,16 @@ class LiteXSoC(SoC):
mac_address = mac_address,
ip_address = ip_address,
clk_freq = self.clk_freq)
if clock_domain is not None: # FIXME: Could probably be avoided.
ethcore = ClockDomainsRenamer("eth_tx")(ethcore)
ethcore = ClockDomainsRenamer("eth_tx")(ethcore)
self.submodules += ethcore
# Clock domain renaming
if clock_domain is not None: # FIXME: Could probably be avoided.
self.clock_domains.cd_etherbone = ClockDomain("etherbone")
self.comb += self.cd_etherbone.clk.eq(ClockSignal(clock_domain))
self.comb += self.cd_etherbone.rst.eq(ResetSignal(clock_domain))
clock_domain = "etherbone"
else:
clock_domain = "sys"
self.clock_domains.cd_etherbone = ClockDomain("etherbone")
self.comb += self.cd_etherbone.clk.eq(ClockSignal("sys"))
self.comb += self.cd_etherbone.rst.eq(ResetSignal("sys"))
# Etherbone
etherbone = LiteEthEtherbone(ethcore.udp, udp_port, cd=clock_domain)
etherbone = LiteEthEtherbone(ethcore.udp, udp_port, cd="etherbone")
setattr(self.submodules, name, etherbone)
self.add_wb_master(etherbone.wishbone.bus)
# Timing constraints