Sunday, 2020-09-27

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 js07:54
lkclmePy2[m]: we picked SVG because they are text-based and hand-editable.09:31
lkclit then becomes possible to "name" individual components not in a mess09:32
lkcland inkscape helps with that, from what i understand.09:32
lkclyou 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] * lkcl09:40
mePy2[m] * lkcl09:40
lkcli don't know: i mean, i know it's possible (because i did err NN years of web development)10:01
lkclif you're happy to do some research and find out, i'm happy to leave it with you10: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
lkclemail me what you've got for that CompUnit, it'll at least improve the look of the 6600 page10:05
lkclwhich is an immediate plus10:05
mePy2[m]Yeah, sure10:05
lkcli'm searching "svg dom manipulation javascript examples" and there's plenty of tutorials10:06
mePy2[m](I am sure there are many. My thought was about the logic of the circuit... )10:07
lkclmePy2[m]: yeah, there's a couple of choices we've found10:12
lkclone is that yosys2something which runs server-side (i really don't want to do that)10:12
lkclexcept it is really nice to have the circuits be written in nmigen10:13
lkcland the other is that circuitjs which means someone has to design it by hand10:13
lkclbut it has the advantage that people can freely edit / play with them10:14
lkcldon't know (as in: i'm ambivalent about it)10:14
lkclas in: if you (or someone) made a decision, i'd go with it :)10:15
mePy2[m]Ok nice10:15
lkclas long as it doesn't involve installing or allowing arbitrary code execution on the libre-soc server10:15
lkclstatic 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
lkclok so the block marked "Computation" is basically an adder.  or subtracter.  or multiplier or whatever10: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
lkclhttps://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/experiment/alu_hier.py;hb=HEAD10:17
lkclstarting around line 19210:18
lkclso "operand 1" is ALU.a10:18
lkcloperand 2 is ALU.b10:18
lkclresult is ALU.o10:19
lkclOpCode is ALU.op10:19
mePy2[m]What the rectangle with the triangle inside is in the image?10:20
lkclhowever 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=HEAD10:20
lkclthose are called "latches".  or "registers".10:20
lkclit's a standard convention10:21
mePy2[m]thanks ok10:21
lkclbasically, when the wire into the triangle is HI, the input is passed through to the output10:21
mePy2[m]What I have to search to find out the meaning of all the icons?10:21
lkclwhen the wire into the triangle is LO, the output is FROZEN i.e. takes whatever the last input was10:22
lkcla standard electronics course or web page10:22
lkclsearch "wiki logic gates"10:23
lkclhttps://en.wikipedia.org/wiki/Logic_gate10:23
lkcloh look!  that's got a stack of SVG files on it! :)10:23
mePy2[m]:)10:24
lkclaccording to that page they're defined in IEEE 91 whatever that is10:24
mePy2[m]ok... thank you10:29
mePy2[m]anyway, it can store only a single bit...10:31
mePy2[m]each latch*10:31
lkclok operand1/2 are 64-bit10:32
lkcland the output (into "Computation") are also 64 bit10:32
lkclthe convention on that is "operand1/64"10:32
lkcland "result/64"10:32
lkclthe 1-bit into the triangle will latch *all* of the bits10:33
lkclhowever inside the triangle: yes, that would be made up of 64 individual latches10:33
lkclwhere the same (one) "selector" would go to absolutely all of them10: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/contribute12: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.org12:43
lkclhmmmm.... here's the list of dependencies that i'd need to install on the server: https://github.com/CircuitVerse/CircuitVerse14:58
mePy2[m]I asked if there are static files14:59
lkclah good idea14:59
lkclthat's probably partially this: https://github.com/CircuitVerse/cv-frontend15:00
mePy2[m]yes15:00
lkclgot your message about circuitverse, having to build it - thanks15:16
mePy2[m]:)15:16
mePy2[m]I am building it too \o/ :D15:16
mePy2[m](Anyway, I am getting some errs... )15:19
mePy2[m]Let me know if you succeed :)15:19
lkclcan you document it in a "reproducible" way?15:21
lkclsomething similar to this: https://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=coriolis2-chroot;hb=HEAD15: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
lkclyou mean:16:00
lkclWell...16:00
lkcl```16:00
lkcl#!/bin/bash16:00
lkclcd _CircuitVerse-master folder_16:00
lkclnpm install16:00
lkcl```16:00
lkcl[...]16:00
lkcl```16:00
lkclnpm run build16:00
lkcl```16:00
lkcl_`npm ERR! missing script: build`_16:00
lkclnot16:00
lkclmePy2[m] sent a long message:  < https://matrix.org/_matrix/media/r0/download/matrix.org/FqiElAidfRsEvysMxTkYeDbG/message.txt >16:00
lkcl:)16:00
lkclcan you throw that on a wiki page16:01
lkclat http://libre-soc.org16:01
lkclpick one, any one16:01
lkclsee the section here on coriolis216:02
lkclhttps://libre-soc.org/HDL_workflow/16:02
lkclcut/paste that section including the link16:02
lkclchange the link of the (new) section to "HDL_workflow/blahblah"16:03
lkclthen after saving you will find a ? next to it16:03
lkclwhich you can click16:03
lkcland now you have a new page editor16: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
lkcldon't worry about it :)16:54
lkclrenamed it with a git commit https://libre-soc.org/HDL_workflow/16:55
lkclhttps://libre-soc.org/HDL_workflow/circuitverse/16:55
mePy2[m]Nice ;) I wanted to do it19: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
lkcli have git commit access to the repository behind the ikiwiki running libre-soc.org21:15
mePy2[m]ok21:52
lkclwhich 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
lkclno problem, no rush22:23
lkclcoo! https://cs.opensource.google/skywater-pdk/sky130_fd_sc_hd/+/master:cells/a2111o/sky130_fd_sc_hd__a2111o.schematic.svg22:56
lkclhttps://cs.opensource.google/skywater-pdk/sky130_fd_sc_hd/+/master:cells/a2111o/sky130_fd_sc_hd__a2111o.symbol.svg22:56
lkclwheww https://cs.opensource.google/skywater-pdk/sky130_fd_sc_hd/+/master:cells/a2111o/sky130_fd_sc_hd__a2111o.symbol.svg23:18
lkclhttps://libre-soc.org/180nm_Oct2020/2020-09-27_23-12.png23:18
lkcltook a while to get that done23:18

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!