Sunday, 2022-08-14

*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has quit IRC00:22
*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc00:22
*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has quit IRC00:34
*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc00:35
*** Guest16 <Guest16!~Guest16@2402:d000:8114:342c:34b7:61ef:5df8:4933> has joined #libre-soc05:15
*** Guest16 <Guest16!~Guest16@2402:d000:8114:342c:34b7:61ef:5df8:4933> has quit IRC06:28
*** Amare <Amare!~Amare@2402:d000:8114:342c:ef8e:55ac:b670:efe1> has joined #libre-soc06:50
*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has quit IRC08:14
*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc08:15
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC09:04
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc09:04
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC09:41
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc09:41
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC09:53
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc09:54
*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has quit IRC10:11
*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc10:14
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC10:25
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc10:29
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC10:34
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc10:35
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC10:47
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc10:47
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC11:14
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc11:16
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC11:21
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc11:21
AmareI repeatedly get errors when trying to checkout microwatt. git clone
AmareNot sure if there is any issue in the git server.11:40
AmareThis is what I get: =============================11:40
AmareCloning into 'microwatt'...11:40
Amareremote: Enumerating objects: 10864, done.11:40
Amareremote: Counting objects: 100% (10864/10864), done.11:40
Amareremote: Compressing objects: 100% (4417/4417), done.11:40
AmareReceiving objects:  29% (3222/10864), 13.71 MiB | 1.19 MiB/s11:40
Amareerror: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.11:40
Amarefatal: the remote end hung up unexpectedly11:40
Amarefatal: early EOF11:40
Amarefatal: index-pack failed11:40
programmerjakehmm, it works just fine for me with git 2.37.1 on aarch64 on termux11:43
programmerjakeyou can try cloning from which is an automatically updated mirror of
Amarethat worked.11:48
lkclAmare: you can use http.11:55
lkclthere's a rather annoying bug introduced by debian/backports in gnutls.11:56
lkclwhich attempted to fix *another* bug in gnutls of debian/1011:58
lkclconfirmed that http clone works perfectly.11:58
lkcldamned if you do, damned if you don't.12:01
AmareTrying to build macrowatt as specified in here:
Amarechecked out the branch and when make is invoked, I get the following error:12:29
Amare1. Executing GHDL.12:29
Amarefpga/top-generic.vhdl:68:5:error: port "wb_lpc_slave_out" of mode IN must be connected12:29
Amare    soc0: entity work.soc12:29
Amareis there any tag that I can checkout where this was stable?12:30
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC12:35
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc12:36
lkclAmare: 1 sec12:42
lkclworking fine here12:43
lkclGHDL 2.0.0-dev (1.0.0.r955.g263c843ed) [Dunoon edition]12:44
lkcl Compiled with GNAT Version: 9.3.012:44
lkclthe versions of tools are generally known to be extremely fragile12:44
Amaremy gnat version is different. will troubleshoot.12:48
lkcli'm not seeing wb_lpc_slave_out in "grep *"12:48
lkclAmare, you can't possibly have the verilator-trace branch, there's no wb_lpc_slave_out signal present at all, let alone at line 6812:50
lkcllkcl@fizzy:~/src/libresoc/microwatt$ git branch12:50
lkcl  libresoc12:50
lkcl  master12:50
lkcl  ulx3s12:50
lkcl* verilator_trace12:50
lkclcommit 79461a96bdd1f21aaed501c16d05a8a874d7fdb6 (HEAD -> verilator_trace, origin/verilator_trace)12:50
lkclAuthor: Luke Kenneth Casson Leighton <>12:50
lkclDate:   Sun Feb 27 15:49:37 2022 +000012:50
lkcl    link unused signals to undefined12:50
lkcl    to stop them appearing in LPF constraints12:50
Amare(libresoc)manusha@homeauto:~/src/microwatt$ git branch12:51
Amare  master12:51
Amare* verilator_trace12:51
lkclwhat git commit hash is that?12:51
AmareI can try your hash12:52
lkclthere is no hash bf4f5806 in the git log history of the verilator_trace branch12:53
lkclyou have the master branch12:53
Amaresince i just checked it out, mine has more commits in that branch.12:54
Amaregit branch gives verilator_trace as the active branch12:55
Amarei checkout the your hash and that error does not occur.12:55
lkclthere you go12:55
*** tplaten <tplaten!> has joined #libre-soc13:29
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC14:02
*** tplaten <tplaten!> has quit IRC14:37
*** ghostmansd <ghostmansd!~ghostmans@> has joined #libre-soc14:43
*** ghostmansd <ghostmansd!~ghostmans@> has quit IRC14:59
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc15:27
*** ghostmansd <ghostmansd!~ghostmans@> has joined #libre-soc15:27
*** ghostmansd <ghostmansd!~ghostmans@> has quit IRC15:44
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC15:50
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc15:52
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:02
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc16:04
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:10
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc16:10
lkclghostmansd[m], good news there
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:49
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc16:51
Amaretrivial issue I am facing. Not sure if any one of you seen this.. I am running a verilator simulation with a generated processor. The vcd file that is generated cannot be loaded from gtkwave. I've changed the microwatt-verilator.cpp to just loop through the simulation and dump signals to a max depth of 5 and still get same errors. I can use gtkwave16:52
Amareto open other vcd files (for example ones created from nmigen). Get lots of errors of the form: Near byte 1576388, $VAR parse error encountered with 'TOP.toplevel.soc0.processor_external.processor.dec2.dec31.dec31_dec_sub19.\$auto$verilog_backendcc'16:52
lkclAmare, known-bug with gtkwave.16:52
lkcluse vcd2fst16:52
Amareok thanks lkcl.16:53
lkclno other libre/open-source use of nmigen in the world is anywhere near as massive as libre-soc.16:53
Amareit works!16:54
lkclconsequently through sheer statistical weight it hits bugs in toolchains that don't "exist" in other tools16:54
lkclhurrah :)16:54
lkclcool, isn't it?16:54
Amareyes, this is a huge project.16:54
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:54
Amarelearning a lot..16:54
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc16:55
lkclalmost 4 years, so far16:55
lkcla lot of the design complexity makes absolutely no sense whatsoever if it wasn't for the goal we had in mind16:56
lkcl(from the beginning)16:56
Amareyes. with regard to 3D GPU, what is the plan? Are you going to use vector extensions of the processor and use them through a software driver to support vulkan for example?16:56
lkclabsolutely nobody in their right mind considers designing, as their very first processor, a memory architecture that requires 256-bit-wide internal buses.16:57
lkclactually, 2x128-bit16:57
lkclyes.  the Scalable Vector Extension to Power ISA has been 2 years already, with 18+ months gone into it prior to that initially on RISC-V16:57
lkclyes, there are 2 NLnet Grants for Vulkan drivers. one in c++ (Mesa), the other in rust (Kazan).16:58
lkclboth of those NLnet Grants are coming to an end mid-october, so at some point we have to put new ones in16:58
lkclthis is the Scalable Vector Extension (Draft) in PDF form:
lkclbut actually that's just a pandoc-auto-generated version of the markdown behind
lkclghostmansd[m], i'm adding in Pack/Unpack mode into and it's:17:05
lkcl@@ -197,6 +197,7 @@ class SVP64RMMode(Enum):17:05
lkcl     BRANCH = 517:05
lkcl+    PACK = 617:05
lkclso, for not-being-annoying, if things are working fine in the binutils branch (which we ran yesterday all the unit tests) can i suggest merging sooner rather than later?17:06
lkclAmare, btw you can run individual unit tests, stand-alone, from python, on an isolated core17:06
lkcl(as nmigen simulations)17:06
lkcllkcl@fizzy:~/src/libresoc/soc/src/soc$ !61617:07
lkclpython3 simple/test/ nosvp64  >& /tmp/f117:07
lkclthen do something else for 20-30 minutes :)17:07
lkclif you look in soc/fu/{pipelinename} and soc/fu/compunits you'll find individual pipeline tests17:08
lkclthen if you look in the pipeline directories you'll find individual module unit tests for e.g. the popcount module etc.17:09
lkclfrankly i'm astounded that other FOSS processor designs don't have extensive unit tests right down to the individual module level.17:10
lkcloften they have high-level (system-integrated) unit tests, or if there's something really difficult there's *one* unit test17:10
lkclbut there's just... absolutely no way in hell that we'd be able to manage a project this size without unit tests right across the board17:11
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC17:16
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc17:28
ghostmansd[m]lkcl, OK, let's merge it :-)17:43
ghostmansd[m]I wanted to postpone it until I'm completely sure with binutils part... but, considering the recent progress, perhaps we should do it now.17:46
lkclcan you do it? i get confused when merge-conflicts occur.17:46
lkclyehyeh i saw17:47
ghostmansd[m]Sure, but no sooner than in a couple of hours, I'm AFK17:47
lkcli may actually end up merging master into binutils...17:47
lkclok no problem17:47
lkclno mad rush17:47
lkcli'm doing pack/unpack17:47
ghostmansd[m]Beware though that I updated it a little bit. It'd be great if you could relaunch that big test.17:47
lkclyyeah i can do that18:26
lkclrunning it now18:27
ghostmansd[m]thanks lkcl!18:52
*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has quit IRC18:59
*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc19:00
ghostmansd[m]Luke, I can merge it now, if nothing prevents us :-)19:33
ghostmansd[m]lkcl ^^^19:39
ghostmansd[m]ping me whenever you're free; in the worst case, I'll hold some updates and merge it tomorrow.19:39
ghostmansd[m]Or, better, you could publish how to run the desired tests, and I won't bother again :-)19:39
lkclghostmansd[m], yes sure19:46
lkcl1 sec drat19:47
lkclpython3 simple/test/ nosvp64  >& /tmp/f119:51
lkclmissing HDLstate.get_fpregs() which i added only recently19:53
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC19:59
*** lx0 <lx0!~lxo@gateway/tor-sasl/lxo> has quit IRC20:04
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc20:04
ghostmansd[m]Perfect, so I can merge it, right?20:05
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC20:20
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc20:21
*** Amare <Amare!~Amare@2402:d000:8114:342c:ef8e:55ac:b670:efe1> has quit IRC20:33
*** ghostmansd <ghostmansd!~ghostmans@> has joined #libre-soc21:19
ghostmansdlkcl, I'm pushing the commits, please revert to 7c5620e4c7815b2f18961d5f380381261bbdec3c in case of issues21:20
*** ghostmansd <ghostmansd!~ghostmans@> has quit IRC21:24
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc21:39
lkclghostmansd[m], thx. sorry had a phone call22:09
* lkcl sorting out the various messes i've been making22:47
lkclok fiiinally got run and completed (and producing the expected errors it's been producing for a few months)23:10
lkcli.e. no new ones, phew23:10
programmerjakeghostmansd[m]: if you're still using the binutils branch, you'll want to add;a=commitdiff;h=fc28a2092354be8d7b6469f245fd3a22f8844c8723:39
programmerjakeit makes `python3 develop` actually use the cached-property git repo rather than PyPI, since pip and setuptools resolve dependencies differently23:41

Generated by 2.17.1 by Marius Gedminas - find it at!