Friday, 2020-06-12

*** tpb has joined #litex00:00
*** levi_ has quit IRC01:09
*** levi_ has joined #litex01:10
*** bubble_buster has quit IRC01:13
*** mithro has quit IRC01:14
*** bubble_buster has joined #litex01:23
futarisIRCcloudUggh... mixing buildroots between SMP litex and linux-on-litex-vexriscv can lead to a non booting system. Don't share the dl directory between them either...01:23
*** mithro has joined #litex01:24
*** captain_morgan has quit IRC01:50
*** captain_morgan has joined #litex01:52
*** captain_morgan has quit IRC01:53
*** captain_morgan has joined #litex01:54
*** Degi has quit IRC02:29
*** Degi_ has joined #litex02:29
*** Degi_ is now known as Degi02:29
*** HoloIRCUser1 has joined #litex02:35
*** HoloIRCUser has quit IRC02:35
*** levi_ is now known as levi03:20
*** Skip has quit IRC04:36
*** futarisIRCcloud has quit IRC05:17
*** _whitelogger has quit IRC05:33
*** _whitelogger has joined #litex05:35
*** futarisIRCcloud has joined #litex05:41
*** kgugala has quit IRC05:49
*** kgugala has joined #litex05:49
*** kgugala_ has joined #litex05:51
*** kgugala has quit IRC05:53
*** kgugala has joined #litex06:37
*** kgugala_ has quit IRC06:39
*** smd has joined #litex07:06
*** smd has quit IRC07:30
*** st-gourichon-fid has quit IRC07:36
*** st-gourichon-fid has joined #litex07:43
*** smd has joined #litex07:48
*** smd has quit IRC08:12
*** HoloIRCUser has joined #litex08:49
*** HoloIRCUser1 has quit IRC08:49
_florent_New wiki page explaining the different options to load application code to the CPU and the simplifications in netboot/sdcardboot (now using a boot.json file): https://github.com/enjoy-digital/litex/wiki/Load-Application-Code-To-CPU09:22
tpbTitle: Load Application Code To CPU · enjoy-digital/litex Wiki · GitHub (at github.com)09:22
*** acathla has quit IRC10:17
*** acathla has joined #litex10:26
*** futarisIRCcloud has quit IRC10:37
*** HoloIRCUser1 has joined #litex10:55
*** HoloIRCUser has quit IRC10:55
somlo_florent_: at one point I *thought* this should have been `volatile`: https://github.com/enjoy-digital/litex/blob/master/litex/soc/software/liblitesdcard/spisdcard.c#L27111:49
tpbTitle: litex/spisdcard.c at master · enjoy-digital/litex · GitHub (at github.com)11:49
*** CarlFK has quit IRC11:50
somlobut still not working ok on 64bit even with that, so now I am trying turning off compiler optimizations, and updating my cross-compiler toolchain :) That'll take a while11:50
somlobecause interleaved output from printf on a single-cpu (single thread of control) setup is just super freaky WEIRD... :)11:51
somloapparently FatFs overheard me make fun of its redefined return types, and now hates me with a burning passion :D11:52
*** xfxf has quit IRC12:00
_florent_somlo: yes there are still probably a few things to figure out with the FatFs integration. Are you able to get it working with a 32-bit CPU? (Vexriscv for example?)12:04
_florent_somlo: i could do more test with Rocket on this but need to finish other work first12:05
somlo_florent_: I got it working with 64bit by hardcoding a `return 0;` here: https://github.com/enjoy-digital/litex/blob/master/litex/soc/software/liblitesdcard/spisdcard.c#L27312:17
tpbTitle: litex/spisdcard.c at master · enjoy-digital/litex · GitHub (at github.com)12:17
somlotrouble is, I need to know *why* that works, and adding printf statements isn't working out for me so far :)12:17
somlobut sure, I'll build it for vexriscv as well, see what happens (once I finish rebuilding the toolchain, so later tonight/tomorrow)12:19
_florent_somlo: ok thanks, i'll also have a look unless you figure it out.12:23
*** kgugala_ has joined #litex12:27
*** kgugala has quit IRC12:29
*** kgugala has joined #litex12:36
*** kgugala__ has joined #litex12:37
*** kgugala_ has quit IRC12:37
*** kgugala has quit IRC12:40
*** HoloIRCUser has joined #litex12:57
*** HoloIRCUser1 has quit IRC12:57
*** Skip has joined #litex13:38
*** HoloIRCUser1 has joined #litex13:55
*** HoloIRCUser has quit IRC13:55
*** smd has joined #litex14:28
smdHi all, I got myself acorn 215 after seeing enjoy-digital's tweet and it seems I'm having some issues with running litex on it. They're similar to ones @dkozel had according to https://freenode.irclog.whitequark.org/litex/2020-03-27so I was able to build the bitstream with "./acorn_cle_215.py --build" and hopefuly load the bitstream to fpga with14:34
smd"./acorn_cle_215.py --load", but wasn't able to flash it though.Then I tried to compile kernel module(I'm on 5.4.41-1-pve kernel) and got bunch of errors @dkozel had. So I added missing includes(linux/poll.h and linux/cdev.h) and built the module and loaded it.But unfortunately for some reason nothing happened then: no new pci-e device was found,14:34
smdwhile I'm able to see my acorn 215 with lspci command.14:34
tpbTitle: #litex on 2020-06-12 — irc logs at whitequark.org (at freenode.irclog.whitequark.org)14:34
*** futarisIRCcloud has joined #litex14:41
zypsmd, what dows lspci say?14:43
smd@zyp thanks, that was the issue, I guess: had to reboot to re-enumerate pci-e devices and then litex soc appeared. So is there an easier way to reenumerate the devices than reboot?14:51
zypyes15:03
zypecho 1 > /sys/bus/pci/devices/…/remove15:04
zypecho 1 > /sys/bus/pci/rescan15:04
zypI do the first before loading the new bitstream and the second after15:06
smdThanks!15:13
*** st-gourichon-fid has quit IRC15:16
*** st-gourichon-fid has joined #litex15:25
*** kgugala__ has quit IRC15:28
*** kgugala has joined #litex15:33
*** HoloIRCUser1 has quit IRC15:46
somloapparently I've been working on "supply chain security" :) https://youtu.be/5IhujGl_-K015:54
*** kgugala has quit IRC16:15
*** kgugala has joined #litex16:16
dkozelHi smd I'll be doing a bunch of work on this over the weekend.16:47
_florent_somlo: thanks for sharing, i'll watch it this weekend16:50
*** Skip has quit IRC17:17
*** smd has quit IRC17:21
*** smd has joined #litex17:28
smd@dkozel you mean litex + sqrl 215?17:29
*** kgugala_ has joined #litex17:37
*** kgugala has quit IRC17:39
zypsomlo, how's that stuff going?18:28
somlozyp: if you have lots of patience, you can actually get yosys and nextpnr to load and print out stuff to the console :)18:32
zypon what?18:32
somloon the trellisboard (ecp5-85k) (scroll to the end of http://www.contrib.andrew.cmu.edu/~somlo/BTCP/ for the video, there's also a link to the terminal log if you don't feel like waiting :)18:34
tpbTitle: A Trustworthy, Free (Libre), Linux Capable, Self-Hosting 64bit RISC-V Computer (at www.contrib.andrew.cmu.edu)18:34
somloyou can do it on the nexys4ddr as well, but that's not "in the spirit" -- i.e. you need vivado to get the nexys4ddr bitstream, so no bonus points for being able to run some *other* toolchain :)18:35
zypI'm still working on my ecp5+sodimm board, but I keep getting sidetracked by other stuff18:36
somlozyp: oh, tell me about it... $DAYJOB gets in the way big time on my end as well :)18:37
zypcurrent state of it is this: https://bin.jvnv.net/file/tAJNw.png, what's still missing are power supplies and some signal routing, then cleanup and length matching of the ddr3 signals18:40
somloThat looks cool -- what ports do you have on the left? two ethernets and a usb? I'm not familiar enough with them to guess by just eyeballing :)18:43
zypthree usbs :)18:43
somlooh, two As and a C?18:44
zypno, all C, but the top one is usb2 only18:44
somloaha18:44
somloany PMODs (where one could hook up ethernet, microSD, etc)?18:45
zypthe one above the usb2 connector is microsd18:45
somlook, so all that's still tbd is ethernet (maybe via pmod)?18:46
somloin theory there *are* ethernet usb dongles, but that'd probably burn off lots of FPGA capacity, if I were to hazard a guess (much more than just straight-up ethernet)18:47
zypthere's an unconnected 30-pin connector below the fpga, I'm planning to route all spare IO there, where it can be used for more IO with a board stacked above the usb-c connectors18:47
zypI'm planning to start off by making a PMOD adapter for that18:47
somlocool, hope you get the peace and quiet to work on it :)18:48
zyphttps://bin.jvnv.net/file/1lgyF.png <- I'm designing this thing to fit in a subrack enclosure with a custom backplane18:49
*** tpearson-mobile has joined #litex18:49
zypfor ethernet I've considered running SGMII over the backplane18:49
zypbut that's for somewhere in the distant future, first I want this board to work standalone :)18:50
tpearson-mobileTrying to use LiteX for the first time on an ECP5 Versa board.  I've used the Versa on this system with openocd before without problems, but trying openocd with the .svf from LiteX gives an error18:50
tpearson-mobileError: tdo check error at line 11Error:     READ = 0x44810c01Error:     WANT = 0x8111204318:50
daveshahIs it a Versa or Versa 5G18:50
tpearson-mobileLet me double check18:50
tpearson-mobileIt should be the standard Versa, "LFE5UM-45F-VERSA-EVN"18:51
daveshahalso check the jumper as mentioned here: https://github.com/SymbiFlow/prjtrellis/tree/master/examples/versa5g18:51
tpbTitle: prjtrellis/examples/versa5g at master · SymbiFlow/prjtrellis · GitHub (at github.com)18:51
daveshahif it is a standard versa you will need to change the device in the LiteX file18:52
tpearson-mobileAh, OK...the .py file used to build?18:52
daveshahyeah, I can't remember the best place to change it, it might even be an option somewhere now18:53
awordnotoh hey tpearson-mobile18:53
awordnotthis is probably what you're looking for: https://github.com/litex-hub/litex-boards/blob/master/litex_boards/prog/openocd_versa_ecp5.cfg18:53
tpbTitle: litex-boards/openocd_versa_ecp5.cfg at master · litex-hub/litex-boards · GitHub (at github.com)18:53
tpearson-mobileawordnot: hey!  small world18:53
awordnotand https://github.com/litex-hub/litex-boards/blob/master/litex_boards/platforms/versa_ecp5.py#L22818:53
tpbTitle: litex-boards/versa_ecp5.py at master · litex-hub/litex-boards · GitHub (at github.com)18:53
awordnotyep :D18:53
tpearson-mobileawordnot: you might like some of the stuff in https://gitlab.raptorengineering.com/raptor-engineering-public/lpc-spi-bridge-fpga18:53
tpbTitle: Raptor Engineering Public Development / lpc-spi-bridge-fpga · GitLab (at gitlab.raptorengineering.com)18:53
tpearson-mobileyou can IPL an entire POWER system without a BMC with that logic....though sadly it's a bit too large for the iCE40 now18:54
tpearson-mobileworking on getting those cores into LiteX, hence why I'm here :)18:54
awordnottpearson-mobile: wow awesome. what about FSI? I guess you could use the kernel bitbanging driver18:54
tpearson-mobileThere's a real OpenFSI core in there too18:55
tpearson-mobilemaster / slave18:55
awordnotawesome!18:55
tpearson-mobilehttps://twitter.com/RaptorEng/status/1269571842475536389?s=20 / https://twitter.com/RaptorEng/status/1270489397784387587?s=20 FWIW18:55
awordnotcool! let me know if there's any way I could contribute to the LiteX porting efforts. I just started out with LiteX but I'm starting to get the hang of things18:56
tpearson-mobileI think you're part of the Kestrel group, right?18:56
tpearson-mobilea lot of our active development is / will be taking place there18:57
awordnotI don't think so. Though I remember you mentioning something about it a while ago on #t-w18:57
tpearson-mobileah, OK18:57
tpearson-mobilewell...I think the biggest problem we have at the moment is the Microwatt core causing some kind of odd resource usage problem due to faulty RAM inference18:57
tpearson-mobilehttps://github.com/enjoy-digital/litex/issues/245#issuecomment-64339292818:58
tpbTitle: Import the microwatt PowerPC core · Issue #245 · enjoy-digital/litex · GitHub (at github.com)18:58
*** tcal has joined #litex18:58
tpearson-mobilethat and so far as I know Linux support still needs to be merged in from upstream Microwatt (MMU / supervisor mode)18:58
tpearson-mobileno idea if either one of those tasks is of interest? :)18:59
awordnotnot sure if I could do much about that yosys BRAM inference bug, but I could take a look at the Linux stuff18:59
tpearson-mobilesure18:59
tpearson-mobileMy current plan is to hack in a *16K RAM primitive to just bypass the problem19:00
tpearson-mobilesince the dev board and our final target system are both ECP5 it's reasonable enough to do19:00
awordnotyeah seems reasonable. Do you have LiteDRAM working?19:00
tpearson-mobileso far as I know it works, but I need to fix this programming bug before I can verifyu19:00
tpearson-mobiles/programming bug/config file setting/19:01
awordnotsure. You should be able to cross reference that openocd_versa_ecp5.cfg file I linked with your known-working openocd config to find the issue19:01
tpearson-mobileyep -- we've actually done some internal projects on the Versa over time using the open toolchain on our POWER boxes, this is just the first time with LiteX19:02
tpearson-mobile...which, so far, isn't having any problems running on POWER19:02
awordnotnice! I'm still waiting for my OrangeCrab ECP5 dev board to come, so I've been stuck with my Xilinx dev boards which require x86 :/19:02
tpearson-mobileow.  that's painful.19:03
tpearson-mobileeven on POWER the synthesis of a large LiteX design takes a while19:03
tpearson-mobilelong enough that I'm seriously considering moving it to one of the larger servers19:03
awordnotwhere does the bulk of the time end up being spent? In synthesis or pnr?19:04
tpearson-mobilePNR, actually19:04
tpearson-mobilesorry, was being a bit handwavy there19:04
awordnotlol no worries19:04
awordnotmakes sense that pnr would take a while. Not sure how much it would benefit from a machine with more cores though19:04
tpearson-mobile"the magic stuff cranking from HDL to bitstream" == synthesis when not being precise ;)19:04
tpearson-mobileit's supposed to be parallelizable19:05
tpearson-mobilewhich makes sense, it's running an annealing algorithm19:05
awordnotinteresting19:05
daveshahmost of the time is routing which isn't annealing but is still quite easy to parallelise19:05
tpearson-mobileyeah, could be19:05
daveshahit's just not quite there yet19:05
tpearson-mobilegotcha19:05
daveshahthe main part of the placer hasn't been annealing based for over a year now, but analytical and already parallelised to some extent19:06
tpearson-mobilewell, have a vote (and virtual beer) from me for paralleling that least part someday :)19:06
tpearson-mobile*parallelizing19:06
tpearson-mobileinteresting you mention ~ 1 year, since we've been running Arachne (and NextPNR) from around that vintage until very recently19:06
tpearson-mobilemight explain my impressions of it thus far19:07
tpearson-mobileanyway, if I remember correctly most of the PAR stage can be parallelized, it's synthesis that doesn't really have a way to do that?19:07
*** tpearson-mobile has quit IRC19:10
*** smd has quit IRC19:20
daveshahsynthesis can be parallelised by building modules in separate threads, although this misses cross-boundary optimisations19:21
daveshahone option is a hybrid, to build modules separately and then do "LTO" after flattening them19:21
awordnotdaveshah: that's what Xilinx calls "Hierarchical Elaboration" right?19:28
awordnotor is that something else19:28
*** st-gourichon-fid has quit IRC20:02
*** kgugala has joined #litex20:30
*** kgugala_ has quit IRC20:33
*** Skip has joined #litex20:37
dkozelsmd: Yes. Doing some packaging and documentation for litepcie's kernel module and userspace driver. Adding an example CMake project and C++ app.21:01
awordnotI wonder why litepcie even needs its own kernel driver tbh. It looks like all its doing is exposing BARs/MSIs to userspace which can be accomplished by just using VFIO21:21
awordnotunless I'm missing something21:22
zypI was wondering about the same the other day, it'd be neat to avoid that need21:32
awordnotI guess one benefit is being able to safely map DMA bufs without an IOMMU, but that seems like it'd be outweighed by the benefits of just using VFIO21:34
awordnotmaybe I'll try writing a PoC userspace driver21:34
*** sconklin has joined #litex21:42
*** dasdgw has joined #litex22:05

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