mePy2[m] | Yeah I am aware of it. But f.e. That image I made, I think it is a mess internally. I should check but anyway for sure there are many pieces inside. | 07:54 |
---|---|---|
mePy2[m] | I think if we are going to manipulate them with js the images should be made in a certain way, isn’t it? E.g. the wire that connect “this” should be a separate “level” etc. | 07:54 |
mePy2[m] | I would like to make already a test with js | 07:54 |
lkcl | mePy2[m]: we picked SVG because they are text-based and hand-editable. | 09:31 |
lkcl | it then becomes possible to "name" individual components not in a mess | 09:32 |
lkcl | and inkscape helps with that, from what i understand. | 09:32 |
lkcl | you can select components and give them proper names. | 09:32 |
mePy2[m] | Yeah, this is what I mean. | 09:38 |
mePy2[m] | For example, the image I made in these days was a little a mess inside. So I will probably need to edit it. | 09:39 |
mePy2[m] | But how do we do the JS thing about logic ports and the rest? | 09:40 |
mePy2[m] | Anyway, I am saying this just to make sure to make a good work. And hopefully to not modify the images later. | 09:40 |
mePy2[m] | lkcl: | 09:40 |
mePy2[m] | * lkcl | 09:40 |
mePy2[m] | * lkcl | 09:40 |
lkcl | i don't know: i mean, i know it's possible (because i did err NN years of web development) | 10:01 |
lkcl | if you're happy to do some research and find out, i'm happy to leave it with you | 10:01 |
lkcl | (saying that gently, i'm hinting that i'm trying to focus on the upcoming 180nm tape-out deadline) | 10:02 |
mePy2[m] | Yeah sure. | 10:03 |
mePy2[m] | No problem. | 10:03 |
mePy2[m] | We will see. I’ll try my best :) | 10:04 |
lkcl | :) | 10:04 |
lkcl | email me what you've got for that CompUnit, it'll at least improve the look of the 6600 page | 10:05 |
lkcl | which is an immediate plus | 10:05 |
mePy2[m] | Yeah, sure | 10:05 |
lkcl | i'm searching "svg dom manipulation javascript examples" and there's plenty of tutorials | 10:06 |
mePy2[m] | (I am sure there are many. My thought was about the logic of the circuit... ) | 10:07 |
lkcl | mePy2[m]: yeah, there's a couple of choices we've found | 10:12 |
lkcl | one is that yosys2something which runs server-side (i really don't want to do that) | 10:12 |
lkcl | except it is really nice to have the circuits be written in nmigen | 10:13 |
lkcl | and the other is that circuitjs which means someone has to design it by hand | 10:13 |
lkcl | but it has the advantage that people can freely edit / play with them | 10:14 |
lkcl | don't know (as in: i'm ambivalent about it) | 10:14 |
lkcl | as in: if you (or someone) made a decision, i'd go with it :) | 10:15 |
mePy2[m] | Ok nice | 10:15 |
lkcl | as long as it doesn't involve installing or allowing arbitrary code execution on the libre-soc server | 10:15 |
lkcl | static files, no problem (circuitjs is static html/css/js) | 10:16 |
mePy2[m] | I think I would need/like some explanation about some “objects” I saw in the image... | 10:16 |
mePy2[m] | But that is another story :) | 10:16 |
lkcl | :) | 10:16 |
lkcl | ok so the block marked "Computation" is basically an adder. or subtracter. or multiplier or whatever | 10:16 |
mePy2[m] | No problem, understood. I may have found something neat. But who knows... | 10:16 |
lkcl | "opcode" selects which computation is done. we have some demo code which actually does this.. 1 sec... | 10:17 |
lkcl | https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/experiment/alu_hier.py;hb=HEAD | 10:17 |
lkcl | starting around line 192 | 10:18 |
lkcl | so "operand 1" is ALU.a | 10:18 |
lkcl | operand 2 is ALU.b | 10:18 |
lkcl | result is ALU.o | 10:19 |
lkcl | OpCode is ALU.op | 10:19 |
mePy2[m] | What the rectangle with the triangle inside is in the image? | 10:20 |
lkcl | however the stuff on the RHS of the diagram, that's here: https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/experiment/compalu_multi.py;hb=HEAD | 10:20 |
lkcl | those are called "latches". or "registers". | 10:20 |
lkcl | it's a standard convention | 10:21 |
mePy2[m] | thanks ok | 10:21 |
lkcl | basically, when the wire into the triangle is HI, the input is passed through to the output | 10:21 |
mePy2[m] | What I have to search to find out the meaning of all the icons? | 10:21 |
lkcl | when the wire into the triangle is LO, the output is FROZEN i.e. takes whatever the last input was | 10:22 |
lkcl | a standard electronics course or web page | 10:22 |
lkcl | search "wiki logic gates" | 10:23 |
lkcl | https://en.wikipedia.org/wiki/Logic_gate | 10:23 |
lkcl | oh look! that's got a stack of SVG files on it! :) | 10:23 |
mePy2[m] | :) | 10:24 |
lkcl | according to that page they're defined in IEEE 91 whatever that is | 10:24 |
mePy2[m] | ok... thank you | 10:29 |
mePy2[m] | anyway, it can store only a single bit... | 10:31 |
mePy2[m] | each latch* | 10:31 |
lkcl | ok operand1/2 are 64-bit | 10:32 |
lkcl | and the output (into "Computation") are also 64 bit | 10:32 |
lkcl | the convention on that is "operand1/64" | 10:32 |
lkcl | and "result/64" | 10:32 |
lkcl | the 1-bit into the triangle will latch *all* of the bits | 10:33 |
lkcl | however inside the triangle: yes, that would be made up of 64 individual latches | 10:33 |
lkcl | where the same (one) "selector" would go to absolutely all of them | 10:33 |
mePy2[m] | Ok... this one seems the best option out there. But it is not with static files. What a stupid thing... | 12:38 |
mePy2[m] | https://circuitverse.org/contribute | 12:38 |
mePy2[m] | Anyway, it is possible to share/embed the circuit in a webpage. But someone has to register to their website. | 12:43 |
mePy2[m] | * https://circuitverse.org | 12:43 |
lkcl | hmmmm.... here's the list of dependencies that i'd need to install on the server: https://github.com/CircuitVerse/CircuitVerse | 14:58 |
mePy2[m] | I asked if there are static files | 14:59 |
lkcl | ah good idea | 14:59 |
lkcl | that's probably partially this: https://github.com/CircuitVerse/cv-frontend | 15:00 |
mePy2[m] | yes | 15:00 |
lkcl | got your message about circuitverse, having to build it - thanks | 15:16 |
mePy2[m] | :) | 15:16 |
mePy2[m] | I am building it too \o/ :D | 15:16 |
mePy2[m] | (Anyway, I am getting some errs... ) | 15:19 |
mePy2[m] | Let me know if you succeed :) | 15:19 |
lkcl | can you document it in a "reproducible" way? | 15:21 |
lkcl | something similar to this: https://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=coriolis2-chroot;hb=HEAD | 15:21 |
mePy2[m] | Well, I am getting some errors after doing `npm install` | 15:31 |
mePy2[m] | Not much to say I think :/ | 15:31 |
* mePy2[m] sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/gFLJRCINmPPHCaBjdLBjXmQV/message.txt > | 15:38 | |
mePy2[m] | Which is true, since no the build folder/script is not there. | 15:39 |
* mePy2[m] sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/FqiElAidfRsEvysMxTkYeDbG/message.txt > | 15:40 | |
mePy2[m] | * Which is true, since the build folder/script is not there. | 15:40 |
mePy2[m] | wait... | 15:43 |
mePy2[m] | I do not want to say it... but I did the `npm install` in the wrong folder. | 15:51 |
mePy2[m] | It does work. | 15:51 |
lkcl | you mean: | 16:00 |
lkcl | Well... | 16:00 |
lkcl | ``` | 16:00 |
lkcl | #!/bin/bash | 16:00 |
lkcl | cd _CircuitVerse-master folder_ | 16:00 |
lkcl | npm install | 16:00 |
lkcl | ``` | 16:00 |
lkcl | [...] | 16:00 |
lkcl | ``` | 16:00 |
lkcl | npm run build | 16:00 |
lkcl | ``` | 16:00 |
lkcl | _`npm ERR! missing script: build`_ | 16:00 |
lkcl | not | 16:00 |
lkcl | mePy2[m] sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/FqiElAidfRsEvysMxTkYeDbG/message.txt > | 16:00 |
lkcl | :) | 16:00 |
lkcl | can you throw that on a wiki page | 16:01 |
lkcl | at http://libre-soc.org | 16:01 |
lkcl | pick one, any one | 16:01 |
lkcl | see the section here on coriolis2 | 16:02 |
lkcl | https://libre-soc.org/HDL_workflow/ | 16:02 |
lkcl | cut/paste that section including the link | 16:02 |
lkcl | change the link of the (new) section to "HDL_workflow/blahblah" | 16:03 |
lkcl | then after saving you will find a ? next to it | 16:03 |
lkcl | which you can click | 16:03 |
lkcl | and now you have a new page editor | 16:03 |
mePy2[m] | True... | 16:10 |
mePy2[m] | About the wiki page. I did not understand. | 16:11 |
mePy2[m] | Thank you \o/ | 16:16 |
mePy2[m] | https://libre-soc.org/HDL_workflow/blahblah/?updated :) | 16:20 |
mePy2[m] | * https://libre-soc.org/HDL_workflow/blahblah/ :) | 16:20 |
mePy2[m] | Oh-no... there was an RSS feed linked to the page updates... someone got useless stuff in their feed... | 16:24 |
lkcl | don't worry about it :) | 16:54 |
lkcl | renamed it with a git commit https://libre-soc.org/HDL_workflow/ | 16:55 |
lkcl | https://libre-soc.org/HDL_workflow/circuitverse/ | 16:55 |
mePy2[m] | Nice ;) I wanted to do it | 19:43 |
mePy2[m] | You renamed with a commit? From where? Directly from the website? | 19:43 |
mePy2[m] | * You renamed it with a commit? From the website? | 20:08 |
lkcl | i have git commit access to the repository behind the ikiwiki running libre-soc.org | 21:15 |
mePy2[m] | ok | 21:52 |
lkcl | which i'll be happy to give you when you've reviewed the Charter, asked any questions, and, if you're happy with it, said so on the mailing list. | 22:08 |
mePy2[m] | Yeah... I will take my time... | 22:12 |
mePy2[m] | Now I am in the phase "Give me something to do and I will do it (quite :P)" | 22:12 |
mePy2[m] | Next phase will be "chilling and reading about the project... do I like it? How much time can I spend on it?" something like organizing my free-time for the project. | 22:12 |
mePy2[m] | Then we will see... if I’ll take it seriously. (I think I could continue to spend some time in it, not much but some is better than nothing). | 22:12 |
mePy2[m] | * Then we will see... if I’ll take it seriously. (I think I could continue to spend some time on it, not much but some is better than nothing). | 22:12 |
lkcl | no problem, no rush | 22:23 |
lkcl | coo! https://cs.opensource.google/skywater-pdk/sky130_fd_sc_hd/+/master:cells/a2111o/sky130_fd_sc_hd__a2111o.schematic.svg | 22:56 |
lkcl | https://cs.opensource.google/skywater-pdk/sky130_fd_sc_hd/+/master:cells/a2111o/sky130_fd_sc_hd__a2111o.symbol.svg | 22:56 |
lkcl | wheww https://cs.opensource.google/skywater-pdk/sky130_fd_sc_hd/+/master:cells/a2111o/sky130_fd_sc_hd__a2111o.symbol.svg | 23:18 |
lkcl | https://libre-soc.org/180nm_Oct2020/2020-09-27_23-12.png | 23:18 |
lkcl | took a while to get that done | 23:18 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!