Sunday, 2021-06-20

*** tpb <[email protected]> has joined #litex00:00
*** keesj1 <[email protected]> has joined #litex00:53
*** Coldberg <[email protected]> has quit IRC (Ping timeout: 252 seconds)01:24
*** Degi_ <[email protected]> has joined #litex02:42
*** Degi <[email protected]> has quit IRC (Ping timeout: 264 seconds)02:43
*** Degi_ is now known as Degi02:43
*** aquijoule_ <[email protected]> has joined #litex02:54
*** richbridger <[email protected]> has quit IRC (Ping timeout: 264 seconds)02:57
_florent_tnt: tick being 32-bit is indeed clearly a refactoring typo, I just fixed it. But even with this, it indeed seems the UART TX has trouble meeting timing on the iCEBreaker, that's also probably related to the refactoring and easy to fix but I'll wait to have access to my iCEBreaker tomorrow to look at it.07:05
tnt_florent_: I fixed the typo here locally already but indeed still an issue. I temporarely set the phase to 16 bit to make it work here in the meantime.07:17
tntHowever when looking in detail at the path, it seems nextpnr is doing weird things with that carry chain and doesn't keep it where it should leading to lots of unnecessary delays. gatecat said they would take a look at it.07:18
tntbecause a 33b adder should be fine and meet timing.07:19
tntSomething else I'd recommend for the up5k example btw is to switch to the minimal variant of the vex by default. The fomu example for instance is like 120% full by default ...07:19
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)09:20
*** TMM_ <[email protected]> has joined #litex09:20
*** xfxf <[email protected]> has joined #litex09:42
*** Coldberg <[email protected]> has joined #litex10:03
tntWhat are the example supposed to do btw ?  I see the banner printed on serial https://pastebin.com/n2irUZtg  but I thought there was a command prompt ?10:43
tpbTitle: __ _ __ _ __ / / (_) /____ | |/_/ / /__/ / __/ - - Pastebin.com (at pastebin.com)10:43
cr1901Looks like it's crashing. I've seen this before, but I forget the solution :/10:54
cr1901tnt: If you repeatedly reset the example (I think pushbutton should work), does the character at which the BIOS dies changes?10:55
tntcr1901: No, always the same.10:56
cr1901I wonder if the UART FIFO is getting in a state where the transmitter thinks it's empty, but the CPU thinks it's full10:57
cr1901https://github.com/enjoy-digital/litex/issues/779 icebreaker uses FTDI, so the linked issue won't be equivalent, but I do wonder if it's another "UART FIFO sync" issue11:00
tntDon't think so. I tried adding a printf at the beginning of crcbios() and I see that. But I don't see the  BIOS CRC passed /  BIOS CRC failed.11:03
tntseems to crash at any printf that's not "constant". (i.e. not optimized to a puts() )11:31
tntSo something is definitely very wrong somewhere.11:31
geertutnt: Yes, there's something strange going on with printf(). Perhaps stack corruption?11:39
tntgeertu: mmm, interesting theory. I'm not even sure where litex puts the stack tbh.11:40
tntAh so, I removed the kwargs["cpu_variant"] = 'minimal' which I had added to use a smaller vex and now it goes further. It does get to the prompt.  I can't _type_ anything, it just seems frozen there though.11:42
tntWhere is the linker script that gets used ?12:10
tntThere are "parts" in the build/ directory ./include/generated/{regions,output_format}.ld but that's obviously not complete and I can't find the rest.12:10
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)12:32
*** TMM_ <[email protected]> has joined #litex12:32
_florent_tnt: https://github.com/enjoy-digital/litex/commit/d6f24f2f68285b72d9345b5d25cb4cf56da3c87c should fix the timing issue12:36
_florent_Otherwise, for the BIOS issue, it could be that you compiled it for the standard variant and then build the minimal, just be sure to do a rm -rf build before12:38
_florent_But Jedrzeg also saw an issue with VexRiscv minimal recently: https://github.com/enjoy-digital/litex/issues/93712:38
_florent_not sure it was related to a dirty build directory, or if VexRiscv minimal is really broken12:39
_florent_On the iCEBreaker, serv is also a nice option: --cpu-type=serv12:39
*** lkcl <[email protected]> has quit IRC (Ping timeout: 268 seconds)12:40
tnt_florent_: trying that patch now.12:44
tnt_florent_: SERV is very slow however ... I want to get a base system up so I can try to add a litex wrapper for my usb core so I'd like a decent speed to run the stack.12:44
*** Coldberg <[email protected]> has quit IRC (Ping timeout: 265 seconds)12:46
tnt_florent_: ok, so that patch definitely improved things. Doesn't meet timing ( 20 vs 24 ) but at least it's much better and I expect that to run fine.12:50
tntAnd seems like rm -Rf helped too, now the bios has a working prompt both with the default and the minimal variant.12:51
tntThanks !12:52
gatecat_florent_: what do you think about litex storing the cpu&variant in a text file in the software dir and automatically deleting all object files if it has changed?12:52
*** lkcl <[email protected]> has joined #litex12:53
gatecatthis bug has bitten me before, also seen very weird and hard to debug linker failures when moving between a 32bit core and and 64bit core 12:53
gatecatagain because of the software dir being out of date12:53
tntWhat got me is that it seems to rebuild "some" things when even just doing --flash so I thought it reubuilt the whole sw but I guess not everything.13:04
_florent_gatecat: We should definitely do something yes, I just created https://github.com/enjoy-digital/litex/issues/950 and will work on it next week13:19
gatecatthanks!13:19
*** lkcl <[email protected]> has quit IRC (Ping timeout: 252 seconds)13:42
*** shorne <[email protected]> has quit IRC (Ping timeout: 252 seconds)13:51
*** lkcl <[email protected]> has joined #litex13:54
tntOuch ... ice40 pll support in litex is minimal.14:27
tntIs  `self.bus.add_slave("usb", self.usb.bus, SoCRegion(size=16*kB, cached=False))` ? The correct way to connect an IO peripheral ?15:04
*** pftbest <pftbest!~pftbest@2a01:4f8:c17:6afc::1:2> has quit IRC (Remote host closed the connection)16:06
*** pftbest <pftbest!~pftbest@2a01:4f8:c17:6afc::1:2> has joined #litex16:08
*** pftbest <pftbest!~pftbest@2a01:4f8:c17:6afc::1:2> has quit IRC (Remote host closed the connection)16:35
*** Coldberg <[email protected]> has joined #litex16:58
*** lkcl <[email protected]> has quit IRC (Ping timeout: 265 seconds)17:02
*** pftbest <pftbest!~pftbest@2a01:4f8:c17:6afc::1:2> has joined #litex17:12
*** lkcl <[email protected]> has joined #litex17:15
*** lkcl <[email protected]> has quit IRC (Ping timeout: 265 seconds)17:33
*** lkcl <[email protected]> has joined #litex17:46
tnt\o/ Got the core wrapped properly (well ... AFAIK) and enumerating19:29
tnt(ok, well I may have claimed victory a bit early ... it enumerates but something is obviously wrong)19:30
tntNo ... I think the cpu is just so slow executing from flash that it was causing the OS to timout when probing the MSC disc.19:41
tntNow something I could use help with is how to best package it. That's basically the source : https://pastebin.com/pUVPZ3wA19:50
tpbTitle: class NitroUSB(Module): def __init__(self, platform, pads, width=32, evt_ - Pastebin.com (at pastebin.com)19:50
tntObviously the hardcoded `no2usb_path = ` gotta go.  Another issue is that right now I need to manually copy a bram init file into the build dir before the build so that yosys finds it.19:51
tntI didn't really see an equivalent to 'add_source' to get litex to be able to generate and copy a data file at the right spot.19:51
nickoetnt: what are you doing? (I have not read the complete backlog)19:54
tntI was wrapping my usb device core to make it usable in LiteX SoCs.19:59
*** shorne <[email protected]> has joined #litex21:17
*** pftbest <pftbest!~pftbest@2a01:4f8:c17:6afc::1:2> has quit IRC (Remote host closed the connection)21:23
*** pftbest <pftbest!~pftbest@2a01:4f8:c17:6afc::1:2> has joined #litex21:24
*** Coldberg <[email protected]> has quit IRC (Ping timeout: 265 seconds)21:28
*** Coldberg <[email protected]> has joined #litex22:01
*** pftbest <pftbest!~pftbest@2a01:4f8:c17:6afc::1:2> has quit IRC (Remote host closed the connection)22:44
*** pftbest <pftbest!~pftbest@2a01:4f8:c17:6afc::1:2> has joined #litex23:06
*** pftbest <pftbest!~pftbest@2a01:4f8:c17:6afc::1:2> has quit IRC (Remote host closed the connection)23:23

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