lkcl | the good news is that over time (age 40+), things get better. it's just what happens. | 00:01 |
---|---|---|
lkcl | why on earth are there no simple instructions and simple scripts for symbiflow arty a7?? | 00:02 |
lkcl | i have to ask someone about where to find this stuff | 00:02 |
* lkcl forgot the name of the person working on symbiflow... | 00:03 | |
lkcl | lethalbit. that's it | 00:03 |
programmerjake | https://github.com/orgs/SymbiFlow/people | 00:05 |
lkcl | lethalbit is involved with symbiflow hq... not entirely sure of the difference! | 00:06 |
programmerjake | do you mean yosys hq? | 00:12 |
lkcl | programmerjake, looks like it https://github.com/lethalbit | 00:15 |
Las[m] | lkcl: Have you used Rust before? | 00:17 |
lkcl | Las[m], only as part of an install script. | 00:18 |
Las[m] | lkcl: Have you used typed functional languages at all? | 00:18 |
lkcl | yes. 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 about | 00:20 |
lkcl | i've recently picked up verilog and vhdl by "osmosis" :) | 00:21 |
Las[m] | Rust is basically a language that is globally functional and locally imperative | 00:22 |
lkcl | i learn programming languages not by studying them or learning their features, i learn them simply by "doing" and by auto-didact inference | 00:23 |
Las[m] | i.e. it has all the usual imperative syntax and features, but raw global state is impossible without unsafe features | 00:23 |
Las[m] | I can't relate to that, I always find it's faster just to read the reference | 00:24 |
lkcl | if 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 it | 00: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 important | 00:24 |
lkcl | it's something to do with the way my brain works, to do with long / short term memory retention issues | 00:24 |
lkcl | if i read a Reference Manual, it's almost completely meaningless to me. | 00:25 |
Las[m] | I like reading reference manuals | 00:25 |
lkcl | i can only remember parts of it by reading it literally 10, 15, 20 times. | 00:25 |
programmerjake | raw 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 types | 00:26 |
lkcl | however | 00:26 |
Las[m] | Well that isn't raw global state anymore | 00:26 |
lkcl | if *after* i've learned the basics (through auto-didact inference), i then look at the reference manual, the reference manual *becomes* useful | 00:26 |
lkcl | but as a starting point, they just piss me off because i have no "context" | 00:26 |
programmerjake | for Rust, the compiler has really good error messages, so after you learn 3-4 basic concepts you can pick up most the rest by doing | 00:27 |
programmerjake | the basic concepts are traits, shared/unique references, and lifetimes | 00:28 |
programmerjake | learn rust by doing: https://doc.rust-lang.org/stable/rust-by-example/ | 00:30 |
programmerjake | you can probably put off learning traits till later | 00:31 |
lkcl | hooly cow. symbiflow requires both conda *and* pip. | 00:33 |
lkcl | then that example i found drops the results into a dockhaaa container | 00:34 |
lkcl | madness | 00:34 |
programmerjake | welp :) | 00:35 |
lkcl | jaezuss, going to have to actually reverse-engineer how to install the symbiflow software for arty a7. | 00:39 |
lkcl | https://symbiflow-examples.readthedocs.io/en/latest/building-examples.html#xilinx-7-series | 00:39 |
lkcl | right. | 00:39 |
lkcl | running that command tells me "symbiflow_synth" is missing. | 00:39 |
lkcl | that's a good first step. | 00:39 |
lkcl | https://github.com/SymbiFlow/symbiflow-examples/issues/52 | 00:41 |
lkcl | grat. | 00:41 |
programmerjake | seems like that's built/installed using cmake...maybe your using the wrong entrypoint or your cmake is too old? | 00:55 |
lkcl | i'm seeing an open-then-closed bugreport, there. literally no information. | 00:57 |
lkcl | i had to guess where to find symbiflow_synth - turns out it's in symbiflow-arch-defs | 00:57 |
lkcl | which in turn, having found it, tells me you have to have yosys (which we've got scripts for) | 00:58 |
programmerjake | I was going off browsing the files in the repo and guessing :) that bug report was useless | 01:11 |
lkcl | yeah i'm caught up, now. yes, cmake. | 01:21 |
lkcl | and conda | 01:21 |
lkcl | which is currently downloading a pre-compiled, binary-only, untrusted, unverified version of riscv-gcc | 01:22 |
lkcl | and nodejs | 01:22 |
lkcl | (wtf??) | 01:22 |
lkcl | its own local version of python 3.7 | 01:22 |
lkcl | this is a self-contained sub-operating-system | 01:23 |
lkcl | krb5 | 01:23 |
lkcl | libiconv | 01:23 |
lkcl | what the hell is going on?? | 01:23 |
programmerjake | well, they wanted to not have to deal with all the different linux distros and their mix of versions, i guess | 01:24 |
lkcl | indeed. standard fare for containers | 01:34 |
lkcl | unfortunately, some of the requirements don't even exist | 01:35 |
lkcl | vtr-xml-utils - ah, i know: it's been installed manually, but is still listed in pip3 requirements.txt | 01:36 |
lkcl | so is "normally" satisfied, but if you've not installed it manually, "error, package not found on pypi" | 01:36 |
lkcl | sigh | 01:36 |
lkcl | i'm going to have to let this run, then manually "extract" only the parts that are actually needed, afterwards | 01:43 |
lkcl | dang | 01:44 |
lkcl | i won't know what those are until the entire lot's built | 01:44 |
lkcl | making good progress with xc7 symbiflow. | 13:53 |
lkcl | fragmented, but progress. | 13:53 |
lkcl | so far am blocked at vpr / vtr | 13:53 |
lkcl | sorted. | 14:15 |
lkcl | also got xc7frames2bits from prjxray | 14:16 |
lkcl | success with the blinky lights example. | 14:42 |
lkcl | dang that was tough | 14:43 |
richardwilbur[m] | Just ran a 5k race (the Galloping Gertie, https://galloping-gertie.com/ ), 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 irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!