 Is the microphone okay? Okay. Good morning, everyone. As I mentioned, I'm here replacing Vladek for this talk. He proposed this talk and me and other people helped to provide information about it. Vladek is involved in compact modeling for transistors and silicon devices. He works together, he's located in Switzerland. Danielle is also working in this field, he's located in Poland. I am located in Belgium, actually, and I am a contributor to the Quax project, but I also work with semiconductor and micro-mechanical systems. Vadim is from Russia and he's now in Germany, and he's also in the semiconductor industry. Mike Brinson is a professor in UK and he's also interested in compact modeling. Chris is the creator of one of the hardware boards that we're going to show today. So the talk is about software and hardware tools that could be used for spice modeling, mainly parametric extraction and fitting real devices to models, basically. So this is the abstract of the talk. The main thing is that the bold line is we aim to illustrate a complete flow of measurements characterization in spice modeling, spice or circuit modeling, a bit aimed as semiconductor industry or IC design, but it can also be used for makers or even education settings. This is the outline. He starts by bringing the Moore's Law into play to explain why we have lower barriers to design electronics and to test electronics. Then we go to the example of using this Labrador board which is all-in-one electronic test tool for engineers and students. The nice thing is that it has an API that we can use from Octave to drive and read out information from this little board. Then we expand on going to the circuit simulator, which also has interfaces to, in this case, Octave and other external tools that could be used for making this combination of the raw data, the measurement data, and your conceptual or your model that you have in a schematic capture, and then a brief summary. You might be aware of Moore's Law, which is basically the realization by this guy, which is one of the founders of Intel, that roughly every two years, the number of transistors in a chip doubles, and this has driven the industry for quite some decades. But what's really important is that what it delivers to the end users. If you go back in time, one of the first monolithic ICs it had in the 60s by Fairchild, it had basically four or five transistors. It's a flip-flop, and it's hard to imagine how much cost they put into developing this thing. But nowadays, if you go for a Raspberry Pi, it's billions or so transistors, and you pay for the whole thing, PCBs and everything, about $5. So that makes hardware really accessible for all of us. But there is more than more. What's the buzzword for that? Can I remove that bar on the top? Okay, whatever. It's not only transistors that nowadays we have on these chips. So we have also micro-mechanical structures. We have LEDs. We have transmission lines. We have optical devices. But the flow of development is basically the same. We start from the bottom, from basic research and technology, then you figure out how you can fabricate these devices. Then you have fabrication facilities and packaging facilities that allow you to have a device in the end. In between here we have people that do design and test of these pieces of circuitry that end up being packaged into ICs or components that are later on assembled into PCBs and products that we have in our pockets. And our goal for this talk is to put some, shine some light on what happens here in between when you have to know how to design, basically, from the fabrication perspective on how to capture that into a schematic that can be easily simulated and you can predict the result of the performance of the circuit beforehand. So here we have then the example based on this Labrador board, which is used for acquiring raw data from measurements. And then we hope to interface that with a schematic capture system, which is then going to give you what are the parameters for these discrete components that you have on your circuit. Going a bit on the hardware. This was developed by Chris in Australia and is a tiny little board. It has five main functions. So it has a power supply. It has digital output, has function generated with two channels, has an oscilloscope or a multimeter and a logic analyzer. Nice thing is that the software that you're going to see in a minute is GPL. And the hardware is creative common so you can have a look at the website for the full spec and for the repository of to access this material. For the makers, a bit of background, why did Chris come up with this board? So we figured out that the oscilloscope is one of the main tools for doing anything really. If you want to look into a circuit, you need one of them, but they are typically expensive, right? And they can be out of reach for many students and makers. And this was one of the motivations for him when he had to debug one analog circuit during his studies and he didn't have one. So he thought about creating such a board that could be affordable and in a way you could put an oscilloscope in the hands of many people. So about his development process, so it started as his last year project in university and it took him 2.5 years or two and a half years to get everything going. So he had to learn from scratch like about firmware, about how to do PCBs, how to do the circuit design, he did a crowd fund project to fund this project, how to manage that all and was also his first project that he didn't involve MATLAB and then he used this tool set to come up with this interesting little board. So he uses QT for the UI. He did the boards with QI-CAD and the API has been done in Octave. And he mentions here that is intrinsically cross-platform because of the toolkit that he uses is free and open source, but that doesn't mean that he gets lots of help from the community. So if you are interested, I think you'd appreciate. And the Octave API is not completely done. You can control the power source, the digital outputs and the oscilloscope and a multimeter features are not yet fully accessible through the API, but they are available on the user interface. What House he mentions, I'm reading a bit his notes because, yeah. So he also made an Android app that's also available on the repository. You can take a look on which you can control the outputs and inputs of this tiny little board. Going back to the example of merging measurement data and simulation. Here we have a very simple example of 407 CMOS inverter, which has been driven by a three-volt square waveform and it's inverting the waveform to the five-volt rail. And then conceptually we could capture the same behavior. We have a very simple circuit in a circuit simulator and then we have two data sets, right? We have the raw data from measurement and we have the simulation data from simulation. But what are the parameters for these transistors? So you can iteratively try to fit the two data together, but you can also use tools to fit that. So that's one of the aims of this talk to outline how you can do such a thing. In this example, we use Qix, which is a schematic capture and simulation software package. It consists of a few tools. We have the schematic capture. We have tools for designing filters, matching networks, transmission lines. It has a reasonably good set of components built in and there are other command line tools like Qix, which is the schematic capture itself. We have a simulator and we have a converter tool that converts between NETLIS and data formats. But we also interface to external tools like ASCO, which is one optimizer. ADMS, which is used for importing Varylog A, which is a common language for describing transistors and other semiconductor devices. We can invoke a Varylog simulation externally and we can invoke HDL, which we should replace by GHDL soon. And another one for translating P-spice to Spice NETLIST and we also have some post-processing available in Octave and Python. So just to highlight a bit, the Octave side of Qix, on the perspective of doing parameter extraction or fitting raw data to measurements, there are a few functions that can be used for that, mainly to do substitutions on NETLIST, either for the coax simulator or for Spice. And then you can have full control of the engines from Octave. You can read back the data and you can also have manipulated data into Octave. And you can start from either measurement data or parameters that are published by manufacturers. So what you are going to see in a minute is how to do the fitting between the measurement and the simulations. We have some signatures of functions here that is just basically what I explained about producing NETLIST's modifying model cards or Spice model cards and how to read data back into the environment. This is a very simple example. I'm not sure this is quite readable. We have a very simple schematic in Qix and then we move on this schematic into the Octave environment. We load the schematic, we convert to NETLIST, we replace some parameters, we run the simulation, we do some plotting. Here is the schematic and here is the variables inside of Octave environment. And yeah, you can do the same for Spice. In this case, the only difference is that it's creating a Spice NETLIST and it's running Spice on the background. And this is the part of moving data into Octave. But then to bring this data back into parameters or input parameters of your circuit, we use a fitting tool or an optimization tool. And this is a simple example. We have a bandpass filter where the coefficients or the parameters of this passive network, they are parameters. And they're going to be defined by an optimizer, which is trying to optimize some constraints. In this case, we want to minimize the ripple on the passband, maximize the side lobes to have a very nice filter. And by just running an optimization, it gives you the best parameters in this situation. A more advanced example here. This is in our documentation. It was made by Mike. He took an actual resistor, this with a little ceramic and two leads and he measured it on a network analyzer. So this is the blue data. And then he made up three equivalent models for that. So he made with capacitors, inductors to represent the parameters that could affect the behavior of this device. He also wrote it in the form of equations and he also wrote it in very large A. So these are three compact models for this resistor. But the nice thing that he also did is to use an optimizer to feed the measurement data to one of these compact models to find out what are the parameters of this resistor in reality. So if you are really concerned about high frequencies and your components and you have a VNA available, you could measure and you could figure out exactly what's the performance of your device. Which brings us to the full picture, how you integrate everything. This example is better. You can more easily run it if you run QuaxS, which is a friendly fork from Qix, which is giving more support to Spice and Zeiss simulators. But basically, you will start with a schematic and a set of parameters. Then from the schematic, you move into Octave and then you produce either a Spice netlist, which is the purple one, and you run Spice, or you produce a Quax, a Qix netlist, you run Quax, Qix simulations, and then you bring this data back into Octave and then you have a choice to feed it to the optimizer and then the optimizer is going to figure out, well, is my representation, my schematic, producing a same output as with the parameters that I have, or do I have to change the parameters? So it does this loop until you find the parameters that fit the both representations. There are other optimizers out there. The first optimizer I mentioned is ASCO, which is really meant for optimizing analog circuits. So if you give a topology of an analog circuit, a cascode and a folded cascode, it can figure out what are the better parameters given the constraints that you provide. But there are other tools that are more tailored for semiconductor devices. This is one of them. It was developed at TU Delft in Netherlands and it's similar approach. You have a control file that invokes a simulator, then it tries to feed the data from your measurements, which are the circles to the simulation, which are the line. So with that, you can potentially figure out what are the parameters of a transistor that you have lying on a piece of silicone in front of you. And it's quite powerful because you can then simulate and be quite sure that the performance that you simulate is close to reality. Then go to the summary. I will just read the bold letter. So it's about open source hardware and software to have a schematic and simulation coupled to real circuits doing measurement on which you can compare both results that could potentially lead to NIC design or optimization. So we really think that this is interesting because it can give you access to lowering the pyramid on a position where you can design your own chips. In my summary, so we described a workflow for electronic design and characterization. We base our example in open source hardware and software. Of course, there are other types of hardware for a higher end approach and a lower end approach as we just saw from the Labrador. The barrier, we believe that the barrier is quite low because we have affordable hardware. We have software available, not only on the QC scenario, but in other projects. And it's quite interesting to bring together measurements from real devices and hardware measurement tools and simulation together because it facilitates a lot of virtual prototyping because we are more confident that your end result is going to work, especially in this analog and RF field where you don't often have specs for everything. We think that this is highly relevant for makers, mainly educators, and also for industry. And the pitch here is to promote access, perhaps to advanced modeling in the microelectronic domain for design and test. And that's pretty much the summary of the talk. And then Zodek also asked me to publicize the MOS-AK initiative, which is an international association which is towards a compact model and verilogist standards for semiconductor devices. They have books, they have conferences, and this new book is coming out in March. And yeah, and that's pretty much it. If you have any questions, please. I would like to ask Guillermo to repeat the questions for the recording. Yes. We can get a video. Any questions? Yes. I don't think it's an element or boundary element for simulation of tracks and for-for. Let's say it's a transmission line and analysis and something more. So the question is, what's the status on finite element or boundary methods for extracting parameters of transmission lines or this distributed network, distributed devices? Well, to my knowledge, there are tools available like OpenMS and others that can be readily used for extracting scattering parameters. So you can have a lumped representation of your distributed device. But we have to do the work to couple these tools together. So there are tools available, high quality, but somebody has to do the-they have a lifting. Here I have a few more specs. It's not-it's not very high end. But for many applications, it's-it's more than enough. So for audio applications and for normal things, it should be more than enough. So we-we-we don't have that many develop-also the question is what's the status and what's the future plan for-for Qt's? We very-we have very few developers. Very few people that really commit code to it. And we are-we are all volunteers. Me, myself, from last-forced them to this one, I-I think I committed a few pull requests and that's it. It was difficult for me. I tried to pull out a release before the end of next year, but we had a bad merge and then it was-we could not release it, so it's moving slowly, but we try to make it stable each time we release it. And we're still working on cleaning up legacy code, but it's-it's-it's difficult, lengthy, and we don't want to break it, so that's-it's moving. It's not that. Yeah.