tplaten | Today I tried Vulkan again, it does work on my Talos II if I use Debian SID (which I boot from an external SSD). I was able to start Godot4, which I had built yesterday. | 16:18 |
---|---|---|
tplaten | The Godot thread is at https://forums.raptorcs.com/index.php/topic,306.0.html | 16:45 |
tplaten | When I run make in microwatt, I get core_tb.vhdl:19:5:error: port "bram_do" of mode IN must be connected | 17:47 |
lkcl | tplaten, you must use "make microwatt-verilator" only | 17:47 |
lkcl | you can't use the microwatt-verilator branch to build anything other than FPGA_TARGET=verilator | 17:48 |
lkcl | i haven't done any integration in that branch with FPGAs | 17:48 |
lkcl | if you want to build *anything* other than microwatt-verilator you cannot ues the microwatt_verilator branch. | 17:49 |
lkcl | i haven't had time | 17:49 |
tplaten | I agree, I test on master | 18:00 |
lkcl | bear in mind that, sigh, there is a bug in older versions of microwatt, with respect to the Wishbone Bus | 18:01 |
lkcl | i have some code as a workaround but it's hard to spot unless you know what to look for | 18:01 |
lkcl | WB addresses are supposed to be aligned. | 18:01 |
lkcl | if you have a 64-bit data bus and 8-bits of select lines, and you want to write to a byte, you: | 18:02 |
lkcl | * take the address and shift it down by 3 bits (because 64-bit data ==> 8 bytes ==> 8=2^3 therefore knock the 3 LSBs off the WB address) | 18:02 |
lkcl | * set the required "sel" bit to match the byte you want to write | 18:03 |
lkcl | microwatt disobeyed rule (1) and simply put the *entire* address - including the lower 3 LSBs - onto the wishbone bus | 18:03 |
lkcl | that was consistent throughout the *entire* codebase! | 18:03 |
lkcl | so it looked like there wasn't a problem | 18:04 |
lkcl | but when you *use* microwatt, you had to add 3 extra zeros on front of any addresses! | 18:04 |
lkcl | that's now fixed in later versions | 18:04 |
tplaten | I cloned microwatt today | 18:05 |
tplaten | But now, when I run make microwatt.bit I get 11. Executing GHDL. error: missing value in generic override option | 18:05 |
lkcl | it's a really readable codebase, isn't it? | 18:05 |
lkcl | ah | 18:05 |
lkcl | no idea about that | 18:05 |
lkcl | if you join #microwatt here on libera it gets bridged through to the openpower mattermost | 18:06 |
lkcl | what version of ghdl do you have? | 18:07 |
lkcl | t$ ghdl --version | 18:07 |
lkcl | GHDL 2.0.0-dev (1.0.0.r955.g263c843ed) [Dunoon edition] | 18:07 |
lkcl | Compiled with GNAT Version: 9.3.0 | 18:07 |
tplaten | I had a look at the Makefile, the error is coming from yosys with ghdl plugin | 18:11 |
lkcl | oh that sounds familiar, 1 sec | 18:12 |
tplaten | Yosys 0.14+42 (git sha1 158600004, clang 7.0.1-8+deb10u2 -fPIC -Os) | 18:12 |
lkcl | use this commit commit c9b05e481423c55ffcbb8 | 18:12 |
lkcl | yep do not use the latest version of yosys, it is guaranteed not to work | 18:13 |
tplaten | GHDL 2.0.0-dev (1.0.0.r995.g83a5f964) [Dunoon edition] | 18:13 |
lkcl | $ yosys --version | 18:13 |
lkcl | Yosys 0.13 (git sha1 8b1eafc3a, | 18:13 |
lkcl | yep version of ghdl is fine, you can't use the latest version of yosys. | 18:13 |
lkcl | or yosys-ghdl-plugin | 18:13 |
tplaten | I agree, I make a backup, then downgrade to Yosys 0.13 | 18:14 |
lkcl | it took a while to find those | 18:14 |
tplaten | In git clone https://github.com/YosysHQ/yosys.git there is no commit c9b05e481423c55ffcbb8, git log does not show that commit | 18:26 |
lkcl | i'm using this [remote "origin"] | 18:27 |
lkcl | url = https://github.com/cliffordwolf/yosys.git | 18:27 |
lkcl | actually probably this [remote "libresoc"] | 18:27 |
lkcl | url = gitolite3@git.libre-soc.org:yosys.git | 18:27 |
lkcl | $ git branch | 18:28 |
lkcl | * (HEAD detached at yosys-0.13) | 18:28 |
lkcl | ls180 | 18:28 |
lkcl | it's a tag | 18:28 |
lkcl | you _should_ be able to just do "git checkout yosys-0.13" | 18:28 |
tplaten | I did a "git checkout yosys-0.13", it works | 18:33 |
lkcl | brilliant | 18:34 |
lkcl | that was a frickin quick compile btw :) | 18:34 |
tplaten | Unrelated to libre-soc, Yesterday I was trying out Godot4 on my Talos II. It does work using Vulkan. | 18:36 |
lkcl | nice! | 18:37 |
lkcl | https://godotengine.org/article/dev-snapshot-godot-4-0-alpha-3 | 18:37 |
tplaten | I am using the fork from v-sekai. | 18:38 |
programmerjake | tplaten nice! you already mentioned that you got vulkan working earlier. | 18:39 |
tplaten | I did, once yesterday, and once today, before lkcl replied | 18:40 |
lkcl | holy cow i have verilator simulations returning data from the DDR3 "fake phy" | 18:45 |
lkcl | it's not the _right_ data but at least it's data :) | 18:45 |
lkcl | it means that the chip-select is the right way round for a start | 18:47 |
programmerjake | yay! | 18:50 |
*** tplaten <tplaten!~isengaara@p200300ddff1d9c00832d97cf96d5fc15.dip0.t-ipconnect.de> has left #libre-soc | 18:53 | |
lkcl | yeah it's a big deal | 19:48 |
lkcl | chip-select was inverted | 19:48 |
lkcl | in the ECPIX board it's clear that the chip-select wire has been hard-wired to zer0 | 19:48 |
lkcl | woo i managed to get execution up to 60 mhz, that's new | 21:47 |
programmerjake | that's a whole 20% faster than my rv32 core! | 21:52 |
lkcl | well it is still TestIssuer so only 0.1 to 0.15 IPC :) | 21:54 |
programmerjake | :) i'd guess my rv32 core has an ipc around 0.7-0.9 -- branch takes 2 cycles, everything else takes 1 cycle iirc | 22:12 |
programmerjake | so...faster if all you care about is mhz | 22:13 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!