From cb9ec51de8cf3967b0b3c299f045bf037907a33b Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Thu, 29 Jan 2015 01:10:40 +0100 Subject: [PATCH] simplify MAC dispatch (use onehot mode if Dispatcher) --- liteeth/__init__.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/liteeth/__init__.py b/liteeth/__init__.py index a67e5b38..85adb3ac 100644 --- a/liteeth/__init__.py +++ b/liteeth/__init__.py @@ -11,16 +11,12 @@ class LiteEthIPStack(Module, AutoCSR): self.submodules.ip = ip = LiteEthMACIP() # MAC dispatch - self.submodules.unknown_sink = unknown_sink = Sink(eth_mac_description(8)) - self.comb += unknown_sink.ack.eq(1) - self.submodules.mac_dispatcher = mac_dispatcher = Dispatcher(mac.source, [arp.sink, ip.sink, unknown_sink]) + self.submodules.mac_dispatcher = mac_dispatcher = Dispatcher(mac.source, [arp.sink, ip.sink], one_hot=True) self.comb += [ If(mac.source.eth_type == ethernet_type_arp, - mac_dispatcher.sel.eq(0) - ).Elif(mac.source.eth_type == ethernet_type_ip, mac_dispatcher.sel.eq(1) - ).Else( - mac_dispatcher.sel.eq(2) # connect to unknown sink that always acknowledge data + ).Elif(mac.source.eth_type == ethernet_type_ip, + mac_dispatcher.sel.eq(2) ) ] # MAC arbitrate -- 2.30.2