Wednesday, 2020-01-29

*** tpb has joined #tomu00:00
*** AnimaInvicta has left #tomu00:20
*** CarlFK has quit IRC00:54
*** rohitksingh has quit IRC01:15
*** rohitksingh has joined #tomu03:42
*** rohitksingh has quit IRC04:03
*** jerith has quit IRC06:50
*** jerith has joined #tomu06:50
*** thaytan has quit IRC07:09
*** thaytan has joined #tomu07:11
*** CarlFK has joined #tomu08:12
*** thaytan has quit IRC12:02
*** thaytan has joined #tomu12:19
*** rohitksingh has joined #tomu14:26
*** rohitksingh has quit IRC15:14
*** rohitksingh has joined #tomu15:15
*** rohitksingh has quit IRC15:34
*** rohitksingh has joined #tomu15:38
st-gourichon-fidMmh... FOMU Hacker with default (bootloader) softcore CPU.  I managed to get all code and read-only data to RAM to check for performance.  I get a 7 times speedup for a "computation-intensive" (matrix multiplication) when all code is in RAM, compared to when all code is in Flash.16:14
*** emeb has joined #tomu16:15
st-gourichon-fidThe trick is (1) not to put all sections in RAM because the bootloader just jumps to flash 0x20040000, rather in linker.ld redirect all input sections to the .data output section, except .text.start section.16:15
st-gourichon-fidand (2) change crt0 so that all init code is in section .text.start (else only the first jump is there, a relative one that cannot reach to RAM because too far, yielding a relocation error)/16:16
st-gourichon-fid*Big surprise*: first I moved all my code but not the most-called __mulsi3 to RAM, and my computation went from 1200 to 163 milliseconds.  So far so good.  I expected moving all code including __mulsi3 to RAM would yield another boost.  After all it's the innermost loop.  But no.  Mostly same performance.  Question. Is there some kind of minuscule cache (like 1 page) between CPU and Flash in the default softcore of foboot?16:20
*** rohitksingh has quit IRC16:41
*** AnimaInvicta has joined #tomu17:05
acathlaWhere can I buy an evaluation board supported by litex, with an ECP5? Like the orangecrab or the TinyFPGA-EX...17:11
acathladaveshah, where can I get a trellis board?17:17
daveshahacathla: they aren't commercially available17:18
daveshahYour best bet is a Lattice Versa or EVN17:18
acathlaOk, I just saw the Versa is available.17:18
acathlaAnd also the EVN, directly on their website.17:25
daveshahNote that the EVN doesn't have any external DRAM17:26
*** emeb has left #tomu17:39
*** rohitksingh has joined #tomu17:49
mithroacathla: It seems like the Colorlight board will soon be the cheapest option but its not really *designed* to be a dev board17:50
mithroacathla: https://github.com/q3k/chubby75/blob/master/5a-75b/README.md17:51
tpbTitle: chubby75/README.md at master · q3k/chubby75 · GitHub (at github.com)17:51
mithrost-gourichon-fid: We need to move the SPI controller into it's own clock domain and run it much faster than the CPU17:51
acathlamithro, is it in production somewhere?17:52
mithroacathla: It's available from Aliexpress for like $15 USD17:52
mithrost-gourichon-fid: The Fomu has about 8kbyte of cache17:52
st-gourichon-fidmithro, thanks for the update.17:52
mithrost-gourichon-fid: Might only be 4kbytes -- unsure how xobs has configured it17:53
mithrobut there is a small cache17:53
st-gourichon-fidmithro, thanks. I guess the answer is somewhere within https://github.com/im-tomu/foboot/tree/master/hw17:54
tpbTitle: foboot/hw at master · im-tomu/foboot · GitHub (at github.com)17:54
mithrost-gourichon-fid: Probably from https://github.com/im-tomu/foboot/blob/master/hw/foboot-bitstream.py#L13917:55
tpbTitle: foboot/foboot-bitstream.py at master · im-tomu/foboot · GitHub (at github.com)17:55
mithrohttps://github.com/enjoy-digital/litex/blob/master/litex/soc/integration/soc_core.py#L18317:56
tpbTitle: litex/soc_core.py at master · enjoy-digital/litex · GitHub (at github.com)17:57
mithrowhich goes to https://github.com/enjoy-digital/litex/blob/master/litex/soc/cores/cpu/vexriscv/core.py17:58
tpbTitle: litex/core.py at master · enjoy-digital/litex · GitHub (at github.com)17:58
mithrost-gourichon-fid: Which ends up at https://github.com/enjoy-digital/VexRiscv-verilog/blob/854f9bd2282c97251ce65e4117c5cf1630722004/VexRiscv_Lite.yaml probably?18:03
tpbTitle: VexRiscv-verilog/VexRiscv_Lite.yaml at 854f9bd2282c97251ce65e4117c5cf1630722004 · enjoy-digital/VexRiscv-verilog · GitHub (at github.com)18:03
mithrost-gourichon-fid: vexriscv.CacheReport {bytePerLine: 32, size: 2048}18:04
st-gourichon-fidSo, 2kb cache with 32-byte lines I guess.18:04
st-gourichon-fidmithro, does it explain/confirm that, in practice, if the inner loop of a code depends on a little part of the flash (like, __mulsi3), we get nearly the same performance as with pure RAM (when loop count is very high).18:04
st-gourichon-fid?18:04
mithrost-gourichon-fid: Yeah18:05
st-gourichon-fidThanks a lot mithro! This kind of hint will help me explore, understand and customize the design for our project.18:06
mithrost-gourichon-fid: I think you could probably do a single cycle hardware multiply using the DSP18:06
mithros/DSP/DSP blocks/18:06
mithrost-gourichon-fid: There is a lot of room for optimization work here too18:06
st-gourichon-fidAny reference to a project that does that? Or at least goes into that direction.18:07
acathlaSomeone did it on the ICE40 recently if I remember correctly...18:07
mithrost-gourichon-fid: Like you could probably store the cache table in the block RAM while the cache contents in the SP-RAM for a much bigger cache18:07
mithrost-gourichon-fid: Problem is the debug controller doesn't fit18:07
mithrost-gourichon-fid: xobs has something somewhere...18:08
st-gourichon-fidWe are searching for accelerated multiply using "hmul" "ice40" in Google.18:08
mithrost-gourichon-fid: https://github.com/SpinalHDL/VexRiscv/issues/4018:08
tpbTitle: Add support for using the DSP blocks on the iCE40UP5K? · Issue #40 · SpinalHDL/VexRiscv · GitHub (at github.com)18:08
st-gourichon-fidmithro, bingo highly relevant github issue.18:09
mithrost-gourichon-fid: https://github.com/im-tomu/fomu-tests/tree/master/mul-infer18:09
tpbTitle: fomu-tests/mul-infer at master · im-tomu/fomu-tests · GitHub (at github.com)18:09
mithroOh interesting -> https://github.com/tomverbeure/VexRiscv/commit/ae85698a2bf674e99c744169e56f8cbf2874778a18:10
tpbTitle: MulSimple · tomverbeure/VexRiscv@ae85698 · GitHub (at github.com)18:10
*** rohitksingh has quit IRC18:47
st-gourichon-fidInteresting.  I take note of all this.18:48
*** rohitksingh has joined #tomu18:55
*** sdfsfsfsdfsdfsf has joined #tomu18:58
sdfsfsfsdfsdfsfhi, the fomu.im site says it can be a u2f like the tomu.im.... anyone know where that code is on the github?18:59
*** sdfsfsfsdfsdfsf has quit IRC19:21
*** rohitksingh has quit IRC19:25
*** rohitksingh has joined #tomu19:25
*** rohitksingh has quit IRC19:42
*** rohitksingh has joined #tomu19:48
*** rohitksingh has quit IRC20:06
*** rohitksingh has joined #tomu20:07
st-gourichon-fidmithro, I see that the commit you mention is included in master branch of https://github.com/SpinalHDL/VexRiscv20:16
tpbTitle: GitHub - SpinalHDL/VexRiscv: A FPGA friendly 32 bit RISC-V CPU implementation (at github.com)20:16
st-gourichon-fidgit branch -a --contains ae85698a2bf674e99c744169e56f8cbf2874778a | grep -i SpinalHDL20:18
st-gourichon-fidMerged in https://github.com/SpinalHDL/VexRiscv/commit/46f10bacb212e763a4b97414cd747447bea368f220:21
tpbTitle: Merge pull request #64 from tomverbeure/MulSimple · SpinalHDL/VexRiscv@46f10ba · GitHub (at github.com)20:21
*** rohitksingh has quit IRC20:35
*** im-tomu has left #tomu21:04
*** im-tomu has joined #tomu21:04
*** rohitksingh has joined #tomu21:04
st-gourichon-fidsdfsfsfsdfsdfsf has already quit, but it looks like Google knows answers, like https://github.com/im-tomu/tomu-samples/issues/321:11
tpbTitle: Create a FIDO / U2F compatible firmware · Issue #3 · im-tomu/tomu-samples · GitHub (at github.com)21:11
*** im-tomu has left #tomu21:13
*** im-tomu has joined #tomu21:13
pollothat's for the tomu21:14
CarlFKst-gourichon-fid: I think they wanted something for fomu21:14
CarlFKyes, that.21:14
pollosomeone here worked on that though21:17
* pollo checks his IRC logs21:18
pollothat was vesim :)21:19
*** TheJJ has quit IRC22:13
*** im-tomu has left #tomu22:14
*** im-tomu has joined #tomu22:14
*** rohitksingh has quit IRC22:15
*** rohitksingh has joined #tomu22:25
*** TheJJ has joined #tomu22:39
*** rohitksingh has quit IRC22:54
*** AnimaInvicta has left #tomu22:55
*** gio has quit IRC23:06
*** gio has joined #tomu23:10

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!