Saturday, 2021-08-07

lkclthe good news is that over time (age 40+), things get better. it's just what happens.00:01
lkclwhy on earth are there no simple instructions and simple scripts for symbiflow arty a7??00:02
lkcli have to ask someone about where to find this stuff00:02
* lkcl forgot the name of the person working on symbiflow...00:03
lkcllethalbit.  that's it00:03
lkcllethalbit is involved with symbiflow hq... not entirely sure of the difference!00:06
programmerjakedo you mean yosys hq?00:12
lkclprogrammerjake, looks like it
Las[m]lkcl: Have you used Rust before?00:17
lkclLas[m], only as part of an install script.00:18
Las[m]lkcl: Have you used typed functional languages at all?00:18
lkclyes. i'm 51, went to imperial college. i know BASIC, pascal, modula-2, c, c++, python, perl, javascript, java, multiple assembly languages, python, Hope (a parallel functional language developed at Imperial College), prolog, and some other obscure ones i've since forgotten about00:20
lkcli've recently picked up verilog and vhdl by "osmosis" :)00:21
Las[m]Rust is basically a language that is globally functional and locally imperative00:22
lkcli learn programming languages not by studying them or learning their features, i learn them simply by "doing" and by auto-didact inference00:23
Las[m]i.e. it has all the usual imperative syntax and features, but raw global state is impossible without unsafe features00:23
Las[m]I can't relate to that, I always find it's faster just to read the reference00:24
lkclif i can't do that (can't infer the language simply by reading and "doing"), it pisses me off and i don't bother with it00:24
Las[m]Anyway, my point is it's a great language compared to everything in the same space, i.e. imperative languages where no RTS is important00:24
lkclit's something to do with the way my brain works, to do with long / short term memory retention issues00:24
lkclif i read a Reference Manual, it's almost completely meaningless to me.00:25
Las[m]I like reading reference manuals00:25
lkcli can only remember parts of it by reading it literally 10, 15, 20 times.00:25
programmerjakeraw global state: that's not completely true, Rust just requires you wrap the global state in some type intended to be accessed from multiple threads, so you can have global atomic types, or global mutexes, or other similar types00:26
Las[m]Well that isn't raw global state anymore00:26
lkclif *after* i've learned the basics (through auto-didact inference), i then look at the reference manual, the reference manual *becomes* useful00:26
lkclbut as a starting point, they just piss me off because i have no "context"00:26
programmerjakefor Rust, the compiler has really good error messages, so after you learn 3-4 basic concepts you can pick up most the rest by doing00:27
programmerjakethe basic concepts are traits, shared/unique references, and lifetimes00:28
programmerjakelearn rust by doing:
programmerjakeyou can probably put off learning traits till later00:31
lkclhooly cow.  symbiflow requires both conda *and* pip.00:33
lkclthen that example i found drops the results into a dockhaaa container00:34
programmerjakewelp :)00:35
lkcljaezuss, going to have to actually reverse-engineer how to install the symbiflow software for arty a7.00:39
lkclrunning that command tells me "symbiflow_synth" is missing.00:39
lkclthat's a good first step.00:39
programmerjakeseems like that's built/installed using cmake...maybe your using the wrong entrypoint or your cmake is too old?00:55
lkcli'm seeing an open-then-closed bugreport, there. literally no information.00:57
lkcli had to guess where to find symbiflow_synth - turns out it's in symbiflow-arch-defs00:57
lkclwhich in turn, having found it, tells me you have to have yosys (which we've got scripts for)00:58
programmerjakeI was going off browsing the files in the repo and guessing :) that bug report was useless01:11
lkclyeah i'm caught up, now.  yes, cmake.01:21
lkcland conda01:21
lkclwhich is currently downloading a pre-compiled, binary-only, untrusted, unverified version of riscv-gcc01:22
lkcland nodejs01:22
lkclits own local version of python 3.701:22
lkclthis is a self-contained sub-operating-system01:23
lkclwhat the hell is going on??01:23
programmerjakewell, they wanted to not have to deal with all the different linux distros and their mix of versions, i guess01:24
lkclindeed. standard fare for containers01:34
lkclunfortunately, some of the requirements don't even exist01:35
lkclvtr-xml-utils - ah, i know: it's been installed manually, but is still listed in pip3 requirements.txt01:36
lkclso is "normally" satisfied, but if you've not installed it manually, "error, package not found on pypi"01:36
lkcli'm going to have to let this run, then manually "extract" only the parts that are actually needed, afterwards01:43
lkcli won't know what those are until the entire lot's built01:44
lkclmaking good progress with xc7 symbiflow.13:53
lkclfragmented, but progress.13:53
lkclso far am blocked at vpr / vtr13:53
lkclalso got xc7frames2bits from prjxray14:16
lkclsuccess with the blinky lights example.14:42
lkcldang that was tough14:43
richardwilbur[m]Just ran a 5k race (the Galloping Gertie, ), pushing my disabled nephew.  We had a great time!  The whole family went:  my two daughters, my wife, my sister-in-law, my three nieces, and my sister-in-law‘s mom.19:56
richardwilbur[m]lkcl: Blinky lights on Arty A7 with libre toolchain?  Congrats!20:03

Generated by 2.17.1 by Marius Gedminas - find it at!