Can't wait to see the next Episodes of your build. I am really excited how it is going to be and your explanations to that. Very impressive and ambitious Project. *thumbs up. Hope to see more of your fantastic videos soon
I really enjoy your videos. They are some of the best I've seen on YT, as good as the Ben Eater and James Sharman ones. I've also learnt a lot. I'm looking forward to what you are going to do in the future.
Now its time to write a Software which gets an GoldenModel-Object, a Discription of the Mapping between the GoldenModel and the Hardware Pins and a Test Strategy (Randomized Pins, Pattern Pins, Repeats, etc.). Then you can automate your Tests even more. I like your videos very much!
Thanks! 😀 I like your suggestion of automating some of the golden model equivalency checking. That would make things a lot easier. I have a few ideas on automated fault detection that might play into this. Needs some thought 👍
Thanks! I'm torn between showing the software side in more detail, which has a tendency to totally go off the rails and blow up into a 2h segment, and keeping the hardware focus, which then glosses over some details and makes the software part too quick 🤔. Not sure which direction to go...
@@fabianschuiki you seem to have a pretty good balance, and while I can understand what you're describing the code does, I see the code itself and it might as well be written in ancient cruciform! For some reason I've just never been able to parse a natural language description into a programming language or vice versa, a bit like how I failed my language classes in high school.
Whenever you want to write "global" it's a good sign that maybe you should make a class. Interestingly golden models as classes could serve equally well in a simulator.
Yeah that is an excellent point! Having the GM in a class would allow you to pretty neatly instantiate it, giving you a handle to all of the circuit's state, and then you'd just run it alongside the tester instance. Very cool! 🎉🥳
You could take a look at PyTest for writing test suites. It kind of takes care of all of the "prettyness" of success and failures, but you can also use parameterisation for tests that are similar but need to iterate through several values. I'm sure you could write something yourself to do much the same, but PyTest already has it all there so you just focus on writing tests
Awesome! What a neat tester. I was just wondering if it's a good idea to add some current limiting resistors to the output of the tester, just in case something goes wrong... Imagine you have a clear short to GND somewhere!
Yeah that would be a very nice feature to have! I hadn't planned for that, but you could insert the resistors you're describing at the pin header. Or try to put the output drivers onto a power rail with a short-circuit detector on it 🤔🙂
Yeah it does. The reason I try to hide them is to make the boards look less busy and cleaner, such that I can label the things on the silkscreen that really matter later on (pin numbers on the headers, labels for the individual signals that you have to hook up externally, etc). With these small boards troubleshooting and repairs are usually very straightforward, and you'll have to pull up the schematic and layout anyway where you can see all the components. The pattern-based testing with the tester PCB also really helps here, because you can very easily see where the issues are just by looking at which pins fail. If we ever get to automated test pattern generation, we'll even be able to cook up test patterns that can tell you exactly which chip pins on the PCB are bad just from driving the PCB inputs and observing its outputs.
Thanks 👍! Something has gone wrong there during the rendering of the video. Unfortunately it's not so easy to fix up a video once it's uploaded to RU-vid 😔
Yes! I also realized after the fact that on some of the PCBs I did push too much solder paste through the stencil, which then often pools into small solder balls ontop of the solder mask. I think part of the problem is using a heat gun which might blow solder around as it liquifies. Ideally I'd use a hot plate for more even soldering, which would allow the solder to properly pool and slowly cook off any oxygen on the pads.