Tuesday, 2022-09-27

*** tpb <[email protected]> has joined #litex00:00
*** Degi <[email protected]> has quit IRC (Ping timeout: 244 seconds)00:04
*** Degi_ <[email protected]> has joined #litex00:04
*** Degi_ is now known as Degi00:04
*** nickoe <[email protected]> has quit IRC (Quit: Client closed)01:37
*** nickoe <[email protected]> has joined #litex01:38
*** Degi_ <[email protected]> has joined #litex04:01
*** Degi <[email protected]> has quit IRC (Ping timeout: 250 seconds)04:03
*** Degi_ is now known as Degi04:03
*** slagernate <[email protected]> has quit IRC (Quit: Client closed)04:05
*** nickoe <[email protected]> has quit IRC (Quit: Client closed)04:25
*** nickoe <[email protected]> has joined #litex04:26
*** cr1901 <cr1901!~cr1901@2601:8d:8600:911:5485:20e1:cdc4:b4f2> has quit IRC (Read error: Connection reset by peer)04:48
*** FabM <FabM!~FabM@2a03:d604:103:600:2e60:8c7c:e8fb:7990> has joined #litex06:04
*** cr1901 <cr1901!~cr1901@2601:8d:8600:911:560:ea8a:1221:40d4> has joined #litex06:49
*** Brinx <[email protected]> has quit IRC (Remote host closed the connection)08:16
*** Brinx <[email protected]> has joined #litex08:45
*** Brinx <[email protected]> has quit IRC (Remote host closed the connection)08:48
*** Brinx <[email protected]> has joined #litex08:49
*** Brinx <[email protected]> has quit IRC (Ping timeout: 264 seconds)08:54
tntA bit more details tracing my PCIe issue : In the "bad" case, I sometime get almost 5 ms (so basically forever at this timescale) between two consecutive litepcie_writel() 09:01
tntIn the "good" case, I observe an absolute max of 5 us between two consecutive access (so 1000x less !)09:02
*** nickoe <[email protected]> has quit IRC (Quit: Client closed)09:08
*** nickoe <[email protected]> has joined #litex09:09
*** Brinx <[email protected]> has joined #litex09:21
tntThere seem to be one such insanely slow access every 120 ms09:33
*** Brinx <[email protected]> has quit IRC (Remote host closed the connection)09:37
*** Brinx <[email protected]> has joined #litex09:38
*** Brinx <[email protected]> has quit IRC (Ping timeout: 246 seconds)09:46
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)10:05
*** TMM_ <[email protected]> has joined #litex10:05
*** Brinx <[email protected]> has joined #litex10:35
*** Brinx <[email protected]> has quit IRC (Remote host closed the connection)10:37
minutehmm, looks like spiflash_read_status_register() is unreliable somehow11:21
minutei have some code that erases flash sectors and polls spiflash_read_status_register(), and i can see that the erases are not complete, only the first ~half of the 4096 byte regions are erased11:22
minuteif i do the erase manually one 4096b sector at a time, it works11:22
*** nickoe <[email protected]> has quit IRC (Quit: Client closed)11:30
*** nickoe <[email protected]> has joined #litex11:30
zyphave you checked that the erase size is correct for your flash?11:53
minutezyp: yep, it's 25Q128JV11:56
minuteW25Q128JVS11:56
minutezyp: i've now switched to 64kb erase command, and it's going much too quick... i.e. there's something wrong with reading the busy flag11:57
minuteso i'm gonna printf debug the read status register 1 responses11:58
minutei'm using code that's almost identical to https://github.com/butterstick-fpga/dfu-runtime-soc/blob/3407f80497151498a7dc21c1e58cf73668e0d02f/firmware/flash.c11:59
minuteok so the existing code returns the second byte of the read status response, but the status is actually in the first byte12:20
*** nickoe17 <[email protected]> has joined #litex12:29
zypthe first byte is whatever is shifted in while the command byte itself is shifted out12:31
zypunless your approach is different from the others12:31
*** nickoe <[email protected]> has quit IRC (Ping timeout: 252 seconds)12:33
minutezyp: then there's something weird going on with the timing perhaps12:40
minutei'm getting 0x43/0x40, 0xff in the transfer buffer after an erase command12:41
minutebut also, they transfer the erase command followed by a zero byte for some reason12:42
minutesorry, not true12:42
minutethey transfer the read status register command followed by a zero byte12:42
minuteok that makes sense12:42
zypyes, spi is bidir, you shift two bytes in total, first byte is command out and dummy in, second byte is dummy out and status in12:54
minutethanks for explaining... so it appears that sometimes things can get out of phase?12:56
zypit really shouldn't12:57
*** Brinx <[email protected]> has joined #litex12:57
*** Brinx <[email protected]> has quit IRC (Remote host closed the connection)12:58
*** Brinx <[email protected]> has joined #litex12:58
tntIs litescope "trigger_depth" the "pre-trigger" ?13:26
tnt(i.e ideally I'd like to have the trigger centered, with N samples before trigger and N samples after the trigger)13:27
minuteok, i've got this kintex-7 to load litex bitstream from spi flash. it's very slow though, seems like ConfigRate is at 3mpbs? 14:23
minutehow can i set the bitstream ConfigRate for series 7/vivado? bitgen_opt doesn't exist14:24
minutei guess this has to go into the constraints14:24
*** Guest1392 <[email protected]> has joined #litex14:26
minuteaha mhm https://github.com/timvideos/litex-buildenv/issues/7914:27
*** Brinx <[email protected]> has quit IRC (Remote host closed the connection)14:45
*** Brinx <[email protected]> has joined #litex14:46
*** Brinx <[email protected]> has quit IRC (Ping timeout: 244 seconds)14:50
*** Guest1392 <[email protected]> has quit IRC (Quit: Client closed)15:35
*** Brinx <[email protected]> has joined #litex15:44
*** Brinx <[email protected]> has quit IRC (Ping timeout: 265 seconds)15:48
minutewas there already any work done on getting DMA memory copying in linux? i.e. for scrolling in the framebuffer15:49
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 268 seconds)16:21
*** Brinx <[email protected]> has joined #litex16:40
*** SpaceCoaster <SpaceCoaster!~derek@user/spacecoaster> has quit IRC (Ping timeout: 265 seconds)16:46
*** SpaceCoaster <SpaceCoaster!~derek@user/spacecoaster> has joined #litex17:07
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)17:30
*** TMM_ <[email protected]> has joined #litex17:30
minuteat 150mhz and 4 cores i'm getting random crashes during linux boot, now checking if that's due to smp or 150 vs 100 mhz17:49
minuteback to 100mhz but still at 4 cores, it gets to init but then > [   17.008844] ln[69]: unhandled signal 11 code 0x1 at 0x2b66a0d4 in ld-linux-riscv32-ilp32.so.1[95b64000+21000]17:55
*** slagernate <[email protected]> has joined #litex18:15
slagernateanyone want to help me get a simple litex demo working? https://github.com/enjoy-digital/litex/issues/144118:16
slagernate;)18:16
*** slagernate <[email protected]> has quit IRC (Quit: Client closed)18:20
*** FabM <FabM!~FabM@2a03:d604:103:600:2e60:8c7c:e8fb:7990> has joined #litex18:24
*** slagernate <[email protected]> has joined #litex18:46
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 246 seconds)18:56
minuteyeah sigh smp appears broken somehow... linux works fine with only 1 cpu in the dtb, but if the 4 cores are active, init crashes19:02
minute> [   16.680009] init[1]: unhandled signal 11 code 0x1 at 0x00000000 in busybox[69355000+df000]19:09
minutestrangely, dual core works19:29
tntslagernate: huh ... how is that supposed to boot ?19:34
tntLRAM can't be initialized IIRC.  And there is no flash ... so what do you expect the CPU to execute ?19:35
minutenot stable though @ 2 cores, udhcpc kills everything19:35
tntOr does it create ROM automatically ?19:36
slagernateWhere does it say LRAM can't be initialized? The memory usage guide for the nexus platform (https://www.latticesemi.com/view_document?document_id=52785) on page 77 says "In each memory mode, it is possible to specify the power-on state of each bit in the memory array. This allows the memory to be used as ROM if desired."19:57
slagernateI mean, my assumption was that the target/lattice_crosslink_nx_evn.py file was already working and didn't have any egregious flaws19:59
slagernateThere are lattice_crosslink_nx_evn_[mem/rom].init files in the gateware directory --my assumption was that these were packed into the .bit file, but I could be terribly wrong (maybe gatecat can comment)20:00
tntOk, my bad, I thought the LRAM had the same limitation than the SPRAM in the UP5k.20:04
tntBut you're probably the second person, maybe third to try the crosslink nx most likely ...20:04
slagernateAll good. Yeah, true, I guess [porting litex to the crosslink NX](https://github.com/enjoy-digital/litex/issues/618) should be reopened. CC tcal alanvgreen _florent_ See: https://github.com/enjoy-digital/litex/issues/1441. Going to try an external UART and get back to you tho20:12
*** slagernate <[email protected]> has quit IRC (Quit: Client closed)20:32
*** Brinx <[email protected]> has quit IRC (Remote host closed the connection)20:47
*** Brinx <[email protected]> has joined #litex20:47
*** Brinx <[email protected]> has quit IRC (Ping timeout: 252 seconds)20:52
*** slagernate <[email protected]> has joined #litex21:06
minutedid something change in liteeth that breaks the linux driver?21:07
minutesystem basically freezes now when interacting with eth0 and it used to work fine21:08
tcalYes, I do recall bringing up LiteX on an EVN board a couple of years ago, using an external UART.   I was quite new at these things at the time.   I remember it being somewhat confusing writing to flash, then resetting it using a button?  Or power cycling it?   Or possibly with another ecpprog option, writing the bitstream to RAM config storage.   It's pretty blurry...21:10
tcalslagernate: ^^21:11
minutewhen interacting with liteeth from linux, i get after a while a > [  288.331419] rcu: INFO: rcu_sched detected stalls on CPUs/tasks:21:12
slagernatetcal I see. The native crosslinknx eval board uart isn't working, so I will try an external UART21:37
slagernateTo be clear, I can program the fpga well (the LED chaser output is working)21:38
tcalOh, I realized that my prior experience wasn't using the litex-boards target file, but an older version of building a LiteX SoC (anyone remember lxbuildenv.py?).   We did use the litex-boards platform file for the EVN board though.21:48
tcalWait, another thing occurred to me...there is a Yosys issue that causes our current design on the LIFCL-17 to not work.   https://github.com/YosysHQ/yosys/issues/3416   21:53
slagernateI'm actually using lattice radiant (LSE synthesis tool, not synplify pro)21:56
slagernatebut I suspect my setup will work once a try a different (external) UART21:57
slagernatehow has working with LIFCL-17 (CrosslinkNX FPGA) been for you tcal? Am planning to use it extensively22:06
tcalAh yes, I'd forgotten about the choices you have with Nexus.  LiteX even supports a Yosys (synth) --> Radiant (P&R) flow.   We haven't used Radiant synthesis for quite a while since there was an issue where it wouldn't let us use all of the EBRs.     As for the LIFCL-17 itself, it's a  good fit for our use case -- a pretty good balance of RAM, DSP blocks, and logic cells. 22:13
*** nickoe17 <[email protected]> has quit IRC (Quit: Client closed)22:28
*** nickoe17 <[email protected]> has joined #litex22:28
slagernateGlad to hear it's working acceptably well23:06

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