Thursday, 2020-03-12

*** tpb has joined #litex00:00
*** rohitksingh has joined #litex00:03
*** rohitksingh has quit IRC00:12
*** rohitksingh has joined #litex00:13
*** rohitksingh has quit IRC00:23
*** rohitksingh has joined #litex00:23
*** rohitksingh has quit IRC01:54
*** rohitksingh has joined #litex03:44
*** _whitelogger has quit IRC03:48
*** _whitelogger has joined #litex03:50
*** _whitelogger has quit IRC04:27
*** _whitelogger has joined #litex04:29
*** rohitksingh has quit IRC04:41
*** rohitksingh has joined #litex04:47
scanakcithanks  @_florent_ . I am currently trying to integrate the most recent version of BlackParrot to LiteX. I was stuck for some time. We finally noticed that the issue was because of a bug in verilator.05:01
*** rohitksingh has quit IRC05:06
*** rohitksingh has joined #litex05:18
*** _whitelogger has quit IRC05:24
*** _whitelogger has joined #litex05:26
*** rohitksingh has quit IRC05:36
*** rohitksingh has joined #litex05:37
*** _whitelogger has quit IRC06:42
*** _whitelogger has joined #litex06:44
*** tmichalak has joined #litex07:21
*** rohitksingh has quit IRC08:01
*** rohitksingh has joined #litex08:32
*** rohitksingh_ has joined #litex08:38
*** rohitksingh has quit IRC08:39
*** rohitksingh_ has quit IRC08:42
*** rohitksingh has joined #litex08:45
*** rohitksingh has quit IRC08:48
*** rohitksingh has joined #litex08:49
*** pbinkowski has joined #litex09:13
*** rohitksingh has quit IRC09:14
pbinkowskihi all09:43
pbinkowskiI'm working on enhancing liteeth to allow both SoftCPU and IP cores (Etherbone core etc.) access to the same MAC/PHY09:45
pbinkowskiI'd like to test my changes with the litex-buildenv firmware (it supports telnet so that should be a nice check) but I can't get the HW Ethernet cores working in litex-buildenv09:47
pbinkowskiI've modified my target to only instantiate the Etherbone core in a similar way to how it is done in mainline Litex Arty target09:50
pbinkowskibut I cant get it to respond to pings and ARP requests09:50
pbinkowskiall I get is a single ARP response just after loading the bitstream on the board and then it goes quiet09:51
pbinkowskiIf someone wants to take a look, my code is located here https://github.com/antmicro/litex-buildenv/blob/hdmi2eth-hw-accel/targets/netv2/net.py#L6409:52
tpbTitle: litex-buildenv/net.py at hdmi2eth-hw-accel · antmicro/litex-buildenv · GitHub (at github.com)09:52
pbinkowskiI'm using the latest LiteEth/Litex-buildenv code09:54
pbinkowskiI've heard that issue similar to this already appeared in the past, so if anyone has any ideas what I can try to fix this now then please share09:57
pbinkowskiI think I will start with trying to bump the Litex submodule in buildenv as it is pretty far behind the current master09:58
pbinkowskioh, and I forgot to mention that I've already tested the current mainline Litex and Etherbone core works fine there10:01
pbinkowskilooks like bumping litex did the trick :)10:19
*** scanakci has quit IRC10:31
*** HEGAZY has joined #litex10:35
*** m4ssi has joined #litex11:26
*** HEGAZY has quit IRC12:41
_florent_pbinkowski: sorry a bit late, but it's possible your issue was related to https://github.com/enjoy-digital/litex/commit/a26853702c109fb4e650ef2d53cfd631a4bec32813:10
tpbTitle: soc/interconnect/packet/Depacketizer: use both sink.valid and sink.re… · enjoy-digital/litex@a268537 · GitHub (at github.com)13:10
_florent_otherwise that would indeed be an interesting feature, how are you planning to share the MAC/PHY between CPU and IP Core?13:18
pbinkowski_florent_: my idea is to add a crossbar between LiteEthMACCore and LiteEthMACWishboneInterface/Packetizer&Depacketizer13:22
pbinkowskithat crossbar will send all incoming data to both CPU and IP13:22
pbinkowskibut it will arbitrate outgoing traffic between the IP and CPU13:23
pbinkowskiby monitoring stream valid and last signals13:24
pbinkowskiie. when core has data valid then it will be granted access to output path until a data word with `last` flag is seen13:25
pbinkowskibut I think that my current code will still need some more work as I don't think that I'm handling data width, endianness and last_be vs last correctly13:29
pbinkowskiIf you want to take a look then the WIP code is here https://github.com/antmicro/liteeth/blob/hw-sw-shared-phy/liteeth/mac/__init__.py13:31
tpbTitle: liteeth/__init__.py at hw-sw-shared-phy · antmicro/liteeth · GitHub (at github.com)13:31
_florent_pbinkowski: with this architecture, the CPU will need to also read and discard packets that are going to the IP and it will not be able to do it as fast as the IP13:45
_florent_when i was thinking about doing that, i was thinking having 2 separate MAC addresses for the CPU and the IP, share the MAC/PHY but add a crossbar on top of the LiteEthMACCore to redirect streams according to MAC addresses for RX and do the arbitration for TX.13:47
_florent_this way, the CPU only receives its own packets and don't waste CPU cycles decoding packets that are for it and the IP can still use alsmost the full bandwidth13:51
_florent_would that make senses for you application?13:51
pbinkowski_florent_: I think that this will fit nicely as currently I'm already using different MAC addresses for CPU and IP13:52
pbinkowskiI will just need to figure out a filtering scheme as I see for example ARP requests use target MAC address of 00:00:00:00:00:0013:53
_florent_pbinkowski: ok good, i'm going to have a closer look at your code. BTW this is something that should simulate nicely with litex_sim and ethernet support to speed up dev13:53
_florent_pbinkowski: indeed, for ARP you can redirect the packet to both and only the one concerned will answer13:56
_florent_ok so your solution seems very similar the one i was describing, it's just that there is no MAC filtering for the RX. But the MAC filtering could be an option that we enable or not, so you can probably continue with your solution and add MAC filtering later if that's really needed.14:00
pbinkowski_florent_: ok, so I will try to get what I have currently to work and if I encounter any performance issues then I will add MAC filtering14:01
pbinkowskithanks for help!14:01
_florent_yes that sounds good. That will be a very useful feature to combine CPU flexibility and IP performance14:05
*** scanakci has joined #litex14:14
*** HEGAZY has joined #litex14:41
*** HEGAZY has quit IRC16:48
*** HEGAZY has joined #litex16:56
*** HEGAZY has quit IRC17:41
*** HEGAZY has joined #litex18:13
*** CarlFK has quit IRC18:30
*** HEGAZY has quit IRC18:41
*** CarlFK has joined #litex19:01
*** m4ssi has quit IRC21:22
*** HEGAZY has joined #litex22:07
futarisIRCcloudhttps://groupgets.com/campaigns/710-orangecrab22:54
tpbTitle: OrangeCrab | GroupGets (at groupgets.com)22:54
*** CarlFK has quit IRC23:57

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!