Sunday, 2021-03-07

*** tpb has joined #litex00:00
*** rozpruwacz has joined #litex00:02
*** kgugala_ has quit IRC00:02
*** kgugala has joined #litex00:03
*** lkcl has quit IRC00:03
*** pftbest has quit IRC00:16
*** pftbest has joined #litex00:16
*** lkcl has joined #litex00:17
pftbestzyp: i have the same exact problem! please ping me if you find how to fix this00:29
*** rozpruwacz has quit IRC00:55
*** lf has quit IRC00:56
*** lf has joined #litex00:57
*** TMM has quit IRC01:13
*** TMM has joined #litex01:13
*** kgugala has quit IRC01:16
*** kgugala has joined #litex01:16
*** lkcl has quit IRC02:07
*** lkcl has joined #litex02:20
*** Degi_ has joined #litex03:07
*** Degi has quit IRC03:08
*** Degi_ is now known as Degi03:08
*** _whitelogger has quit IRC05:18
*** _whitelogger has joined #litex05:20
*** lkcl has quit IRC05:23
*** lkcl has joined #litex05:36
*** futarisIRCcloud has quit IRC07:27
*** lkcl has quit IRC07:50
*** lkcl has joined #litex08:02
*** Bertl is now known as Bertl_zZ08:23
*** _whitelogger has quit IRC08:39
*** _whitelogger has joined #litex08:41
*** lkcl has quit IRC09:06
*** lkcl has joined #litex09:18
Melkhior_florent_ For the Arrow Deca board I've tried to put the pinouts from the documentation in a Platform file (completely untested!): https://github.com/rdolbeau/litex-boards/blob/deca/litex_boards/platforms/arrow_deca.py09:37
_florent_Melkhior: nice, thanks. A first version by hansfbaier has already been merged in litex_boards, both are probably complementary, we should try to merge them10:16
Melkhiordarn didn't notice :-)10:16
Melkhiorcopy/pasting from the documentation is the one thing I can do ;-)10:17
_florent_:) It will probably still be useful and can help catching errors10:18
Melkhioranyway getting the board at $37 was a good move, as they're now listed as 'quote' :-(10:18
_florent_indeed, I also received mine BTW10:19
Melkhiorexcellent :-)10:20
MelkhiorI also see a targets for deca, is it usable yet ? Though the question is more 'what can you do with LiteX when there's no external memory' I suppose ; i've only ever tried Linux but there's probably some use case that can run out of the FGPA on-board memory I guess.10:22
zyp_florent_, any suggestions for how to troubleshoot etherbone? I'm running the ecpix5 example from litex-boards, slightly modified to call add_etherbone() instead of add_ethernet(), but it's not responding to ARP and it's also not responding to ICMP when manually inserting an entry into the ARP table10:35
*** pftbest_ has joined #litex11:17
*** pftbest has quit IRC11:21
*** shorne_ has joined #litex12:03
*** shorne has quit IRC12:04
shorne_Hello, On my arty board I switched on etherbone to try to use litescope12:05
shorne_However, as expected, the netbooting no longers works12:05
shorne_I tried to boot from sdcard and for somereason it hangs after trying to read boot.json12:06
shorne_I am probably having issues partitioning/formatting the sdcard correctly12:06
shorne_any suggestions on alternative boot methods?  Is there a way to load an image over etherbone?  I could write a program to do it, but i assume somethign already exists12:07
shorne_trying litex_term now12:10
*** rozpruwacz has joined #litex12:54
MelkhiorHello,13:06
MelkhiorSo I got a bitstream for the MAX10, and it seems OK (including programming) as I see the LEDs do their thing.13:06
MelkhiorBut I don't know how to see if there's anything on the serial  port, as in the target file it's defined as 'jtag atlantic' and I don't know what that is.13:06
MelkhiorI seem to have a 'new' tty that showed up when I plugged the USB cable for the usb blaster, but it doesn't display anything in minicom at 115200 or 100000013:06
MelkhiorAny suggestion ? Or maybe I shouldn't expect anything on the TTY as there's no memory for the BIOS code to run in ?13:06
Melkhior(that's the MAX10 on the Deca board)13:07
MelkhiorI see lxterm has a --jtag-name that can take 'jtag_atlantic' as an option, but not sure what 'device' to give it13:25
*** pftbest_ has quit IRC13:32
*** pftbest has joined #litex13:44
*** somlo has quit IRC14:15
MelkhiorWell, didn't figure it out so I just replaced the 'jtag_atlantic' thing by a 'normal' liteuart on a couple of pins in the P8 header (in {targets,platforms}/deca.py) and it worked perfectly :-)14:20
Melkhior--=============== SoC ==================--14:20
MelkhiorCPU:            VexRiscv @ 50MHz14:20
MelkhiorBUS:            WISHBONE 32-bit @ 4GiB14:20
MelkhiorCSR:            32-bit data14:20
MelkhiorROM:            32KiB14:20
MelkhiorSRAM:           8KiB14:20
*** rozpruwacz has quit IRC14:28
*** somlo has joined #litex14:32
*** rozpruwacz has joined #litex14:43
zyp_florent_, is it still not possible to run etherbone with dw>8?15:02
zypI found out it works if I up the sysclk to 125MHz (except then I have problems meeting timing), but upping the dw to LiteEthIPCore doesn't seem to work15:04
*** Bertl_zZ is now known as Bertl15:06
*** TMM has quit IRC15:48
*** TMM has joined #litex15:48
*** tumbleweed has quit IRC17:17
*** SpaceCoaster has quit IRC17:17
*** awygle has quit IRC17:17
*** key2 has quit IRC17:17
*** davidlattimore has quit IRC17:17
*** gatecat has quit IRC17:17
*** esden has quit IRC17:17
*** rohitksingh has quit IRC17:17
*** guan has quit IRC17:17
*** the_jinx has quit IRC17:17
*** tumbleweed has joined #litex17:17
*** davidlattimore has joined #litex17:18
*** key2 has joined #litex17:18
*** gatecat has joined #litex17:18
*** esden has joined #litex17:18
*** guan has joined #litex17:18
*** the_jinx has joined #litex17:18
*** rohitksingh has joined #litex17:19
*** SpaceCoaster has joined #litex17:19
*** awygle has joined #litex17:19
*** nats` has quit IRC17:21
*** jryans has quit IRC17:21
*** disasm[m] has quit IRC17:21
*** promach3 has quit IRC17:21
*** nats` has joined #litex17:22
*** CarlFK[m] has quit IRC17:23
*** sajattack[m] has quit IRC17:24
*** leons has quit IRC17:24
*** shoragan[m] has quit IRC17:24
*** xobs has quit IRC17:25
*** david-sawatzke[m has quit IRC17:25
*** JJJollyjim has quit IRC17:30
*** jevinskie[m] has quit IRC17:30
*** apolkosnik[m] has quit IRC17:30
*** lkcl has quit IRC17:38
_florent_shorne_: It's possible to do a serialboot over Etherbone, but that's not really fast (so could be an issue in your case with Linux images). If you want to try, you can use --uart_name=crossover --with-etherbone on the arty target.17:40
_florent_then litex_server --udp17:40
_florent_and litex_term bridge17:40
_florent_Another option is to use the Hybrid Ethernet Mac Mode that provides both Ethernet and Etherbone on a different IP address.17:41
_florent_But this is not yet properly integrated in LiteX, so you have to use code similar to this;17:41
_florent_https://www.irccloud.com/pastebin/2zk3vbE0/17:42
tpbTitle: Snippet | IRCCloud (at www.irccloud.com)17:42
_florent_Another option could be to use LiteScope over JTAG17:43
*** jryans has joined #litex17:43
_florent_you would just need to add this to your target:17:44
_florent_self.add_jtagbone()17:44
*** promach3 has joined #litex17:44
_florent_then litex_server jtag --jtag-config=openocd_xc7_ft2232.cfg17:45
_florent_You can find more info here: https://github.com/enjoy-digital/litex/wiki/Use-Host-Bridge-to-control-debug-a-SoC#add-a-jtag-bridge-to-your-soc17:45
*** disasm[m] has joined #litex17:45
_florent_This is probably the option that requires the minimal changes17:45
*** CarlFK[m] has joined #litex17:46
_florent_Melkhior: For the deca, I tested hansfbaier's initial port with litex_term jtag --jtag-name=jtag_atlantic17:47
_florent_But you can also juste use nios2terminal17:47
_florent_juste/just17:48
_florent_zyp: That's already good you got it working at 125MHz, I remember being able to also use a 50MHz clock with Etherbone on the Colorlight17:50
_florent_zyp: This would need to be investigated more17:50
Melkhior_florent_ Thanks. Didn't know about nios2terminal. My workaround w/ litex' own uart worked for me:-)  Now if only there was a memory controller for the DDR3;-)  (someone in eevblog's forum is building one with the Deca as a target, but no idea if the interface will be easy to integrate in Litex...)17:50
_florent_zyp: Eventually with LiteScope17:50
*** lkcl has joined #litex17:52
_florent_Melkhior: Integrating the Altera controller should not be to complicated, I already did that in the past, It would just need a Wishbone/AXI bridge (it's even possible it will already be AXI capable, which would simplify the work).17:53
_florent_Melkhior: Ideally, it would be nice to add a proper PHY in LiteDRAM, but this could be an intermediate solution17:54
zyp_florent_, I've been digging into it and fixed a couple of small things, but I'm still not having any luck with giving LiteEthUDPIPCore dw=16 even at 125MHz18:00
_florent_zyp: not sure 16 has been tested but 8 and 32 have been18:08
zypI tried that too18:08
zypyeah, tried it again, still no ARP18:11
_florent_zyp: ok, I really think this is related to the PHY or reset sequence. That would be interesting to add LiteScope on the PHY source/sink and compare with frames on the Host with Wireshark18:16
zyphow do you figure? phy.dw is hardcoded to 8 so the phy behavior shouldn't differ even if the MAC is set to a different dw18:19
zypI see the width conversion happen in the pipelines in LiteEthMACCore18:20
_florent_I really think this is a low level issue and suspect the packet is already malformed at the phy.source. At least that would be the first thing I would look at, and then add the other source of the stack, up to to the ARP, and then go in the other direction for the returned packet.18:22
_florent_This way, on an isolated network, you can just trigger on phy.source and  see all the layers at once18:23
zypI was hoping to avoid having to set up another wishbone bridge to be able to use litescope :)18:24
zypI just think that since it works for dw=8, the issue should be somewhere above the StrideConverter18:26
*** apolkosnik[m] has joined #litex18:29
*** sajattack[m] has joined #litex18:35
*** leons has joined #litex18:38
*** shoragan[m] has joined #litex18:38
*** xobs has joined #litex18:45
*** david-sawatzke[m has joined #litex18:45
*** JJJollyjim has joined #litex18:51
*** jevinskie[m] has joined #litex18:53
_florent_zyp: that's a good hypothesis, but a design not correctly constrainted or incorrect reset sequence can also produce strange behavior. I'll try also have a look at this tomorrow, that would be nice to have the Etherbone and the hardware UDP/IP working on the ECPIX519:25
zyphmm, litescope is not getting a trigger on arp.rx.sink.valid20:04
pftbestzyp: does your ethcore.mac.core.preamble_errors.status increase for each incoming packet? I get a strange behavior that with one of my routers this number increase for each packet consistently, but it stays 0 with the other router.20:15
pftbestdoesn't work on both of them though, so it's probably not related20:15
pftbestjust a curious thing i noticed20:17
*** pftbest has quit IRC20:21
*** pftbest has joined #litex20:22
zyptools are not super cooperative today and since I'm not getting a trigger on arp.rx.sink.valid, I'm instead looking at some random udp broadcast packet it picked up, and as far as I can see the mac output looks sane with dw=3220:31
shorne__florent_: thanks, I will try some of those options20:40
zypah, here we go, it appears to be an endianness problem20:52
zyphttps://bin.jvnv.net/file/ZJLY6.png20:57
zypethertype should be 0800, not 0045 :)20:57
zypsetting endianness=little when instancing LiteEthMAC in LiteEthIPCore appears to help: https://bin.jvnv.net/file/hADdh.png21:46
zypnow it also replies to pings21:46
shorne__florent_: I got it working over jtag thanks, I will send a PR to add to arty.py21:50
zypetherbone still doesn't appear to work, and flipping endianness in LiteEthEtherboneRecord doesn't appear to help either22:48
zypand it's too late to do more on this tonight22:49
zypbut just getting arp/icmp working is decent progress :)22:49
*** rozpruwacz has quit IRC23:00
*** rozpruwacz has joined #litex23:06
*** rozpruwacz has quit IRC23:32

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