 Okay. Everyone, break is over. Thank you. My name is Patrick. I'm fucking nervous and this is a talk about a proposal for an open and democratic design rule file format. As there will be no demo in the end, I have some time left and first of all I want to like thank you to Javier for this excellent organization here. You know, guys, there was some discussion in front of the EDA death room about how to name it and I'm glad that we find this way. And yeah, thank you for the organization. I hope there will be a death room next year too because I pretty much like, okay, back to the topic. It's about design rule formats and the reason I started about this is that I believe design rules right now are really, really limited. I have two reasons for this. The first one is that it's completely limited to the printed circuit board. So everything in these design rule formats is always about track clearance, clearance to whatever. It's always about the copper, about the solder mask, maybe about the paste layer, but it's always limited to the PCB. But as you guys know, a sampling electronic component is much more than a PCB. It's about making the correct stencil. It's about how to place all the components. It's how to actually maybe put the PCB into the SMD line. So this is which all should be covered in the design rule format. And the second reason what I don't like about the current state of design rules is that they always talk about a lower limit. So for example, if you download design rule files for EGLE, they tell you don't go below, let's say, 0.1 millimeters in track width. So what I've seen is that some PCB engineers draw the whole fucking board with 0.1 millimeters track width. So I ask them, why do you do that? Your board is like 100 by 80 millimeters because they tell me you allowed us to do so. Say that's the minimum of it. Please don't go below, but if you are able to maybe draw the tracks a little bit wider, why don't you do that? And the reason is not because I told you, but there should be some kind of a window, something like don't go below this limit. But if possible, please stay above because it's not just about finding a way on how to maybe manufacture a board. It's on finding a way that every PCB will correctly manufactured. So to sum up, my opinion design rules are made to simplify communication. It's always about communication from the manufacturer, from the assembly factory, from the stencil producer to us as engineers. So the design rule file is something you get in this example from the PCB manufacturer and they tell you how to design your design. And I guess that's really important because second point, it really lowers the risk of faulty productions. So the first thing when I see faulty PCBs is I check the design rules and see if it somehow violated. And what most PCB manufacturers don't tell you is that they overproduce. So if you order like 50 pieces of your PCB and they notice that maybe half of the production is faulty, they just produce 100 and send you 50 because the other 50 are just broken, they don't tell you. And if you go into serious manufacturing, you order like 1,000 and then they're going to tell you that, hey, I'm really sorry, but yeah, I produce 50 pieces but actually I produce 100 and we can't do it that way for the large series. And this is something which is not in the design rules right now. Some things which bother me is for some EDA applications, there is not even a file format. So talking to the key cut guys around here, if you do design rules in key cut, you have to type them in by yourself. So you get some kind of PDF from your PCB manufacturer which tells you about the limits and then you type them in into key cut. And this is something I really like about EGLE that you can just download the file and insert them into your drawing and then it's done. So I have no clue, maybe I can ask later why key cut does not have anything like this, maybe this is a chance to change that. And one thing which is really important to me is that right now it's only about PCB manufacturing. So nothing about assembly, nothing about maybe sourcing of parts. So why don't the design rule file tell me, hey, if you want to assemble this project within the next two years, you have to check end of life of your parts. It's a design rule too. So what does that lead to? Communication. So whenever you try to produce electronic components in a series, you know these phone calls between you and the assembly factory, something like, hey, there are a few parts which I'm not able to pick and place. Or hey, there is a part which is too close to the edge of the PCB. It's actually covered in my SMT line. I'm not able to produce this. Or hey, the stencil you delivered to me actually does not fit because the shrink of the pads is not existent at all. Please shrink the pads of like 15%. So this is everything which comes together later when you assemble the PCBs which is not covered at all. And this is something like what happens when you are actually finished with your design. Because as soon as you finish, you give it off to the assembly factory and then you notice this is wrong, this is wrong, this is wrong. I want to know that upfront, not later in the assembly. Something more theoretically. So we have us as the engineer drawing our electronic components. Then there is the manufacturer. Manufacturer in this case here can be PCB manufacturer, assembly factory, or even partition. This is something which is necessary in every electronic design. And there are software and services. Software and services in this case are the parties which actually checks this. So here are the requirements over at the manufacturers. We have the engineer which we are. We have to fully file this and we have the software and services software at the key card which should check on these. So and in the middle which connects all these parties is the open design format. Something really boilerplate stuff which maybe applies for all file formats. But I just want to rephrase it. It's open commonly accepted. Extensible and flexible and backwards compatible. So nothing special. I just want to put it on screen. Let's get a little bit more into detail. We talked about file formats previously. So I heard like S expressions, JSON. I have one more because I'm more the Ruby guy. I decided for YAML. The reason why I decided for this format is that even if you are not parsing it, you can perfectly read it. So it's not just about writing it down. It's about understanding it. I guess my opinion, you maybe have another opinion on this. This is really important. Then there's something that every rule in this design format has a severity. Because sometimes I just want to remind the engineer that it might not work. Just take it into account. If you accept on it, that's fine. So that's the severity of maybe info or warning. But maybe there's something like my assembly factory tells me to not place heavy parts on the bottom of the PCB. Because I'm not able to manufacture this. This is an error. Because that will never, ever work. So real-world examples now. Could you imagine that maybe Octopart? Do you guys know Octopart? That's something like a search engine for parts. But it's a little bit more. You can actually upload your bill of materials to Octopart. And it takes care of organizing this bill of materials. That's pretty handy. Give it a try. So if Octopart would use this format, it could straight away tell us that maybe all the parts should be from a specific, specific distributor because I have some special discount for this. So if someone of the distributors would like to sponsor this, I could put the name the next time on these slides. Another example is, by the way, this is the actual file format. Another example is, I have some ICs on my PCB. And I want to make sure that these ICs are available for the next two years. So with these both rules, I make sure that a party like, as I said, Octopart can validate this. So we take Octopart, we take our design rules, we take our design, stuff it all together and get a thumbs up or a thumbs down. Next one. So obviously, example, what if maybe Keycard would support the Open Design Rule format? I could mention Horizon and Libre PCB2. A design rule could look something like this. So for PCBs, it's pretty obvious what these design rules look like. But what I really would like to introduce is the severity. It bothers me as a PCB manufacturer that people always go to the limits and I tell them, hey, if you want to place two tracks within two SMD pads, it's fine if you go to the limit. But please don't draw like five centimeter tracks with 0.1 millimeters. No, please not. And now another party. So what if Oshpark or Eisler, like PCB manufacturers in general, would super this format? You would put your PCB drawing in, you would put the design rules in, and then it says, okay, I guarantee you that I'm able to manufacture this, or I just don't manufacture it. So this is something like we're also able to define the stackup that maybe our PCB manufacturer directly tells us, hey, the stackup which you defined in your design rules just does not match my stackup. So that you upfront know that you did something wrong. So this is something my assembly incorporated, something which stands for all the assembly factories around the world. These guys have a pretty hard job because in the end with the assembly, we have PCB, we have a stencil, we have part sourcing, we have all the stuff together and it all comes together, and we have to make sure as engineers to provide all this information to these guys. And whenever you've designed some electric component, you notice that these guys call you right away if there is something wrong and they will and they charge you for it. Keep that in mind. So with the open design rule format, these assembly factories can tell us upfront what they expect and they expect stuff like how should our assembly panel look like. You know, thank you, Javier. When you have small PCB, you most of the time penalize it for the assembly line. And the assembly line needs some kind of spacing or rail to put it into the line. So sometimes this is a thing the assembly partner does for you. But if you deliver it wide ray, they just can start assembling and mounting all the parts on it. So this is really handy. And maybe you get a discount if you just tell them, hey, I only have SMT components and they are all placed on the top side. So you don't have to mount them on both sides. That might reduce the price. So really strict design rules may lower the price for assembly. One more slide on this stencils is something really important which a lot of people then keep in mind. When you start producing stencils for manufacturing, you don't have a stencil like this size. You have something which is much larger with a frame around it. This frame is something which is specified by the system they use for mounting the stencil. Please ask the manufacturer which kind of mounting system do you use for your stencils. Type it in the design rule format and then it checks every time do you use this frame. So what we have right now is initial support from manufacturers. So we as a PCB manufacturer support this file format and provide templates with all our proposed rules in it. And what I really would like to start off with integrating this format into GERBV because what I know is that a lot of us are using GERBV to checking our GERBA files. And what if GERBV could just tell us right away, hey, log out for your track with. And additionally to this a lot of PCB manufacturers use GERBV so that would be pretty handy. So to do this, maybe if you guys are looking for something to develop, convert us for maybe the Eagle file format would be really handy because a lot of PCB factories have this file format ready and if we just convert them over to this file format that would be a huge increase in popularity. And if you say I do electronic manufacturing and I want my customers to take care of whatever just hit me and we will add this. So that's everything about the open design rule format. And thanks for your attention. Go on. Questions. I will repeat the question. So the question was, I saw from the end that this is a good candidate for a keycard maybe. So the question was, this format is obviously really manufacturing related. Did you take into account that there is much more about the design itself which you can check. The reason that it is manufacturing related is that we actually do electronic manufacturing so I'm a little bit biased on this and I would be happy to take this into account. But it's really important is that it's more about how the design rules are structured not about what are the design rules. What, for example, keycard would have to deliver is something like within the rule set there is this name and keycard would have to provide this value so that we can check against it. But this file format is really general. So in the beginning I got some critics about hey, you define a file format which is kind of interesting but how does it actually work? To define the rules itself then it works because I guess there is no way to find something which really applies to all of us. Next one. Yeah, so clearance is no issue at all. Of course it is. No, no, no. I mean to define a clearance is not an issue because it just applies to the whole board. I have an example for the clearance. This is important for the, that's totally correct but it does not apply for the manufacturing. For the manufacturing I just don't care how many voltage there is. Maybe the idea is to take this as the foundation and then add some more like design EDA related stuff on top of it. That's totally correct. So the question was how do you define clearance between different signals? Right now there is no such way because from a manufacturing perspective it doesn't matter which signal it is actually. But we can elaborate on this later. That's why I called it a proposal. So the question was could this file format also be used as kind of communication or way of communicating the issues? Never actually thought about that. But that's a pretty cool idea if we go like ping-pong with this file. Yeah? There's guys who do really high actors and stuff in the forehousing they can't. Depending on the input that you have. I do have one quick question for you. Have you seen that you can code job and what they are calling the job file format? It's not this specific but it does include a lot of things for manufacturing like dielectric structure. You can define those things and then jump them out to a file and send to your format out. But have you seen it? The question is have I seen the OCamco Gerber job file description format? No, but I noticed that it gets quite popular as even Autodesk Eagle with the new 8.6 release outputs this goba file description format. But it's limited to PCB production which is fine, I don't want to criticize this. I should have take a look at this. But asking you OCamco is a pretty good idea as you said they are a big player and all that cam output format stuff. Yeah. Thank you, Xavier.