 We will be doing a quick recording of the Google Summer of Code EDE projects discussion. So today we have only two people on the call, me and Shubhan, who is a potential student for these projects. So yeah, and the projects we are talking about is EDE plugin, which is plugins for electronic design automation tools and also EDE coverage adapters. So we have two projects, Shubhan, you're interested in both, right? Or in the second one? Yeah, both are nice. Okay, yeah, I forgot to share my screen. Yeah, so I'm ready to answer any questions you have or to provide some guidelines. We can discuss some questions later actually. Is it fine? Yeah, that's fine. So basically, I'm happy to help you with any questions you have about these projects. So in this project, actually, I was going through some EDE plugins tools. So like, your CS, then first off, then Kika and Eagle, but I was getting that, what is this asset as it can appreciate listen flow means we want to read a very log fell right? Well, it depends on the tool, because all these tools are located in different parts of the RDF flow. So for example, yours is used for synthesis Iraq, Nipin are for place and road, a few so because there are a framework like maybe and which just automates the built and invokes other tools. So the use case would be really dependent on the tool you choose. Because actually, I didn't get that. What kind of operations we want to do on that tool? Yes, so that tool launched in publishing stairs. So basically, the approach was quite opposite because we expect students to come up with proposals. So, yeah, there is a list of tools and this list is not completed. There are many other tools out on the market. So interest here is to have students exploring tools, choosing ones that they interested in and proposing their own automation with cases. So, yeah, there is a quick start. But, yeah, for any tool, we basically expect you to try it out to see what exactly could be automated there and start from there. So if you expect the opposite way that you make proposals which tool to automate, I can provide some examples. But, yeah, the approach to this project that you was different. Okay. Basically, I was going through some tools, but I wasn't getting that which tool to use. Basically, I got confused actually. So, are you familiar with electronic design automation? Sorry? Are you familiar with electronic design automation? So did you study it? Yeah. Yeah, which tools do you use on your own or did you use? I didn't do any project actually. I just did some sort demos. If you switch tools? One is YoC's, then one is QCAD, LibrePCB. Yeah, so, yeah, it could be one of the starting points because taking a tool with which you're experienced, at least somewhat experienced, is a good starting point. So here, yeah, it's just a limited list. But for example, if you want to focus on QCAD, it's totally possible. And I believe if you enter QCAD Jenkins, we will find a number of use cases. Yeah, so I'm just opening. So QCAD uses Jenkins itself. Yeah, so for example, if you consider using QCAD, one of the ways would be to just ping QCAD community and ask what would you like to have automated in Jenkins. But here you can just start exploring features because QCAD also has CLI, which does some synthesis analysis. So maybe just creating a plugin for that would be a good step. And then you can just explore what QCAD community would like to see there. I'm not sure what the QCAD participates in this GSOG, by the way. Maybe they do. I don't think so. Yeah, they don't. But anyway, QCAD community is pretty active. So for example, if you want to use this project, it could be a good option because it's widely used. It has strong community. So you could just ask there or try it out. But QCAD is for PCB design. So for me, I don't really use QCAD. But yeah, I like how QCAD community evolves. So this might be one option, right? Yeah, it could be. Yeah, I'm just trying to Google whether there would be any specific results. But yeah, so what you could do, for example, you can take a look at QCAD CLI. Actually, QCAD has a Python API as well. Yeah. So I think we could use it as well. Yeah, you could. So yeah, again, I don't use QCAD actively. So for me, it's mostly Google. But yeah, as long as the tool has CLI, you can create it with Jenkins. You just need to find use cases. But for example, common use cases like you invoke the tool, it produces some reports like synthesis reports or whatever. You can publish these reports. It could be a good step. So we do that for sure. Yes. So some tasks might be like synthesis of an optimization or like this, right? Yeah, it could. So it really depends on the tool because you choose a tool you like or developing for because you can do PCB design with QCAD and other tools. You can do RDF for FPGEs, like yours is few socks and whatever you can do design for ASIC, which is probably the most hardcore use case for JSOC, but it's still possible. So you just choose a tool chain or a particular tool and see what you can automate by this Jenkins. So there is one thing in details. See the first part, the tool launch and publishing steps, right? So what does this publishing steps mean? Yeah, publishing is actually publishing cof reports. So one tool gets executed and can produce some reports. So you can use my plan. If we use step, step, then that section should result out some reports, right? Exactly. So I can show you some examples. For example, last year, we had a JSOC project in 4C organization, which is related to LibreCourse and automation with Jenkins on it. And there we had a LibreCourse pipeline library. Here, for example, we have a step for your synthesis. So what this step does, it actually processes the report and publishes it using, for example, plot plugin for Jenkins. So it takes a report, invokes some scripts and gets published. So it's an example of automation we do with the pipeline library. But if there was a plugin for that, it would be much more convenient. No, yeah, in the modern world, if you come up with a project proposal, which targets developing pipeline libraries instead of plugins, it also can do the job. So it's just a really simple use case. But yeah, it takes the report, it processes it. So you can see that it takes a look of your system. I apply a traditional script, which extracts statistics and then puts the statistics to C3 files and plots them using Jenkins plot plugin. Just an example. So I can start making proposal on Kikad, right? I was trying to use that tool quite a while. If you're interested in this tool, just do it. Actually, there is one open source tool as well, LibrePCB, some CLI which is as well. Yeah, I guess LibrePCB and Kikad, they're more or less the same. In terms of use cases. So if you have preference between one of them, just take a tool you like. So for me, Kikad is a bit more comfortable because I have some confidence in Kikad community and I can help, but LibrePCB, I believe we could do the same. So we could probably find mentors from these open source projects. So that we have someone with these expertise with these two. Yeah, fine. Could you tell me about this? The libraries you mentioned in that project page? You mean this one? Third time. Sorry? Yeah. The libraries mentioned below. I'm not sure what exactly you mean. Yeah, I guess the reference is just, yeah. So I was trying to use these plugins actually, but some error was popping up and then I wasn't able to use it. So if you could say your screen, we could just try to analyze what is the error because yeah, I don't have VRM right now on my machine, so we can try to debug it. I suspect that that is just an issue with environment setup because it was the verification. It hasn't made a different stroller. So most probably you just don't have a proper pass setup for your Jenkins user. But in order to diagnose it, we would need to just see your screen and to debug it. If you're comfortable with that, let's just do it. I just actually, I got to that page, the verification academy. They have some videos about this plugin. I was trying to follow them thoroughly, but I wasn't getting that, I was getting that error actually. Well, without seeing what is the error, without looking at the instance, I can't help much because yeah, I can go through these guidelines, but I believe I either get into the same result or get into the different result depending on the environment, but we really need to diagnose your environment. So my suggestion is that we just take a look at your setup and try to fix it. Actually, I searched quite a lot about it, but I wasn't able to solve it. Yeah, so I just propose that you do some screen share for your instance and you try to fix it together. It may work or may not, but we can try. Are you ready to see it? Yes, I can. So, so this page, so these three videos are there for demo purpose. So this first-rate Jenkins installation and setup is showing that the procedure following, procedure following for installing the, the plugin. I wasn't able to install it properly actually. I don't know, but it might be installed properly. But it wasn't getting installed properly. Okay. Net connection is so good. No worries, but we could just take a look at what you have installed on your machine because yeah, there was a video, yeah, I've watched this video a couple of years ago, but I would suggest to take a look at what is happening on your instance. Okay, fine. Yeah. Let me check if I installed it correctly. I have installed it. Suppose if I actually, I don't have that project is actual right now, but the error I put on the channel, I just saw in that Iran is not available on your machine. Yeah, so is it supposed to be there? Yeah, according to that video, it should be there. Okay, so my recommendation is that you just create a test project which runs on this machine. Should I create a project? Yeah, I don't have that project because I'm on windows actually right now. All files are in this. Okay, so you don't have a test setup. You should be good debug. Yeah. Yeah, most of the question is why do we have for this call because this is what we discussed, because yeah, I cannot help you without having an environment which we need to debug. I'll set it today. If I can, then I will post it on the channel. Thank you. So yeah, my theory that the tool is just not in path or that environment wasn't properly set up for the job. But yeah, I cannot say anything. So right now, you definitely cannot test it. Okay, then once you have the environment set up, you can just post it in the Gitter channel. Okay. Yeah, maybe we could do a sync up next week. Maybe not, let's see. But can you tell me about this, the weeks? About what? The quick start part from the project page. So what do you want me to tell about it? Can you tell me how can I run this demo in Jenkins? Which one? Yeah, the third part. The demos in Jenkins using this. Okay. So, yeah, assuming that the tool is documented well, there should be some demos. So for example, if you just take, let's try to do key card. I know, guarantee you the result, but yeah, what we do if it's something different, okay, come on, we need an interface. Yeah, it's fine if it's a demo. Yeah, it's something different. Okay, let's take a few so because it's a bit more comfortable for me. So yeah, if you soak has a kind of CLI, you can just open it here. So there are some commands which can be invoked from an interface. Just something like few soc seam, few soc create, et cetera. So this is a, these are commands which can execute particular few soc operations. So with Jenkins, you could automate some of them. So for example, there is a command called seen, which basically starts simulation as documented. And you could, yeah, few soc run a seam form and you can invoke this command, it would produce some new logs, some reports, and then you could use Jenkins in order to process them. So what you could do, you could take some few soc demos that are plenty of them and just execute them with Jenkins. So these commands putting them in a Jenkins job instead of running them locally. That's the thing from there. I'm using Jenkins. Yeah, I would recommend pipeline. Okay, does it answer your question? Yeah. And what does this explore ways to improve your user experience? So there might be some UI connected to it, right? This for this plugin? Yes, some UI here for reporting or for whatever, but you just provide more information to Jenkins users about what got executed, especially when something goes wrong, having some analysis for that would be really valuable. Yeah, fine. Yeah, thanks for this. Okay, so yeah. Thank you. Yeah, thank you too. So yeah, we'll get the video published. If you need that, if not, I will just keep it this because it's an extra. Yeah, fine. I don't think there is a need to publish this. Okay. Okay, then we'll just keep it this. Yeah, send me the video link. If I need something, I can find it in this video. Okay, so yeah, then thank you. And if you have any questions, just ask them. Yeah, fine. Thank you.