Friday, 2020-03-13

*** tpb has joined #litex00:00
*** HEGAZY has quit IRC00:50
*** HEGAZY has joined #litex01:17
*** HEGAZY has quit IRC01:24
*** CarlFK has joined #litex03:37
*** scanakci has quit IRC04:31
*** m4ssi has joined #litex07:49
*** HEGAZY has joined #litex10:57
*** HEGAZY has quit IRC11:19
*** HEGAZY has joined #litex11:23
Claudetempting...11:40
*** HEGAZY has quit IRC12:37
pbinkowski_florent_: I have an initial version of the crossbar working, it already supports basic MAC filtering - if RX packet destination MAC is the one assigned to IP cores then it is not forwarded to SoftCPU14:57
pbinkowskiall other packets are forwarded to both SoftCPU and IP cores14:57
pbinkowskiSimulation shows that this simple scheme works correctly and CPU is not bothered with packets meant for the HW accelerated part14:58
pbinkowskiIf you want to take a look then the code is here https://github.com/antmicro/litex/tree/hybrid-mac and here https://github.com/antmicro/liteeth/tree/hw-sw-shared-phy14:59
tpbTitle: GitHub - antmicro/litex at hybrid-mac (at github.com)14:59
pbinkowskiand this also works on NeTV2 in litex-buildenv ie. I can ping the Etherbone core while being connected to HDMI2USB firmware telnet console15:00
pbinkowski_florent_: btw. do you know of any more recent attempts at streaming video using HW accelerated LiteEth cores?15:02
pbinkowskibecause I saw this https://github.com/timvideos/litex-buildenv/blob/master/gateware/streamer/rtp.py15:03
tpbTitle: litex-buildenv/rtp.py at master · timvideos/litex-buildenv · GitHub (at github.com)15:03
_florent_pbinkowski: nice! i'm not able to have a closer look at the code right now, but will do it very soon15:03
pbinkowskibut it seems fairly old15:03
_florent_yes it seems old and just a proof of concept15:04
_florent_IIRC think Greg did something some video streaming with LiteETH, i'll try to find that15:05
_florent_i think he used the tty frontend as a basis15:05
pbinkowskigreat! If you find something then let me know15:07
_florent_https://github.com/gregdavill/ButterStick/tree/master/gateware/GigE15:08
tpbTitle: ButterStick/gateware/GigE at master · gregdavill/ButterStick · GitHub (at github.com)15:08
*** CarlFK has quit IRC18:22
*** m4ssi has quit IRC18:25
somlo_florent_: in litesdcard/phy.py, there's several places testing 'if hasattr(pads, "clkfb"): ...' (e.g., https://github.com/enjoy-digital/litesdcard/blob/master/litesdcard/phy.py#L573 but there's a bunch more)18:32
tpbTitle: litesdcard/phy.py at master · enjoy-digital/litesdcard · GitHub (at github.com)18:32
somlobut clkfb isn't a subsignal in any of the platforms I could find, neither in litex nor in litex-boards18:33
somloany memory of why that ended up being tested for, originally?18:33
*** CarlFK has joined #litex18:37
_florent_somlo: indeed, it's not used in the examples, but i was using it on others designs. It's used on designs with a high clock freq and with 3.3v <--> 1.8V level translator between the FPGA and the SDCard. The chip is generating a clock feedback (which is a phase shift version of the one sent by the FPGA) that ease the sampling of returned data in the FPGA.18:39
somlo_florent_: ok, thanks! (Reason I asked is that it's instantiating an "IBUFG" on Xilinx, and I was hoping I won't have to figure out the ecp5 equivalent to preserve compatibility :D )18:41
daveshahThere isn't actually an ECP5 equivalent really18:42
daveshahJust use a regular input and hope it becomes a global buffer18:42
_florent_somlo: it's only used on very specific designs, you can avoid implementing this part for ECP5.18:42
somloso if an "i" is connected to an "o" via an "IBUFG", just assign them on ecp5 instead and hopefully we'll be OK?18:43
daveshahYeah18:43
somlodaveshah, thanks!18:43
somlo_florent_: there's also 'if not hasattr(pads, "clkfb"): ...' elsewhere, so in the absence of better clue and for defensive coding I don't want to presume there will *never* be a 'clkfb' pad :) But I'm just beginning to get my bearings, so maybe with more clue later down the road I'll be a bit less defensive :D18:45
_florent_you can keep the if hasattr(pads, "clkfb") parts, but just raise NotImplementedError in it :)18:46
somlook, I should have come up with that on my own, but for some sad reason didn't :D18:50
somlodaveshah: when porting from Xilinx IDDR to ecp5 IDDRX1F, if the former has DDR_CLK_EDGE="SAME_EDGE_PIPELINED", I'm assuming that means I want IDDRX1F output Q0 (data at positive edge of clock), and *not* Q1 (data at negative clock edge), which would match DDR_CLK_EDGE="OPPOSITE_EDGE" -- am I making sense?19:24
daveshahI think so, but it's been a while since I looked at DDR stuff19:39
*** somlo has quit IRC19:42
*** somlo has joined #litex19:58
*** HEGAZY has joined #litex20:02
*** m4ssi has joined #litex20:06
*** m4ssi has quit IRC20:17
*** HEGAZY has quit IRC20:18
*** HEGAZY has joined #litex20:25
*** m4ssi has joined #litex20:29
somlodaveshah: I think I figured it out eventually: https://pastebin.com/QMx05axZ20:42
tpbTitle: [Python] # Cmd input DDR self.specials += Instance("IDDR", - Pastebin.com (at pastebin.com)20:42
daveshahI think that's correct20:43
somloon xilinx, Q2 is the data at the negative clock edge, so I want Q1 on ecp520:43
somlook, thanks for confirming20:43
daveshahI also seem to remember that ECP5 is effectively always in SAME_EDGE_PIPELINED mode20:44
somloI think in the case of litesdcard the [_pipelined] part doesn't matter, as we're discarding xilinx Q1 (which is ecp5 Q0)20:45
somloit's the same_edge portion that's important20:46
daveshahYep20:46
somlook, I think the phy part has a chance now, now I gotta come up with a "SDClockerECP5"...20:48
awyglelitesdcard supports more than just the SPI mode, right?21:13
_florent_awygle: it's only supporting 4-bit SD mode21:21
awyglei see21:22
awygleare you at all concerned about the sd association licensing?21:22
_florent_not really for now, this is just a small project to interface a SoC with SD cards and have better speeds than using SPI mode21:32
*** scanakci has joined #litex21:54
*** HEGAZY has quit IRC22:35

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