*** psydroid <psydroid!~psydroid@user/psydroid> has quit IRC | 00:39 | |
*** yambo <yambo!~yambo@184-167-135-012.res.spectrum.com> has quit IRC | 01:58 | |
*** yambo <yambo!~yambo@184-167-135-012.res.spectrum.com> has joined #libre-soc | 02:03 | |
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC | 03:01 | |
*** charlie5 <charlie5!~charlie5@144.136.23.60> has joined #libre-soc | 06:12 | |
*** Lucretia-backup <Lucretia-backup!~laguest@84.66.176.156> has joined #libre-soc | 07:19 | |
*** josuah <josuah!~josuah@46.23.94.12> has quit IRC | 07:25 | |
*** Lucretia <Lucretia!~laguest@user/lucretia> has quit IRC | 07:25 | |
*** ghostmansd[pc] <ghostmansd[pc]!~ghostmans@broadband-90-154-80-239.ip.moscow.rt.ru> has quit IRC | 07:31 | |
*** mx08 <mx08!~mx08@user/mx08> has quit IRC | 08:20 | |
*** mx08 <mx08!~mx08@user/mx08> has joined #libre-soc | 08:22 | |
* lkcl waves to charlie5 and Lucretia-backup - welcome to an interesting ambitious project | 09:05 | |
lkcl | ghostmansd[m], yes that's pretty rapid progress, a good sign | 09:05 |
---|---|---|
lkcl | indeed don't do anything other than the 32-bit ops. (one of the reasons i'm clamping down on PO1 is precisely to keep the decode simpler than its massive complexity-by-necessity already has to be) | 09:06 |
ghostmansd[m] | Yeah I kinda impressed how far I reached in a couple of days. Visitors made it real. | 09:06 |
ghostmansd[m] | This justifies the efforts we made on that task. :-) | 09:07 |
ghostmansd[m] | I still find them tricky, though, especially whenever visiting different objects needs to "communicate" (e.g. track some stuff from children at parent level hook). | 09:08 |
lkcl | yes that's when you either do 2-pass or use a "stack" or basically keep state inside the parent. | 09:09 |
lkcl | but this is "perfectly normal" for SAX visitors in python | 09:10 |
lkcl | i've seen the technique be used... literally dozens of times in python-based SAX code over 20+ years | 09:10 |
lkcl | and it is why the "walker" is strictly-defined in its behaviour | 09:11 |
lkcl | so that it is absolutely guaranteed to follow a certain path, such that you *can* drop stuff into the parent and know precisely and exactly with 100% confidence that that "stuff" can be picked up when the tree-walk exits a certain level | 09:11 |
lkcl | lib2to3 and lib3to2 ran with that concept and went... massively overboard, abstracting out "the ability to express *general pattern-matching* of node-to-node relationships and what to do on encountering them" | 09:13 |
lkcl | (!!!) | 09:13 |
lkcl | which is extremely powerful but utterly mind-melting | 09:13 |
lkcl | and the last thing we need right now - but it does help explain why e.g. XSLT was created, because the "parent-child-and-other" relationships are useful to be able to abstract/express/control-what-gets-done | 09:14 |
lkcl | as long as you don't imagine that it is your responsibility to create "re-entrant" (or multi-threaded) node-walking, treating the walker-api as a "single process, one-shot" deal, the practice of dropping in temporary variables into the visitor-instance and picking them up by other walker-functions (covering exit-back-to-parent) *is* absolutely standard practice. | 09:17 |
*** Lucretia <Lucretia!~laguest@user/lucretia> has joined #libre-soc | 09:29 | |
* Lucretia-backup waves at lkcl | 09:29 | |
*** Lucretia-backup <Lucretia-backup!~laguest@84.66.176.156> has quit IRC | 09:30 | |
lkcl | never had a backup wave at me before. having a bit of an amusingly-existential moment... | 09:30 |
lkcl | oh hi Lucretia :) | 09:30 |
Lucretia | lkcl: which hw can run this cpu/gpu/soc thing? | 09:30 |
Lucretia | yeah, it's a pain having to leave to change the nick back, so re-creating is easier. | 09:31 |
lkcl | i use hexchat, it "copes" with that.. partly | 09:39 |
lkcl | FPGAs and simulations only at the moment | 09:39 |
lkcl | Digilent Arty-A7-100t has the longest legs at the moment but will run out of steam once we get into the "big" FPU end. | 09:40 |
Lucretia | konversation won't change nick because of reistered channels | 09:40 |
lkcl | reconfiguring down to a 32-bit core will also help | 09:40 |
lkcl | doh | 09:40 |
lkcl | what we're doing is *real* basic. | 09:42 |
Lucretia | doesn't seem basic to me, but I'm sw not hw, yet | 09:43 |
lkcl | redefining an already-powerful ISA to become so flexible and compact that it's hard for most computer science people to grasp | 09:43 |
lkcl | i started out in sw, but also did electronics as a kid | 09:43 |
Lucretia | "that it's hard for most computer science people to grasp" sounds like you're making it less basic and really complex | 09:44 |
lkcl | 74 series logic ICs, diodes and transistors, made my own FM transmitters from "the anarchist's handbook" :) | 09:44 |
Lucretia | I intend to do nand to tetris | 09:44 |
Lucretia | and have a z80 in front of me :D | 09:44 |
lkcl | actually the total opposite - which is why it's stumping people | 09:44 |
lkcl | aaawesooome :) | 09:44 |
lkcl | i stamped down hard on the SIMD bullshit, leaving a simple scalar ISA, then effectively made it 2-dimensional via an *abstracted* (orthogonal) RISC-based "looping" prefix | 09:45 |
lkcl | like CPIR and LDIR | 09:45 |
lkcl | but on steroids :) | 09:45 |
Lucretia | tbh, simd is really a requirement for a good isa | 09:46 |
lkcl | at the back-end yes. | 09:46 |
Lucretia | so much uses it | 09:46 |
lkcl | at the front-end, no | 09:46 |
* Lucretia shrugs | 09:46 | |
lkcl | it turns out that underneath, Vector ISA implementations in hardware are *almost identical* to SIMD ISA implementations in hardware | 09:47 |
Lucretia | I don't know what you mean with front/back end in this context | 09:47 |
lkcl | in software terms: | 09:47 |
lkcl | ISA === "the API" | 09:47 |
lkcl | HW === "the details of the implementation *behind* the API"... aka "a dynamic library" | 09:48 |
lkcl | take strncpy as an example: the "header file" equals the front-end | 09:48 |
lkcl | the "c file" equals the back-end | 09:48 |
* lkcl need breakfast, afk for a bit | 09:49 | |
Lucretia | np | 09:50 |
charlie5 | thanks lkcl :) ... i also am s/w but eager to learn h/w | 09:52 |
* openpowerbot [irc] <sadoon[m]1> gets popcorn ready | 09:52 | |
* Lucretia got pointed here by someone on an amiga discord | 09:53 | |
*** octavius <octavius!~octavius@92.40.169.10.threembb.co.uk> has joined #libre-soc | 09:55 | |
*** ghostmansd[pc] <ghostmansd[pc]!~ghostmans@broadband-90-154-80-239.ip.moscow.rt.ru> has joined #libre-soc | 09:55 | |
Lucretia | charlie5: you going to do nand2tetris too? | 10:31 |
*** ghostmansd[pc] <ghostmansd[pc]!~ghostmans@broadband-90-154-80-239.ip.moscow.rt.ru> has quit IRC | 10:40 | |
charlie5 | Lucretia: not actually sure what that is | 10:50 |
Lucretia | tis a course | 10:50 |
Lucretia | https://www.nand2tetris.org/ | 10:51 |
charlie5 | https://www.nand2tetris.org/ | 10:51 |
charlie5 | :) | 10:51 |
Lucretia | they've got that with youtube vids or a coursera course, just do the yt stuff. I've not exactly started yet | 10:52 |
charlie5 | i'll take a look | 10:52 |
Lucretia | there's a vid on the first page | 10:52 |
charlie5 | hokay | 10:53 |
Lucretia | i'm thinking about doing that and learning vhdl at the same time | 11:02 |
Lucretia | and doing the vhdl at the same time | 11:02 |
Lucretia | one of the possible tasks at the end is to convert it all to vhdl, so may as well do it from the start | 11:02 |
openpowerbot | [irc] <sadoon[m]1> If you're coming from s/w you'll hate VHDL | 11:04 |
Lucretia | well, I'm coming from Ada, so I seriously doubt it | 11:05 |
openpowerbot | [irc] <sadoon[m]1> Ah! | 11:05 |
openpowerbot | [irc] <sadoon[m]1> Awesome | 11:05 |
Lucretia | I hate c likes and not a fan of python either | 11:05 |
openpowerbot | [irc] <sadoon[m]1> We were taught VHDL in uni, but I prefer (System)Verilog and nMigen is also much much better | 11:06 |
Lucretia | I won't like verilog | 11:06 |
openpowerbot | [irc] <sadoon[m]1> Yeah I assume | 11:06 |
Lucretia | and what I've read about being able to compile erroneous stuff in it, I'd be right too. | 11:07 |
octavius | Having a hardware engineering, VHDL/verilog are much closer to home (as powerful as nMigen is) | 11:07 |
Lucretia | no idea what you're trying to say | 11:07 |
openpowerbot | [irc] <sadoon[m]1> Yep, I'm always most comfortable with SystemVerilog | 11:08 |
openpowerbot | [irc] <sadoon[m]1> I think degree* | 11:08 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-90-154-80-239.ip.moscow.rt.ru> has quit IRC | 11:08 | |
Lucretia | we did digital at uni in first year, but never on real hw, just the theory | 11:08 |
Lucretia | they failed in so many things | 11:08 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.162.184> has joined #libre-soc | 11:09 | |
octavius | What I meant, is that software engineering techniques applied to hardware design require a lot of computer science knowledge (data structures, algorithms, mathematics etc.); I find this pretty difficult | 11:10 |
Lucretia | ah | 11:11 |
octavius | VHDL and verilog tend to be simpler (closer to logic gates) | 11:11 |
octavius | whereas if you look at some of our nMigen Libre-SOC source, you'll see stuff that goes way beyond that | 11:11 |
openpowerbot | [irc] <sadoon[m]1> Yeah in software you just abstract away all the electronics and assume that things work the way they're intended but when designing hardware in VHDL and Verilog you have to mind so many things | 11:12 |
Lucretia | I have a number of hw projects I want to play with, including an a1200 mb to get working | 11:12 |
octavius | Interesting: https://en.wikipedia.org/wiki/Amiga_1200 | 11:13 |
openpowerbot | [irc] <sadoon[m]1> I'm trying to remember the scientific definition of an electron being stuck in an unstable state between 0 and 1 in a transistor, it's on the tip of my tongue heh | 11:13 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.162.184> has quit IRC | 11:28 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@85.30.228.54> has joined #libre-soc | 11:28 | |
lkcl | verilog is... a 1980s concept, of the era of FORTRAN, BASIC and PASCAL. | 11:30 |
Lucretia | in c style | 11:30 |
lkcl | vhdl is *directly* out of ADA. as in: it *is* ADA. | 11:30 |
lkcl | yes | 11:30 |
Lucretia | including all the errors of c | 11:31 |
Lucretia | :P | 11:31 |
* Lucretia is aware of where vhdl came from...from peoples in #ada | 11:31 | |
lkcl | that's a... a... what's-the-word... | 11:31 |
lkcl | insult to c :) | 11:31 |
Lucretia | c deserves to be insulted | 11:32 |
lkcl | no it really doesn't. it's extremely powerful and misunderstood by modern programmers | 11:32 |
* Lucretia has worked in c and c++ | 11:32 | |
lkcl | when programmers don't actually single-step into the god-awful c++ templates they create, *that's* when it goes to hell in a handbasket, very quickly | 11:33 |
Lucretia | ahh the wasted billions $£ trying to fix c/c++ code | 11:33 |
lkcl | and yet c produces the fastest binaries, so people stick with it | 11:34 |
lkcl | python when used incorrectly - particularly without the rigourous safety net of unit tests - also goes very very badly, very very quickly | 11:35 |
openpowerbot | [irc] <sadoon[m]1> It's like a manual transmission car | 11:35 |
openpowerbot | [irc] <sadoon[m]1> You can money shift and break it and it costs a lot to fix, or you can make it the most efficient machine possible | 11:35 |
lkcl | as a 23-year-long python developer it's rather unfortunate that i've had to stamp on quite a few fingers over the past few years, when teaching people here some long-term maintenance rigour | 11:36 |
lkcl | and i haven't entirely succeeded, as it's that big and that complex a project | 11:37 |
Lucretia | if it's not built into the the language, there's going to be errors | 11:37 |
lkcl | ... which are caught by unit tests, and using appropriate linting tools, and setting proper review procedures | 11:37 |
lkcl | and the advantage is that when you *don't* need the bullshit-of-the-language getting in your way, you can move extremely quickly | 11:38 |
* lkcl (for context: i've been programming continously since 1977) | 11:39 | |
lkcl | we've been over these kinds of things - discussion and selection of languages - maaaany times already in the past 5 years :) | 11:40 |
lkcl | and at the low-level we're working at, which is bare-metal unit tests (1 to 10 lines of assembler), bootloaders and fundamental firmware, we have no choice but to work in assembler and c | 11:41 |
lkcl | yes ZephyrOS works | 11:41 |
lkcl | (confirmed) | 11:41 |
lkcl | and we expect linux (the microwatt-5.7 kernel by joel shenki) to run as well | 11:42 |
lkcl | i ran out of time to run it under the microwatt_verilator branch (the one that had ZephyrOS confirmed as running successfully, including running an embedded webserver as part of KestrelBMC) | 11:43 |
lkcl | the level of detail and sheer comprehensiveness involved in this project is... just mental. | 11:43 |
lkcl | which also has a nice side-effect that there's room - a niche - for pretty much anyone to help | 11:44 |
lkcl | (example...) | 11:44 |
lkcl | sadoon: i've just uploaded the debian-sffs.tar.xz file to the ftp site | 11:44 |
openpowerbot | [irc] <sadoon[m]1> Awesome | 11:44 |
openpowerbot | [irc] <sadoon[m]1> Keep in mind I do plan to improve things there (Debian and Gentoo) | 11:45 |
openpowerbot | [irc] <sadoon[m]1> So this image isn't final | 11:45 |
lkcl | not a problem, we'll just incrementally update it | 11:45 |
openpowerbot | [irc] <sadoon[m]1> Yep | 11:46 |
lkcl | but do keep it "basic" - don't include more than necessary if some scripts (run inside or even outside the chroot) can drop stuff into it from *other* sources | 11:46 |
charlie5 | have you guys looked into ada much ? | 11:47 |
openpowerbot | [irc] <sadoon[m]1> openpowerbot: Yeah of course | 11:47 |
lkcl | i'm thinking in terms of say using the trick that markos suggested of "dpkg --root=/blahblah" to unpack apt (and udev) from standard debian-12-ppc64le | 11:47 |
lkcl | rather than *us* providing what can already be downloaded from debian (and is gpg-signed) | 11:48 |
lkcl | charlie5, i remember being impressed by it when i learned of it back at imperial (1989 ish?) | 11:48 |
openpowerbot | [irc] <sadoon[m]1> Unfortunately apt again needs systemd which does not want to build with our CFLAGS | 11:48 |
lkcl | but we were steered away from "commercial" programming languages in case we got hired and didn't finish our degree :) | 11:49 |
openpowerbot | [irc] <sadoon[m]1> So we need devuan's sources for that specifically | 11:49 |
openpowerbot | [irc] <sadoon[m]1> (Needs udev)* | 11:49 |
lkcl | sadoon: no please don't - just unpack the standard debian apt and udev using a script and leave it at that. | 11:49 |
lkcl | or, just leave it. | 11:49 |
lkcl | the task is finished. | 11:49 |
openpowerbot | [irc] <sadoon[m]1> It might have VSX instructions | 11:50 |
lkcl | you've easily justified the funds | 11:50 |
lkcl | don't care. not our problem. | 11:50 |
openpowerbot | [irc] <sadoon[m]1> In that case then sure | 11:50 |
charlie5 | lkcl: ada is my main language ... it's performance is on par with c ... it also has many built in safety features ... the ada standard was 'recently' updated (in 2022) | 11:50 |
* charlie5 hops off his soapbox :) | 11:51 | |
lkcl | we're defining "success" as "what you managed to achieve" | 11:51 |
lkcl | yes... ohhh i remember. it was quoted to us as an example of how... eek trying to remember... you could write specifications and formal proofs that checked the data types | 11:51 |
openpowerbot | [irc] <sadoon[m]1> Well | 11:52 |
lkcl | i'm specifically thinking of in, out, and in/out | 11:52 |
lkcl | dang that was a long time ago | 11:52 |
lkcl | i also have vague recollections of getting a "D" in that particular course :) | 11:52 |
openpowerbot | [irc] <sadoon[m]1> I made reservation for a weekend vacation type of getaway but *only* if I finish my tasks | 11:52 |
openpowerbot | [irc] <sadoon[m]1> And now I'm there | 11:52 |
openpowerbot | [irc] <sadoon[m]1> So :) | 11:52 |
Lucretia | and you missed the point entirely,. If it's in the language, you don't need linting tools | 11:52 |
lkcl | you've finished the task :) | 11:53 |
openpowerbot | [irc] <sadoon[m]1> Which is why I'm on vacation :D | 11:53 |
lkcl | i didn't, Lucretia: sorry for not acknowledging (lack of empathy on my part) | 11:53 |
openpowerbot | [irc] <sadoon[m]1> My cue to go enjoy my time, ttyl! :D | 11:53 |
lkcl | i moved beyond that, skipping ahead | 11:53 |
lkcl | enjoy, sadoon | 11:53 |
openpowerbot | [irc] <sadoon[m]1> Thanks | 11:54 |
lkcl | i've seen rust and also bluespec, how they operate | 11:54 |
lkcl | (bluespec is written in Haskell) | 11:54 |
charlie5 | lkcl: there is also SPARK (a subset of ada) ... programs written in SPARK can be formally proven correct ... i haven't used spark tho | 11:55 |
lkcl | thanks to Haskell's links to Formal Correctness Proofs, bluespec have been able to provide a *100%* guarantee - formally - that any syntactically-correct compiled bsv program *will* be synthesizeable in an ASIC | 11:55 |
lkcl | SPARK formal proofs: niiiice | 11:56 |
lkcl | Lucretia, i worked with the Shakti Team at IIT Madras for around 4 months, helping them to write a pinmux / Interface-Auto-Generator, in bluespec | 11:56 |
lkcl | they had an entire new team that had literally never done an ASIC before, and thanks to bluespec (and its strictness similar to rust) | 11:57 |
lkcl | they were able in 18 months to develop and have taped-out a *100% successful* first chip. | 11:57 |
lkcl | you should have heard the roar in the room when they got a response back from the on-board UART, running its first program | 11:58 |
lkcl | that kind of success is unheard-of in the ASIC industry, and it was all down to their strategic choice to use bluespec. | 11:58 |
lkcl | the engineers *couldn't* make mistakes | 11:58 |
lkcl | BUT | 11:58 |
lkcl | butbutbut | 11:59 |
lkcl | when working with their lead engineer, it became embarrassing that i had to ask him *twice a day* for his time of *over an hour* each time | 11:59 |
lkcl | as we hunted systematically through the manual to overcome "strictness" of the language which would normally have taken a few minutes to resolve in a non-strict-typed HDL | 12:00 |
lkcl | the amount of time taken up was so huge, and such a distraction from his other tasks, that in the end i had to sit there often for a day - my visa running out - to give him a chance to deal with the other engineers | 12:01 |
Lucretia | and would've taken longer and been more expensive to find the errors in a "non-strict-typed HDL" this has been proven time and time again | 12:01 |
lkcl | indeed, i've heard similar anecdotes. | 12:03 |
lkcl | we chose nmigen as a level of indirection, and for pragmatic reasons. it generates guaranteed-synthesiseable HDL for a start | 12:03 |
lkcl | and allows the powerful OO multiple-inheritance concepts of python to be applied to HDL | 12:04 |
lkcl | *but* | 12:04 |
lkcl | unlike say... what the hell is it... | 12:04 |
* lkcl trying to remember... | 12:04 | |
lkcl | chisel3! which is SCALA | 12:05 |
lkcl | SCALA is... way below 1/20th on the TIOBE index, whereas python is #1? known by 1/3 of the world's programmers? | 12:05 |
lkcl | and we've spent some considerable time (and NLnet's funds) linking it to symbiyosys (including funding integration of smtlib's FP proof engine) | 12:06 |
lkcl | which allows us to do the Formal Correctness Proofs that find the design errors | 12:06 |
lkcl | *and* we can link directly into python's unit test infrastructure | 12:07 |
lkcl | *and* if we really wanted to we could write a plugin for nmigen that *added strict typing* | 12:07 |
lkcl | leaving us the flexibility and the option to pick-and-choose the best of all worlds... when needed. | 12:07 |
lkcl | it's... there's a *lot* of strategic thought gone into this project | 12:08 |
lkcl | (the plugin system is part of the abstraction layer that's 95% of the way there for nmigen) | 12:09 |
lkcl | long story :) | 12:09 |
* lkcl making lunch... | 12:36 | |
lkcl | charlie5, they didn't _happen_ to add object-orientated multiple-inheritance to ada22 did they? | 12:36 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@85.30.228.54> has quit IRC | 12:37 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.166.0> has joined #libre-soc | 12:37 | |
charlie5 | lkcl: they added MI using interface types back in ada2012 | 12:42 |
charlie5 | i was always a bit disappointed in ada initial single inheritance ... MI with the interface types is quite nice tho | 12:43 |
Lucretia | charlie5: MI a la c++ style isn't good, that's why java went with interfaces and why ada nicked em | 12:45 |
charlie5 | Lucretia: yep, i know ... the evil diamond problem :) | 12:47 |
Lucretia | yup | 12:47 |
Lucretia | easy to crash too | 12:47 |
charlie5 | ada took the safe route of not just throwing in MI and waited for a better solution (ie the interface types) | 12:47 |
charlie5 | i'll have to check out vhdl | 12:54 |
lkcl | charlie5, fantastic! | 12:59 |
lkcl | hmmm i think... i think ghdl is ada2008. or... the majority of vhdl programs are written to that version (although i've seen others, they're rare occurrences) | 13:00 |
* lkcl can't remember... been too long. it might be a compile-time switch to ghdl... | 13:00 | |
lkcl | i remember that microwatt has to have the --2008 compile-time option to ghdl | 13:01 |
Lucretia | I never really understood the whole building to an exe thing until recently. | 13:04 |
Lucretia | the issue is going from ghdl to fpga | 13:04 |
Lucretia | using open tools | 13:05 |
charlie5 | lkcl: does 'D' grade stand for Distinction ? | 13:05 |
charlie5 | our grades were Fail, Pass, Credit, Distinction | 13:05 |
Lucretia | no, D is 2 up from F | 13:05 |
*** psydroid <psydroid!~psydroid@user/psydroid> has joined #libre-soc | 13:20 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.166.0> has quit IRC | 13:50 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.166.0> has joined #libre-soc | 13:50 | |
*** josuah <josuah!~josuah@46.23.94.12> has joined #libre-soc | 13:54 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.166.0> has quit IRC | 13:58 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.160.123> has joined #libre-soc | 13:59 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.160.123> has quit IRC | 14:42 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-90-154-80-239.ip.moscow.rt.ru> has joined #libre-soc | 14:42 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-90-154-80-239.ip.moscow.rt.ru> has quit IRC | 15:25 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.162.77> has joined #libre-soc | 15:27 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.162.77> has quit IRC | 15:42 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.162.77> has joined #libre-soc | 15:43 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.162.77> has quit IRC | 15:52 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-90-154-80-239.ip.moscow.rt.ru> has joined #libre-soc | 15:52 | |
*** octavius <octavius!~octavius@92.40.169.10.threembb.co.uk> has quit IRC | 16:10 | |
lkcl | yep 2 away from Fail :) | 16:39 |
lkcl | Lucretia, ghdl to fpga using open tools is easy (ish) - yosys-ghdl-plugin | 16:40 |
lkcl | https://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=hdl-tools-yosys;hb=HEAD | 16:41 |
lkcl | line 49 | 16:41 |
lkcl | you have to pick specific versions because of a 3-way conflict between a change in the yosys API and a change in the ghdl API, with the yosys-ghdl-plugin "falling between two stools" | 16:41 |
lkcl | i spent ooo... about... 3-4 days(?) patiently tracking down the relevant commits. | 16:42 |
Lucretia | k | 16:43 |
lkcl | but "latest" *may* now work - ymmv - the FOSS community tend in general to consider "API stability" to be rock-bottom unimportant, inter-project | 16:43 |
Lucretia | can the tools tell you how many macrocells you need? | 16:43 |
lkcl | it'll tell you exactly how many of each type you'll need, at a "high level" | 16:44 |
lkcl | yes | 16:44 |
Lucretia | thought mcrocells were one type, just has stuff inside it] | 16:44 |
lkcl | if you want timings you need to use the bitstream compiler/router | 16:45 |
lkcl | don't bother with symbiflow, it's s**t. 7x slower: attempts to do "parallel threads" then contends for a global lock that slows each and every thread *down* to 1/N(threads). | 16:46 |
lkcl | and more | 16:46 |
lkcl | sigh | 16:46 |
lkcl | so use nextpnr-ecp5 if you're doing Lattice ECP5s | 16:46 |
lkcl | or nextpnr-xilinx if doing Artix-A7-100t (Digilent Arty-A7-100t) | 16:46 |
Lucretia | no board, so wouldn't know which to get and mihgt have to wait until they stop scalping | 16:46 |
lkcl | https://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=nextpnr-ecp5-install;hb=HEAD | 16:47 |
lkcl | https://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=nextpnr-xilinx-install;hb=HEAD | 16:47 |
lkcl | https://www.digikey.co.uk/en/products/detail/digilent-inc/410-319-1/9445912 | 16:49 |
lkcl | that's very reasonably-priced | 16:49 |
Lucretia | maybe for you | 16:49 |
lkcl | well, if you were able to help with the project in some way we could justify sponsoring you for one | 16:50 |
lkcl | thanks to NLnet, what we do here is a (pre-agreed) set of tasks that happen to be FOSSHW but everyone actually gets paid for doing it | 16:52 |
Lucretia | yeah, I saw | 16:52 |
lkcl | which is kinda wild given that they also own the copyright and all other rights to everything they're doing | 16:52 |
* Lucretia is not working right now du e to health | 16:52 | |
lkcl | (unlike for a company where you're just barely above being a modern slave) | 16:53 |
Lucretia | did you mean "we" (not me) or "they" own the rights? | 16:53 |
lkcl | yyeah i hear you on that one - me neither for the forseeable future - i'm acting as a... a... "question-receiver-to-ensure-the-picture/goal-stays-on-track" | 16:54 |
lkcl | i mean each individual that contributes | 16:54 |
Lucretia | right, what you wrote sounds like nlnet owns it | 16:54 |
lkcl | heck no | 16:54 |
lkcl | there are a couple of caveats: | 16:54 |
lkcl | 1) we have asked everyone (on the Charter) to make a similar "assign-copyright-and-we'll-immediately-assign-it-back-to-you" agreement to that done by the FSF | 16:55 |
Lucretia | I thought nlnet was just the money management, not source, but gatherer and then escrowing | 16:55 |
Lucretia | er | 16:55 |
lkcl | 2) for the OpenPOWER Foundation there has to be an "inbound IP license" which is in effect "we promise not to sue any OPF Members if they implement this stuff" | 16:56 |
Lucretia | what kind of speeds do you expect the cpu to run at on these fpga's? | 16:56 |
lkcl | which is again *not* "full transfer of all rights of ownership" | 16:56 |
Lucretia | k | 16:56 |
lkcl | yes, they're what the EU calls a "Third Party Financial Service Provider" - another one with such a categorisation is FundingBox | 16:57 |
lkcl | bear in mind it's a *BIG* design - i managed 12 mhz under nextpnr-xilinx on the Arty-A7-100t | 16:57 |
lkcl | that's because it's pushing the limits of the routing and scrabbling around to find shortest-paths | 16:58 |
Lucretia | ooh, big numbers :) | 16:58 |
lkcl | i knooow :) | 16:58 |
Lucretia | my z80 is 10mhz | 16:58 |
lkcl | i have so much respect for the z80. have you heard of the 180, 280 and 380? i hadn't until about... 4 months ago | 16:59 |
Lucretia | yeah, but they only make z80 and 180's now | 16:59 |
lkcl | the 380 had virtual memory but had dropped CPIR and LDIR and friends. sigh | 16:59 |
lkcl | seriously seriously compact ISA. so impressive. much to learn from it. | 17:00 |
* Lucretia shrugs | 17:01 | |
Lucretia | I picked it cos 1) they're still made and 2) I had a speccy | 17:01 |
lkcl | they had to be efficient back then: there wasn't any choice. | 17:01 |
lkcl | ahhhh :) | 17:01 |
Lucretia | although, didn't do asm until amiga | 17:01 |
Lucretia | and it's 8080 compat, *spit* | 17:01 |
lkcl | ptooey | 17:02 |
lkcl | yes i had a zx spectrum. my brother blew it up by unplugging the printer when it was powered in, shorted out the bus | 17:02 |
Lucretia | yeah, always had to be careful adding and removing stuff from the expansion | 17:03 |
lkcl | one of the rare times i actually bought software was the Spectrum Basic to assembler compiler (30 quid!! in 1983!!!) | 17:04 |
Lucretia | I knew someone who bought an assembler for the spectrum, he'd got pissed off with hand assembling | 17:05 |
Lucretia | dunno what it cost him tho | 17:05 |
Lucretia | but I don't think it was cheap | 17:05 |
lkcl | now you know two :) | 17:05 |
Lucretia | £30 was a lot then | 17:05 |
Lucretia | you can only get a few food things for that now | 17:05 |
lkcl | the shopkeeper must have thought i was mad - money for old rope :) | 17:06 |
* lkcl need to get up and walk about again, apologies | 17:07 | |
lkcl | sitting too long. back later | 17:07 |
Lucretia | np | 17:07 |
Lucretia | I have to go for a walk soon, been putting it off all week | 17:07 |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 17:20 | |
charlie5 | well, off to bed | 17:22 |
charlie5 | nice meeting you guys | 17:22 |
charlie5 | oh, just thought i'd mention that ada isn't a commercial language ... gcc has an implementation called 'gnat' | 17:23 |
Lucretia | charlie5: laters | 17:23 |
charlie5 | bye luke | 17:23 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-90-154-80-239.ip.moscow.rt.ru> has quit IRC | 18:05 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.162.194> has joined #libre-soc | 18:06 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.162.194> has quit IRC | 18:27 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-90-154-80-239.ip.moscow.rt.ru> has joined #libre-soc | 18:27 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 18:52 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 19:02 | |
openpowerbot | [irc] <sadoon[m]1> lkcl: watch this and have a laugh, I was reminded by another chat of this gem https://youtu.be/tas0O586t80 | 19:14 |
openpowerbot | [irc] <sadoon[m]1> I showed this to a group of "Advanced Programming For Engineering" students during their first class once when I was a lab assistant. Fun times | 19:15 |
openpowerbot | [irc] <sadoon[m]1> octavius you might enjoy this one as well | 19:16 |
openpowerbot | [irc] <sadoon[m]1> The "SEGFAULT" at the end just kills me xD | 19:17 |
openpowerbot | [irc] <programmerjake> well, have fun with your C and a nice sprinkling of security vulns due to extensive UB at every turn just waiting for you to shoot yourself in the foot. Rust is much better in that respect | 19:24 |
openpowerbot | [irc] <sadoon[m]1> Hey now it's just a fun joke :) | 19:26 |
openpowerbot | [irc] <sadoon[m]1> The song actually sounds like satire pointed towards C's issues tbf | 19:28 |
openpowerbot | [irc] <sadoon[m]1> Which is obvious towards the end | 19:29 |
openpowerbot | [irc] <programmerjake> yeah, was thinking of looking for a Rust variant of that song, but decided it wasn't worth my time | 19:29 |
openpowerbot | [irc] <sadoon[m]1> You'd be humored to know | 19:30 |
openpowerbot | [irc] <sadoon[m]1> I haven't bothered with rust and go mostly because I gave up on software design altogether, I'm just made for hardware I guess | 19:30 |
openpowerbot | [irc] <sadoon[m]1> I learned C when I was 12 because back then the iPhone was the big thing and Objective-C is a subset of C | 19:31 |
jn | a superset, rather | 19:32 |
openpowerbot | [irc] <sadoon[m]1> Yes you're right, but you get my idea | 19:32 |
jn | yep | 19:32 |
openpowerbot | [irc] <sadoon[m]1> Fun days, a 12 year old trying to figure out void* | 19:32 |
openpowerbot | [irc] <programmerjake> well, definitely do try Rust when you have some spare time, it is safer than Go because Go only fixes use-after-free and access out of bounds but not data races or no-GC | 19:33 |
openpowerbot | [irc] <programmerjake> (though no-GC is performance rather than safety) | 19:33 |
openpowerbot | [irc] <sadoon[m]1> I don't want to deal with software ever lmao | 19:33 |
openpowerbot | [irc] <sadoon[m]1> I discovered that it's just not my thing | 19:33 |
openpowerbot | [irc] <programmerjake> k | 19:34 |
openpowerbot | [irc] <sadoon[m]1> I just obsess over trying to make it more efficient which makes me a better hardware guy | 19:34 |
openpowerbot | [irc] <sadoon[m]1> Can't stop myself | 19:34 |
openpowerbot | [irc] <sadoon[m]1> Honest | 19:34 |
openpowerbot | [irc] <programmerjake> well, making it more efficient is exactly where Rust shines | 19:34 |
openpowerbot | [irc] <sadoon[m]1> (Sometimes to my own detriment) | 19:34 |
openpowerbot | [irc] <sadoon[m]1> Don't get me wrong I've no hard opinion with or against rust, it's just that I don't do software anymore | 19:35 |
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc | 19:40 | |
openpowerbot | [irc] <programmerjake> Not sure if you all saw the now updated budget proposal -- it only moves the spare EUR 4000 from #1035 to #1025: https://bugs.libre-soc.org/show_bug.cgi?id=961#c21 | 19:46 |
openpowerbot | [irc] <programmerjake> cesar octavius ghostmansd toshywoshy markos lkcl sadoon are you ok with that? | 19:46 |
openpowerbot | [irc] <sadoon[m]1> It doesn't affect my budget so if everyone else is fine I'm fine | 19:48 |
openpowerbot | [irc] <programmerjake> icr who all was interested so if i forgot anyone, sorry | 19:48 |
openpowerbot | [irc] <programmerjake> thx sadoon | 19:48 |
openpowerbot | [irc] <sadoon[m]1> (Keep in mind I haven't read the comments, just noted the numbers of bug #s) | 19:49 |
*** charlie5 <charlie5!~charlie5@144.136.23.60> has quit IRC | 19:57 | |
ghostmansd[m] | programmerjake, ack | 20:50 |
ghostmansd[m] | No objections from my side | 20:50 |
ghostmansd[m] | Feel free to reallocate these as needed. I'm concentrating at code generation now, so I haven't yet checked binutils-related stuff. But I hope it won't cause difficulties. | 20:52 |
ghostmansd[m] | Even if it does, I'd rather prefer to have more budget for more interesting tasks. | 20:52 |
ghostmansd[m] | e.g. some format for svp64 insn fields, extending code generation for svp64, integrating the generated code into cavatools and binutils, etc. | 20:53 |
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC | 21:05 | |
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc | 21:05 | |
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC | 21:20 | |
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc | 21:21 | |
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC | 21:31 | |
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc | 21:32 | |
openpowerbot | [irc] <programmerjake> thx ghostmansd | 21:36 |
lkcl | > only moves the spare EUR 4000 from #1035 to #1025 | 21:54 |
lkcl | i said NO jacob. | 21:54 |
lkcl | you've completely underestimated (and left out) the amount of work involved in integrating new register files (FPR and FPSCR) into TestIssuer and the Core | 21:56 |
lkcl | which can be classified as "working on the InOrder Core" *WITHOUT* making any actual changes to any budgets, as and if necessary | 21:57 |
*** ghostmansd <ghostmansd!~ghostmans@broadband-90-154-80-239.ip.moscow.rt.ru> has joined #libre-soc | 21:58 | |
lkcl | even the *investigation* of what's involved will need its own budget for you, which i wrote (twice) shall be under a "documentation" budget. | 21:59 |
lkcl | getting just *one* instruction integrated into TestIssuer is a top-priority critical dependency without which there is no way further work (further grants) can add any other instructions to any other pipelines. | 22:01 |
lkcl | that has to be done in a very careful, very meticulous and very methodical way that i've already established and described, and which you'll need to document so that other people can follow it in future | 22:02 |
lkcl | unfortunately it's very boring "delivery" work - not in any way "creative", but it has to get done. | 22:04 |
openpowerbot | [irc] <programmerjake> integrating new register files and testissuer are under #1025, are they not? so why are you against adding money to do the tasks you complained needed doing? | 22:53 |
openpowerbot | [irc] <programmerjake> figuring out what subtasks to split #1025 into doesn't block assigning money to #1025 or signing the MOU ... #1025 is big enough we would run out of funds even if it were 10k larger | 22:55 |
openpowerbot | [irc] <programmerjake> i was planning on splitting #1025 into subtasks being a project management task that doesn't have a budget assigned...I'll make enough from working on #1025 that it doesn't matter to me | 22:57 |
openpowerbot | [irc] <programmerjake> lkcl what do you think of ^ | 23:02 |
openpowerbot | [irc] <programmerjake> as a reminder #1035 is the implement power v3.1 insns in isacaller & binutils one, so the EUR 4000 isn't useful there | 23:09 |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 23:11 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 23:14 | |
*** klys <klys!~mdasoh@show.op8.us> has quit IRC | 23:18 | |
*** klys <klys!~mdasoh@show.op8.us> has joined #libre-soc | 23:18 | |
openpowerbot | [irc] <programmerjake> ah, i figured out why you want a separate budget assignment bug, you want to get paid too...i'll come up with a new proposal soon, busy helping the electrician rewire my house to add gfci and grounds | 23:28 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!