Monday, 2020-03-16

*** tpb has joined #litex00:00
*** _whitelogger has quit IRC01:30
*** _whitelogger has joined #litex01:32
*** _whitelogger has quit IRC02:21
*** _whitelogger has joined #litex02:23
*** scanakci has joined #litex04:55
*** _whitelogger has quit IRC05:36
*** _whitelogger has joined #litex05:38
*** _whitelogger has quit IRC06:54
*** _whitelogger has joined #litex06:56
*** pbinkowski1 has quit IRC09:30
*** pbinkowski has joined #litex09:31
somlo_florent_: how come a "cd_eth" is only explicitly created for arty, netv2, and nexys4ddr? (e.g., https://github.com/enjoy-digital/litex/blob/master/litex/boards/targets/nexys4ddr.py#L36, also https://github.com/enjoy-digital/litex/blob/master/litex/boards/targets/nexys4ddr.py#L47)?11:43
tpbTitle: litex/nexys4ddr.py at master · enjoy-digital/litex · GitHub (at github.com)11:43
somloHow does it actually still work on other targets where this isn't done? :)11:43
_florent_somlo: for most of the ethernet PHYs in LiteEth, the clocks are coming directly from the chip and clock domains created in the PHYs. For the RMII PHY, the FPGA generate a 50MHz clock to the chip and this clock is also used in the PHY for TX/RX.11:49
somlooh, ok, so these three boards all use rmii.py, and every other target uses something else11:52
somlothanks, that makes sense now :)11:52
_florent_somlo: yes that's indeed specific to RMII PHYs11:57
*** scanakci has quit IRC13:20
*** pbinkowski has quit IRC16:11
*** peepsalot has quit IRC17:16
*** tpb has joined #litex19:21
awygleis liteeth a submodule of litex or something? the test suite is failing because i don't have liteeth installed19:49
awyglesame for litedram19:49
sajattack[m]if you run litex_setup.py it will fetch all the submodules and install them19:53
awyglei guess more generally, "what is the best way to get set up to develop on litex (not with it)?"19:53
sajattack[m]in the litex repo19:53
awyglebut a) i want to work on the source directly and b) i want to install them in a venv, surely?19:54
sajattack[m]I didn't bother with a virtualenv, it will fetch them all as submodules and you can change stuff and re-run setup.py19:55
sajattack[m]that's what I do19:55
sajattack[m]but I'm not an expert19:55
awyglemmk, guess i'll just roll with it. what's the worst that could happen.19:56
daveshahI think litex_setup.py uses "develop" so changes to the repo don't need to be installed19:57
awygleseems like it yeah19:58
sajattack[m]if all else fails clone all the repos19:58
awyglewhen the litedram test suite says its looking for "any of the cross-compilation toolchains", what does it want specifically? gcc and binutils?20:00
daveshahYes20:02
awyglemk thanks20:03
daveshahIt doesn't need any libraries as it provides its own compiler_rt20:03
daveshahSo pretty much any RISC-V gcc, even a Linux one, should suffice20:03
awyglecool20:04
awyglehm, just installing the package from ubuntu does not seem to work unfortunately20:09
daveshahWhat prefix are those?20:11
awygleriscv64-linux-gnu20:11
daveshahAh, looks like it only looks for riscv64-linux not riscv64-linux-gnu in the list20:11
awyglethe list of toolchains it's looking for includes "riscv64-linux", yeah20:12
awygleto crosstool-ng i spose :p20:19
daveshahYou might be able to use https://github.com/enjoy-digital/litex/blob/master/.travis.yml#L1220:23
tpbTitle: litex/.travis.yml at master · enjoy-digital/litex · GitHub (at github.com)20:23
sajattack[m]you can also edit the list of accepted toolchains20:33
awyglearright there we go, pass20:35
awyglenow how to run the example....20:35
awygleOh, are the litedram examples just examples of dram config that need to be included in larger examples like the litex ones?20:44
daveshahNo, litedram can also generate a "standalone" core using those yaml files20:46
daveshahAlthough the standalone core is effectively a whole LiteX SoC (CPU needed for the init) with a DRAM slave port exposed20:47
*** Dolu has quit IRC20:47
awyglei just want to run a thing that loads onto the versa board, runs some kind of RAM self-test, and then says 'yay' or 'nay' over serial or blinkenlight20:48
daveshahUsing a LiteX target rather than litedram would be easier20:48
sajattack[m]the litex bios has memtest built in20:48
awygledo i just cd into litex/boards/targets and python3 versa_ecp5.py?20:49
daveshahRunning https://github.com/enjoy-digital/litex/blob/master/litex/boards/targets/versa_ecp5.py will create you a bitstream that prints memory test result to the UART at 11520020:49
daveshahyes20:49
tpbTitle: litex/versa_ecp5.py at master · enjoy-digital/litex · GitHub (at github.com)20:49
awyglecool, thank you20:49
sajattack[m]yeah and then lxterm something or other20:49
daveshahOr any other serial terminal (I think the line end issue is solved now so any terminal works)20:50
awyglelitex seems fairly... inseparable?20:50
awyglelike it seems difficult to use only small bits of it20:50
awygleis that fair?20:51
daveshahWell if you don't mind having a whole SoC just for DRAM init it is quite possible to use litedram standalone20:51
daveshahliteeth has a less heavyweight standalone mode20:52
awyglei see20:54
_florent_awygle: the "issue" with a DRAM controller is that you need to do the initialization and as soon as you need to do read/write leveling (for DDR3, DDR4) it's often easier (and even cheaper in resource usage) to have a full SoC than the logic to do that. For now we are using the lite variant of VexRiscv for that, but we could probably reduce resource usage with a slower/smaller CPU. So for this kind of core, the21:15
_florent_standalone version is indeed a full SoC.21:15
somloawygle: here's how I set up my entire environment: http://www.contrib.andrew.cmu.edu/~somlo/BTCP/#sec_2_222:04
tpbTitle: A Trustworthy, Free (Libre), Linux Capable, Self-Hosting 64bit RISC-V Computer (at www.contrib.andrew.cmu.edu)22:04
somloignore the git commit IDs and go with the latest (also adjust for non-Fedora distros in terms of installing packages), but that's it for me in a nutshell22:05
awyglethanks!22:15
*** Dolu has joined #litex22:16
somlobeing relatively new to Python, I really like how "python3 setup.py develop --user" installs links (in $HOME/local/lib/...) pointing at my git repos, and I can keep hacking on them without needing to reinstall anything22:22
*** peepsalot has joined #litex22:46
*** HEGAZY has joined #litex23:48

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