Thursday, 2021-01-14

*** tpb has joined #litex00:00
*** lf_ has quit IRC00:09
*** lf has joined #litex00:09
david-sawatzke[mHi, I've done something with the dram on the colorlite and it doesn't work. Is there any way to simulate Litedram stuff with migen? DRAMMemory sounds promising, but seems to be for internal tests only00:44
*** proteusguy has quit IRC01:06
*** TMM has quit IRC01:07
*** TMM has joined #litex01:08
*** proteusguy has joined #litex01:19
*** futarisIRCcloud has joined #litex02:02
*** Degi_ has joined #litex04:10
*** Degi has quit IRC04:13
*** Degi_ is now known as Degi04:13
*** Bertl_oO is now known as Bertl_zZ04:27
*** hansfbaier has joined #litex05:34
*** futarisIRCcloud has quit IRC05:52
*** kgugala_ has joined #litex06:16
*** kgugala has quit IRC06:19
*** kgugala_ has quit IRC07:25
*** kgugala has joined #litex07:25
*** kgugala_ has joined #litex07:41
*** hansfbaier has quit IRC07:42
*** hansfbaier has joined #litex07:44
*** kgugala has quit IRC07:44
*** acathla has quit IRC10:28
*** hansfbaier has quit IRC11:19
*** Bertl_zZ is now known as Bertl11:56
_florent_david-sawatzke[m: Hi, it's possible to simulate LiteDRAM directly with litex_sim --with-sdram13:22
_florent_https://github.com/enjoy-digital/litex/blob/master/litex/tools/litex_sim.py13:22
_florent_you can customize the SDRAM with: --sdram-module, --sdram-data-width13:23
_florent_and it's also possible to preinitialize the contents from a file with --sdram-init13:23
_florent_It's using a SDRAM Model interfacing at the DFI level13:23
_florent_https://github.com/enjoy-digital/litedram/blob/master/litedram/phy/model.py13:24
_florent_somlo: the SDCard is now also working with Linux-on-LiteX-Vexriscv, that was the clock-frequency that was missing in the .dts as you suggested by mail, thanks!13:30
_florent_somlo: I forgot to add it to VexRiscv-SMP when replacing VexRiscv with VexRiscv-SMP in litex_json2dts.py13:31
somlo_florent_: that's great news!13:34
somlo_florent_: now what's left is to figure out why multi-block transfers are having such a hard time13:35
somloI may end up having to learn something new (debug running gateware) after all... Been successfully avoiding it all this time, but the writing is on the proverbial wall :D13:36
_florent_somlo: yes that's great. The fact that we are now using a common linux branch is a time saver for finding these subtle things :)13:37
somlospeaking of, what's the purpose of the "loop" and "offset" registers in the LiteX DMA modules?13:38
somloseems "loop" resets the FSM while it's running, but I'm probably misunderstanding that - anywhere I can go read about it?13:39
_florent_somlo: also, what do you think about adding Rocket support to litex_json2dts? This would simplify Linux-on-LiteX-Rocket and would also mutualize the efforts on the .dts front13:39
somlo_florent_: that's next on my agenda after getting to the bottom of the linux-vs-litesdcard issue13:40
_florent_somlo: as we already discussed by mail, LiteScope can also be very powerful to develop/debug Linux drivers! You should really try it :)13:41
somlo_florent_: I'll drop everything and do that, starting today (modulo how much crap $DAYJOB will throw my way) :D13:44
_florent_,somlo: for Litescope, you can learn/try it directly in simulation by following: https://github.com/enjoy-digital/litex/wiki/Use-LiteScope-To-Debug-A-SoC13:46
_florent_using it on hardware after is only matter of changing the bridge between the computer and FPGA: https://github.com/enjoy-digital/litex/wiki/Use-Host-Bridge-to-control-debug-a-SoC13:47
somlothanks, I promise I won't touch anything else litex/linux related before I force myself to go through each step of those two documents :)13:52
somlobut one more (mostly unrelated) question before that: there's that one-bit "loop" CSR in both WishboneDMA[Writer,Reader] -- https://github.com/enjoy-digital/litex/blob/master/litex/soc/cores/dma.py#L111 and https://github.com/enjoy-digital/litex/blob/master/litex/soc/cores/dma.py#L19613:55
somloit seems if one writes to it during the DMA transfer, it starts again from the beginning -- does that make sense, am I right, and if not, what's going on :)13:56
somloseems WishboneDMAReader also exposes the current offset in a read-only way: https://github.com/enjoy-digital/litex/blob/master/litex/soc/cores/dma.py#L83 (sort-of like a progress bar type thing :)13:57
somloam I even in the proverbial ballpark with my understanding of how this is supposed to work ?13:58
_florent_somlo: in LiteX's DMA: loop CSRStorage allow you to create a continous DMA that restart automatically when done14:01
_florent_somlo: the offset can be used to monitor the DMA status (to know how much data have been already transfered)14:03
_florent_ah sorry, haven't seen your previous messages, so you are right yes14:04
_florent_no sure you'll have a need for the loop mode, but the offset can be useful in case you have troubles with a DMA that does not end14:05
somlo_florent_: thanks! any clue on why only the DMAReader exposes `offset` as a read-only CSR (and not DMAWriter as well)?14:15
_florent_somlo: I probably only had a need for it on the DMAReader, but we could add it to the Writer too14:19
somlo_florent_: ok, I don't know that we need it (yet), was just curious if there's some underlying structural reason why it could only work on *Writer :)14:20
*** mntmn has quit IRC14:37
*** chgavilana has joined #litex15:01
*** chgavilana98 has joined #litex15:01
chgavilanahi: I am trying to use an hdmi output with litevideo. Can anyone who has experience with litevideo give me the reference of the monitor you used?15:05
*** chgavilana98 has quit IRC15:06
*** chgavilana01 has joined #litex15:06
cr1901_modern_florent_: I had a bad day computer-wise yesterday. I'll test your PR changes soon.16:03
somloanyone in possession of a nexys-a7 board able to (or willing to try) building linux-on-litex-rocket bitstream using the nexys4ddr instructions? (https://github.com/litex-hub/linux-on-litex-rocket)16:51
somloI have a report that programming the bitstream on a nexys-a7 results in only the led-chaser but no console output, and I only have the "classic" nexys4ddr, so I'm blind to any small-but-relevant differences between it and the nexys-a716:53
somloeven just pushing the pre-built nexys4ddr bitstream (https://github.com/litex-hub/linux-on-litex-rocket/files/5711713/bitstream.tar.gz) to your a7 board and letting me know what happened would help16:56
daveshahHmm I think I might have one somewhere17:09
daveshahsomlo: I don't have a tftp server but it passes memtest and starts trying to talk to the network at least17:12
daveshah*tftp server running17:12
daveshahhttps://www.irccloud.com/pastebin/JizWLyMT/17:13
tpbTitle: Snippet | IRCCloud (at www.irccloud.com)17:13
daveshahfound a microSD card, let's try that...17:14
daveshahyep boots linux fine17:15
daveshahah I spoke too soon17:15
daveshahit's hanging trying to talk to the microsd by the looks of things17:15
*** TMM has quit IRC17:16
*** TMM has joined #litex17:16
daveshahhttps://www.irccloud.com/pastebin/WEs55sIZ/17:16
tpbTitle: Snippet | IRCCloud (at www.irccloud.com)17:16
daveshahit doesn't respond to input beyond that point17:16
*** peeps[zen] has joined #litex17:26
*** peepsalot has quit IRC17:27
*** Bertl is now known as Bertl_oO17:29
*** kgugala has joined #litex18:20
somlodaveshah: thanks!18:21
somlothat's more than what I got in the bug report (led-chaser, no other console output)18:21
daveshahsorry, I've just realised that I'm an idiot and I actually have an old nexys418:21
*** kgugala_ has quit IRC18:22
daveshahI thought it was an A7 for some reason but it's actually a nexys4ddr18:22
somloworks fine on my old nexys4 (and iirc. it passed timing in vivado)18:22
*** kgugala_ has joined #litex18:23
*** kgugala has quit IRC18:25
*** Dolu has joined #litex18:27
somlodaveshah: depending on how fresh your (litex-hub/linux litex-rebase branch) kernel is, the hanging microsd driver may or may not be reason for concern... :)18:28
somlobut thanks for checking, sorry to have wasted your time on the old board18:29
daveshahDon't worry, it was my own confusion to blame!18:32
Dolufpu18:48
Dolusorear : Got some FPU design which pass add/mul/fma/div/sqrt18:49
DoluSo basicaly, the design choices are : To not implement subnormals, having 1 mul pipeline + 1 add pipeline, which are chained when FMA, both div and sqrt use a LUT based initial aproximation and get closer via 2-3 newton iterations.18:51
DoluCurrently trying to have a centralised register file between multiple CPU, just not sure how well this will scale for floating point store, as it has to do the roundtripe between CPU instruction decode => FPU register file => CPU D$18:52
_florent_somlo: I thought the nexys4ddr and nexysa7 where exactly the same but it seems not. If the led chaser is on, the clock is probably good and the boards is not in reset19:04
_florent_the UART pins are the same, so the CPU should start printing things on the UART19:05
_florent_Unfortunately I also only have a nexys4ddr19:05
somlo_florent_: that's what I remember from reading about the nexys a7 too, but no actual first hand experience...19:07
*** acathla has joined #litex19:31
somlo_florent_, daveshah: apparently after some tinkering with jumpers, my nexys-a7 user managed to get some console output when booting their bitstream, so we're back on assuming the a7 is backward compatible :) Thanks again for your help!19:55
somlo* back *to* assuming... Apparently I need more coffee...19:55
*** acathla has quit IRC19:56
*** acathla has joined #litex19:56
cr1901_modern_florent_: Your changes work fine20:14
cr1901_modernre: litex_term20:14
zyp_florent_, do you know if the vexriscv interrupt controller is documented anywhere?20:19
zypI'm looking at implementing support for it in my own lib, and I think I understand how it works just based on https://github.com/enjoy-digital/litex/blob/master/litex/soc/cores/cpu/vexriscv/irq.h, but it'd still be nice to have a reference20:20
*** lambda has quit IRC21:30
*** lambda has joined #litex21:32

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