Monday, 2022-04-04

lkclthat did it00:49
lkcli was looking for that file00:49
lkclgaah that was complicated, but looks like it's functional00:55
programmerjakeoh, btw, you can use `git commit --allow-empty` rather than modifying files if you need to push something but don't need any changes01:50
*** alMalsamo is now known as littlebobeep06:26
programmerjakepretty interesting -- tour of datacenter with a bunch of power10 servers:
programmerjakeand x86 and z-series10:16
Veera[m]Did lkcl finished the fpga milestone in time!10:45
programmerjakeidk, but he's at least very close10:48
Veera[m]did he got project time extension10:58
programmerjakeiirc he has some plans for dealing with that (he talked to me privately, idk if he wants me to share them publicly just yet in case they don't work out, i'm assuming he'll announce them shortly)11:03
lkclprogrammerjake, "why c isn't a language" went down reaaallly well on slashdot..
Veera[m]lkcl: University of Oregon did not respond with successfull account opening status. Did Erik or Sameer contacted you?15:19
Veera[m]lkcl: By the way I uploaded nextpnr-xilinx-install script!15:19
lkclVeera[m], not yet. i can ping them on Friday16:45
lkclif they haven't responded already by then16:45
lkclyes i saw, it looks great16:45
lkcli am going to run it now16:45
Veera[m]lkcl: Please tell the result soon16:47
lkclVeera[m], nextpnr-xilinx _really_ should not need yosys or buster-updates16:59
lkclnextpnr-ecp5 does not17:00
lkclif yosys is required then it should be assumed to already been installed (by the other dev-env-setup scripts)17:02
tplatenI got the first few instructions working correctly for microwatt_verilator17:04
lkcltplaten, excellent17:05
tplatenThe first 13 instructions seem to be correct17:38
Veera[m]<lkcl> "if yosys is required then it..." <- A recent yosys known to work with nextpnr-xilinx may be essential (I thought). And because nextpnr recommends latest working git commit!17:39
lkclyeah that's not going to work :)17:39
lkclwhat they *recommend* and what in actual reality will work when doing *actual* designs are two different things17:40
Veera[m]lkcl: So should I remove yosys instructions? What version of yosys you recommend?17:41
lkclsaying "use the latest" means, putting it bluntly, "we can't be bothered to coordinate reliable versioning, compatibility or stable interoperability"17:41
lkclputting it more realistically, "nobody's damn well paying us jack so we do what we can and/or what we can cope with"17:41
lkclyosys should be removed entirely.17:41
lkcland the inclusion of buster-updates17:41
lkcli've already done it, just not committed17:42
Veera[m]I used a tested working yosys version from symbiflow project (recommendation)17:42
lkclVeera[m], whatever yosys recommends, whatever symbiflow recommends, it is critically important *not* to do so17:42
lkclwe have *very* specific versions of very specific packages that will only work successfully17:42
Veera[m]Yeah I knewed that.17:43
lkclwhatever {insert random project} says "is recommended" is going to cause failures17:43
Veera[m]Can you please commit the correct version17:43
lkclthere is no "correct" version17:43
lkclthis script should install nextnpr-xilinx and nextpnr-xilinx onl17:43
Veera[m]And I have not put buster-updates. It is only buster backports (needed for cmake)17:44
Veera[m]lkcl: ??17:44
openpowerbot[mattermost] <lkcl> my internet connection was disconnected17:52
openpowerbot[mattermost] <lkcl> still recovering17:52
openpowerbot[mattermost] <lkcl> cmake works fine without buster-backports.17:53
openpowerbot[mattermost] <lkcl> *another* script needs a *different* version of cmake17:53
openpowerbot[mattermost] <lkcl> look again at nextpnr-ecp517:53
Veera[m]ok. So I will adjust script so that yosys dependencies are not installed and backports is not used.17:56
openpowerbot[mattermost] <lkcl> 1 sec17:56
openpowerbot[mattermost] <lkcl> done17:57
openpowerbot[mattermost] <lkcl> now to run it on silicon server17:57
openpowerbot[mattermost] <lkcl> ok it's now running18:00
openpowerbot[mattermost] <lkcl> ok installed18:12
openpowerbot[mattermost] <lkcl> now for nmigen so i can run a test18:12
openpowerbot[mattermost] <lkcl> can'tremember the command needed... oh yes ... xc3sprog18:25
Veera[m]is it working, success!18:48
lkcljust installed yosys19:12
lkclurrr xc100.bin file is in the wrong directory19:13
lkclexpected to be in /usr/share/nextpnr/xilinx-chipdb19:14
lkclwhich comes from a CHIPDB define...19:15
Veera[m]I have put in different dir. And adjusted xilinx/examples/attosoc/ script accordingly19:18
lkclah brilliant19:20
lkclshouldn't really be in /usr/share, should be in /usr/local/share but i'm not going to worry about that19:20
lkcldrat, fasm2frames is missing19:22
lkclah, it isn't... it's just that the python libraries it needs are in a "stupid" location19:25
lkcl(not in the python path)19:25
lkclthat means that /usr/local/bin/fasm2frames hasn't been installed in a standard pythonic way19:26
lkclVeera[m], can you put this line into /usr/local/bin/fasm2frames, with a note, "this is a dreadful hack"19:31
lkclor something19:31
lkclor better "a proper should be used for fasm2frames with an entrypoints console-scripts19:32
lkcl    entry_points={19:32
lkcl        'console_scripts': [19:32
lkcl            'pywriter=openpower.decoder.pseudo.pywriter:pywriter',19:32
Veera[m]fasm2frames is installed with fasm pkg while installing prjxray19:33
Veera[m]pip3 install prjxray19:33
lkclthen it's a total dog's dinner19:35
lkclcan you raise a bugreport about that?19:38
lkclah ha19:39
lkclrrright.  installing from source might do better19:39
lkclbtw also the database is in the wrong location as well...19:39
* lkcl thinks19:39
lkcltell you what, i'm going to alter nmigen-boards to use the nextpnr-xilinx locations19:40
lkcldon't do the alterations to /usr/share19:40
lkcli'll change nmigen to instead match /usr/local/nextpnr-xilinx19:40
Veera[m]sorry. fasm2frames is part of prjxray and pip3 fasm. In my way of setup at /usr/local/nextpnr-xilinx/utils/fasm2frames.py19:42
Veera[m]and not pip3 fasm!!!19:43
Veera[m]please use env var PATH and XRAY_DIR to /usr/local/nextpnr-xilinx19:44
lkclthe problem is that nmigen-boards uses DB_DIR/something19:45
lkclwhere the installation goes into DB_DIR/somewhere_else19:45
lkclone puts in ${DB_DIR}/database19:46
lkclthe other expects to be ${DB_DIR}/xilinx-db19:46
lkclso using DB_DIR (or XRAY_DIR) ain't gonna help, it'll still be wrong19:46
Veera[m]//usr/local/nextpnr-xilinx/utils/ has some fixed var for paths19:48
Veera[m]please see nextpnr-xilinx-install script. I have copied utils directory from source to /usr/local/nextpnr-xilinx/ and tools file to /usr/local/nextpnr-xilinx/build19:49
lkclok i am on uoregon silicon server19:54
lkclthat's really odd19:56
lkclthat's correct19:57
lkclok i got it20:00
lkclif you use "python3 develop" *instead* of "pip3 install ." it will "work"20:00
lkclbecause the directory "/home/${SUDO_USER}/src/nextpnr-xilinx/prjxray" will be added into $PYTHONPATH20:01
Veera[m]lkcl: fpga milestone for NGI POINTER?!!! Did you made in time!21:02
lkclVeera[m], no, i'm behind by 4 days now21:29
Veera[m]did that board attached to Silicon server worked!!21:32
lkclerik kindly confirmed21:39
lkcli'm currently installing ls221:39
Veera[m]oh. good21:40
lkclthat should get me a build where i can get some console output21:49
lkclVeera[m], i did this to "fix" the nextpnr-xilinx iss21:59
lkclso you don't need to modify the directories esp. XRAY_DB21:59
Veera[m]dfutil, openFPGALoader, ujprog and fujprog: do I have to make combined install script or separate one for each22:09
lkcla combined script, just drop all of them in22:10
lkcland xc3sprog and ecppack22:10
lkclsorry ecpprog22:10
lkclthey're "general FPGA programming" tools and we might as well have all of them22:11
Veera[m]so console output for ls2 came?22:15
Veera[m]I mean, is it a local board on your desk/room?22:15
lkclnot yet, i messed up22:21
Veera[m]Does xc3sprog supports xc7 (artix-7)?22:21
lkcltreated as "nexys4"22:21
lkclit's all already encoded into nmigen_boards arty_a7.py22:22
Veera[m]Eh, Luke will the name fpga-boot-loaders-progs be good!23:34
lkclpffh sure :)23:35
lkcli got libre-soc compiled and running hello_world.bin on the A7-100t connected to UOregon's server23:35
lkclso that's confirmed, functional, the UART as well23:35
lkcli had to work out how to do USB remote power-cycle (!)23:36
Veera[m]And so for nextpnr-xilinx-install script only that "python3 develop" has to be added. As I wrote yosys dependencies may be removed. Any other changes for that script?23:38
lkcli already did the removal of yosys.23:43
lkcljust the python3 develop and that should be it23:43
lkclneeds confirming though23:43
lkclif you can re-run it, in a new chroot23:44
lkclbut use hdl-yosys-tools to install yosys in the same (new) chroot23:44
octaviusI ran hdl-yosys-tools in a new chroot on my laptop earlier today, installed fine (although I didn't run any .il files through it yet)23:49
lkclya got a half-decent laptop?23:49
lkcl16 GB RAM or higher?23:50
octaviusnah, 4GB core 2 duo from 12 years ago XD23:50
octaviusbut it works fine, so I use it23:51
octaviusFigured may as well do work while I visit at the hospice23:51
lkclooo. melt, melt23:51
octaviusIt did compile....after a while XD23:51
lkclyyeah 4GB RAM... hey if you're allowed internet connectivity you can ssh into the server23:52
lkclthat's a Monster23:52
octaviusAlso, nmigen question, if I want to compare a signal against a constant, can I just use m.If(signal==1)?)23:52
octaviusHeheh, maybe later, I want to have a local environment for small dev23:52
lkclif it's a 1-bit SIgnal, just do "m.If(Signal)23:53
octaviusUnfortunately it can be more than 1 bit23:53
octaviussay 2-bits, 0/1/2/323:53
lkclit *should* work but i generally do an explicit Const(value, bitlength)23:53
octaviusAh ok23:53
lkclyou can check it for yourself by converting to verilog23:53
octaviusbecause the issue I've been trying to hammer is the GPIO blocks connections of individual GPIOs to the common WB bus, need to have a mux controlled by the address (row+byte)23:54
octaviusWhat you mentioned is what I was thinking of doing, will implement it tomorrow, about time XD23:55
lkclanother way: if you know it's only 1 bit that you want to test:23:55
octaviusIt cant be one bit unfortunately. For example, WB bus is 32bits (4 bytes) and 16 GPIOs will give you 4 addresses (or rows)23:56
octaviusBut what you said about doing Const() should work23:57

Generated by 2.17.1 by Marius Gedminas - find it at!