So glad that diode matrix made the final build. Thought you might have replaced it with an EEPROM. This is so much cooler. Those ALU operation LEDs are seriously cool. Inspiring build, James.
@weirdboyjim3 жыл бұрын
Thanks Troy! I agree! The operation LED's make it much easier to translate what's going on. Looking forward to having the flags properly annotated as well!
@TheEmbeddedHobbyist3 жыл бұрын
My thoughts exactly, but would need two 8bit eproms. Can find 16bit eproms but they all seem to otp type. But two 8bit ones will take up less space than all the diodes and be easier to solder.
@TroySchrapel3 жыл бұрын
@@TheEmbeddedHobbyist A 4-bit (16x8) EEPROM is all you'd need.
@weirdboyjim3 жыл бұрын
With two 28c256's and a couple of logic chips I could actually replace the entire ALU but that isn't really in my design goals.
@edgeeffect3 жыл бұрын
@@weirdboyjim you get twice the bang for your buck... extra diagnostics to help with debugging AND extra flashing lights for decorative effect when all's going well.
@daskasspatzle23963 жыл бұрын
Very nice to have a labelled LED for all these ALU operations :-)
@weirdboyjim3 жыл бұрын
Absolutely! I've not had to do any code debuging since adding that but It's going to be really useful!
@rlbjr8983 жыл бұрын
Thank you James! I feel like I'm reading a really good book and you are hitting a critical high point in completing the ALU!
@weirdboyjim3 жыл бұрын
Thanks Bob! That's an interesting metaphor, I feel the display circuit while no more complex or interesting technically than other sections will be where it gets interesting. Maybe that's the climactic ending of your book?
@rlbjr8983 жыл бұрын
@@weirdboyjim oh it’s not yet the FINAL high point. Just a really good one!.edit: actually seeing a game on it will be really great!!!
@BillySugger19652 жыл бұрын
Man, your circuit design and layout skills are maturing beautifully, really impressive stuff James! When you said something like “select zero is important, but not as important as good ground connectivity” it was music to my haggard ears!
@weirdboyjim2 жыл бұрын
Lol, I'm pleased you approve.
@PhilBoswell11 ай бұрын
I'm slightly astonished that you resisted the impulse to build the diode array from LEDs for extra BlinkenFlaschen 👀🤣 I've been bingeing your playlist and this is most impressive, thank you!
@weirdboyjim11 ай бұрын
Lol! But it's, led's are not designed to be "good diodes" they are tuned for light emission. They need to a conduct a certain amount of current to create visible light and these cmos logic circuits operate with very little current. You could add some resistors to ground/vcc but then you would have upto 5 (in this circuit) led's being driven by a single logic line.
@henryD93633 жыл бұрын
Congratulations! I was holding my breath the whole time. Wow! I couldn't see how you knew where the cathode was on the diodes. Both ends look the same.
@weirdboyjim3 жыл бұрын
Deep down I'm surprised every time a pcb works ;-) Those LED's have a green 'T' on the back that shows polarity (as do the silk screen marks), they also have a tiny green dot on one side. If you watch carefully you can see me check the back before placing the first one to remind myself which side the green dot should be, then I use that for the rest of the led's.
@edgeeffect3 жыл бұрын
This is the PCB we've been waiting for. I'm really really slow at EasyEDA... so it's such a treat to watch you doing such at tight fit at high speed.
@weirdboyjim3 жыл бұрын
Thanks edgeeffect! I dare not release the normal speed footage I may not be very fast. This video was formed of 5 hours and 43 minutes of linear time footage (not including secondary cameras of the time period like the microscope). The bulk of that was the design stuff that I really work at to make it reasonable for the final cut.
@jerril423 жыл бұрын
Thanks James. That looks great. I was pretty sure you'd mount the diodes. Nice to see it in the project; it certainly adds distinction to an incredible topography. Take care.
@weirdboyjim3 жыл бұрын
Thanks Jerril! With the ALU boards in general I feel I've taken a step forward in the pcb design standard.
@lawrencemanning3 жыл бұрын
Awsome as always. And yup, she looks lovely!
@weirdboyjim3 жыл бұрын
Thanks for the support as always Lawrence, I'm slowly getting better with the PCB design!
@lawrencemanning3 жыл бұрын
@@weirdboyjim if you ever get tired with games development..... ;)
@kalj73 жыл бұрын
Finally in sync after watching the entire backlog of videos. Don't know if I should be happy or sad that I now have to wait for you to make new videos :) Just wanted to say I'm really enjoying your series. The pace in the videos is kind of perfect to follow along comfortably, and I admire your persistence keeping at this project for such a long time. Most people would have lost interest long before achieving what you have. Congratulations!
@weirdboyjim3 жыл бұрын
Thanks Karl, Glad you have been enjoying the series and apologies for how slow it will be for you now!
@christophfriedrich50923 жыл бұрын
Really really love your work! Can't wait for the next video ^^
@weirdboyjim3 жыл бұрын
Thanks for the support Christoph! Glad you are finding it interesting!
@fyrhonypac3 жыл бұрын
You can add some flux to your paste to thin it out if it's getting dry. Just add small amounts and blend it well until it's back to the right consistency.
@weirdboyjim3 жыл бұрын
I had wondered about that, I'll give it a try.
@edgeeffect3 жыл бұрын
Yeah... I was wondering what the "gunky base" of solder paste was and if you could rejuvenate it by adding some solvent or other.
@fyrhonypac3 жыл бұрын
If you add too much flux it won't sit as nice on the pads when you use your stencil and you may get more solder bridges on fine pitched parts, tomb-stoning or floaters but since your doing this by hand anyways the rework won't be issue. Once you've added flux I wouldn't use it for BGA parts just to be sure. I would also suggest getting a syringe style paste tube rather then a tub. You can use it fix pads you miss with the stencil using a needle tip and you can also use it without a tip for the small amount your using on your stencil. For the low volume of PCB's your doing it will last longer then a tub. Keep it refrigerated between uses and it will last much longer.
@AjinkyaMahajan3 жыл бұрын
Great work. I will be looking forward to the day with the VGA port. Cheers! 🎇✨✌
@weirdboyjim3 жыл бұрын
Thanks Ajinkya, I have a short list of things I want to get finished before I start the vga but soon. I'll need the space I get when I convert the final alu breadboards to pcb.
@frazer262 жыл бұрын
To stop connectors moving, click the component and on the right, the component attributes, select locked to Yes, that way it won’t move.
@weirdboyjim2 жыл бұрын
Interesting, I'll give it a try.
@rickdearman99923 жыл бұрын
Man that looks fiddly, you have way more patience than me. Thanks for showing the diode matrix. I looked into it, but I have a ton of old EPROMs so didn't seem worth the hassle, and my design goals are completely different. I'm trying to make one using only the chips I bought from a job-lot on Ebay. I'm still interested in seeing the code. I'm hacking some stuff together now and searching around for samples of simple assemblers, etc.
@weirdboyjim3 жыл бұрын
If you want access to my assembler, email me.
@teknifix3 жыл бұрын
This looks like it would have been a candidate for a 4 layer PCB. Great layout!
@weirdboyjim3 жыл бұрын
I'm kind of glad it wasn't, this pcb was slightly more than 10cm on it's longest which makes 4 layer quite a bit more expensive. It's an odd extra design consideration it's worth thinking about with current group of cost effective pcb manufacturers we have access to now.
@olavl88273 жыл бұрын
That really is a very interesting looking PCB. Circuits like this are usually hidden inside a CPU package. But now you can almost exactly see how different instructions are selected. This whole thing is going to be a work of art. I also love how you have been complaining for weeks now about your old dried out solder paste ;-) If you had ordered a fresh pot of that stuff for cheap from China or wherever you would have already had it. BTW I think I'm the same, I often forget about things that seem secondary until they come back to bite me. Oh well.
@weirdboyjim3 жыл бұрын
Indeed. If you look at the chip schematics cpu's there is usually a control decode very much like this.
@andymouse3 жыл бұрын
Wow I've missed so much ! got a lot of back catalog to catch up on ( no bad thing !) I would have sworn I was subbed, but apparently not, so I've fixed that ....cheers !
@weirdboyjim3 жыл бұрын
Lol andymouse, I'm still here chipping away at my overly ambitious project! Hope you find the catchup interesting!
@edgeeffect3 жыл бұрын
Catching up on James's back catalogue got me through a really boring week in hospital a year and a half ago.... and there was so much less back catalogue then.... good watching.
@brandonmack1113 жыл бұрын
Very cool! I do like the all-in-one format, with the design and finished board all in one video, though it takes longer for obvious reasons. I'm sure it's worse for you, having to wait those long weeks right in the middle of the process!
@weirdboyjim3 жыл бұрын
Yeah, the all in one format does work better. The big part ends up being the schematic and pcb design. I've started doing a bit more schematic design on the fly so maybe when I get to those pcb's I can make a more compact video.
@andrewwatts19973 жыл бұрын
Very nice display, the matrix looks pretty good. Looking forward to more videos ;)
@weirdboyjim3 жыл бұрын
Thanks Andrew! I've stepped a few bits of code since recording this, the operation LED's are an amazing tool for understanding what the cpu is doing. Most other operations are some kind of data move, so you can follow the flow by watching the assert/load control led's but the ALU while it displayed the internal operation lines was a bit opaque.
@andrewwatts19973 жыл бұрын
@@weirdboyjim It's amazing how much understanding you can get with just a couple of led's. I am designing a cpu with a friend and led's are going to be very important. The ALU is difficult to follow as it collects multiple bits of data and spews one more out the moment it's presented on the inputs. Depending on how complicated the ALU is it can be more and more confusing. We are planning on making a 32 bit X 32bit register set so that's going to be interesting to see all those lights. You are a great inspiration, I'l tell you that !
@m1geo3 жыл бұрын
17:00 a resistor may be a better choice of termination load. Any track acts like a transmission line to high speed signals. Since square waves are made from odd harmonics extending wayy up in frequency, they're susceptible. Adding a resistor absorbs the energy that would otherwise be reflected, preventing it from causing standing waves (reflections) on your trace. Apologies if you knew this already! 🙈
@weirdboyjim3 жыл бұрын
Still learning this stuff, I've found situations where a cap gives me the results I want, and situations where it doesn't but a resistor does. Still learning about the upstream why's that cause that.
@m1geo3 жыл бұрын
@@weirdboyjim so ideally you'd have a source resistance (either in series with the output or on the chip) which limits the current onto the trace. You then also need a resistor to absorb reflections on the end of the trace. The trace is designed for the same characteristic impedance (ideally that the inductance due to trace length cancels the capacitance to ground, and leaves only a real resistance that you use with the source resistance and the load resistance) This gets more complex with tracks that split off (known as stubs), as it is not obvious how to handle those. It's a complex subject, but it's usually the cause of the ringing on square waves. It's constructive and destructive interference of reflections on the track as the state changes. In RF systems, the standard is very much 50-Ohms. Here, it's much easier to select from a few components. The ICs won't like 50R, it's likely too low (and will ruin your fanout) but a load resistor in problematic areas can help. I'd expect 1k to 10k is about in the right area. You won't fix the issue, but it may make it better. For your system clock, you an lower the drive impedance my paralleling multiple drivers (say inverters) to increase the drive current (and thus fanout, slew rate, lower source impedance, etc). Hope that makes some sense. It's transmission line theory. Unfortunately, digital systems don't know they're not supposed to be 😂
@axelBr12 жыл бұрын
Hence the 50 Ohm terminators as part of many old networks, and why the network stopped working when the terminator fell off. Although not way TBase 10 on coax, stopped if the cable got snagged.
@PaulasTechStuff3 жыл бұрын
great work!! I'd check the soldering on the connectors on the base board, I've missed soldering all the pads before and got things that don't always work.
@weirdboyjim3 жыл бұрын
Yeah, I'll check that when I get a chance. could just have been some dust or tarnish on the connector.
@danielnavarro7133 жыл бұрын
Wonderful. Very great work
@weirdboyjim3 жыл бұрын
Thanks Daniel!
@FrankGevaerts3 жыл бұрын
I was wondering throughout if you'd have an adjusted stencil for the diodes :) Getting those diodes the wrong way around is a bit of a pity, lucky you noticed before soldering!
@weirdboyjim3 жыл бұрын
It was quite fortunate actually, normally I record all of a video before editing any of it. This time I had a spare evening and edited the design footage while waiting for pcb delivery, otherwise I may not have noticed it.
@JonnyBergdahl3 жыл бұрын
You have come quite a good bit since the first PCB, dropping down the rabbit hole of the "making it pretty" part of PCB design. I do see that you still route the underside as if the pads on the top was there, that is a troughhole routing habit that takes some time before it disappears. Also, keeping the diode matrix is genius, it really shows how that stuff really is implemented internally.
@weirdboyjim3 жыл бұрын
Thanks Jonny. I route under pads when I have to but the simple fact that you can't click on things as well without hiding the layer pushes you to avoid it! ;-)
@JonnyBergdahl3 жыл бұрын
@@weirdboyjim Ah, so it was a software limitation and not a habit! Got you.
@AiOinc13 жыл бұрын
Glad you decided to move away from the jumpers! Beautiful like you said it would be Will you be adding any sort of expansion "slots" or connectors besides the bus connectors on the side? A board with that LCD and with the sound generator would be neat.
@weirdboyjim3 жыл бұрын
Glad you like it! The Audio board and the UART will definitely make it to pcb's, it was never the long term plan to keep the lcd module until the end but it might make sense to do it just to save a little space in the mean time.
@AiOinc13 жыл бұрын
@@weirdboyjim Seems like it's become a big part of the CPU so far though. Will the VGA board have text support?
@jaythomas31803 жыл бұрын
That metal mask you spread the solder past over to get the pads, that is an option JLPCB offers I assume?
@weirdboyjim3 жыл бұрын
Yes, it's called a Stencil. Scroll to the bottom of the pcb order page and you can order one alongside the current pcb. There is a separate tab if you want to order one on it's own which is what I used here to get one with specific diodes removed.
@jaythomas31803 жыл бұрын
@@weirdboyjim I always learn something new watching these videos. Thank you!
@Samuel-eu1ts3 жыл бұрын
You can disable the solder paste pads only instead of deleting the whole component of the pcb, there is a special layer for it. Good job tho this pcb look nice
@weirdboyjim3 жыл бұрын
Yeah, I did experiment with that. The approach I used was just to save a copy of the pcb and delete the components outright
@ncot_tech3 жыл бұрын
Do you need a stencil to solder SMD components? I’ve got a kit with a load of tiny SMD parts and a mean looking qfp100 microcontroller to solder and I don’t have a stencil. Would smearing solder paste on the pads work (like when you added more to that resistor pack), or am I going to spend hours trying to remove solder bridges? The board is double sided too, to add to the complexity and fun.
@weirdboyjim3 жыл бұрын
You can hot air it applying the paste manually. If you search on ebay you'll see people who sell paste in syringe like dispensers for just that purpose. It's probably just as easy to drag solder it though with a regular iron, especially since your board is two sided.
@neilsharman78763 жыл бұрын
I was looking over a few of the ALU pcb's and I cannot see where AluActive is being used. Have I missed something?
@weirdboyjim3 жыл бұрын
It's not. I had an idea to use that line to latch the inputs to the ALU so the the visuals wouldn't change when an operation isn't in progress (And the LHS and RHS default back to A). I didn't have the room on the boards so I dropped the idea, it was just for aesthetics so I wasn't too worried about it.
@TheEmbeddedHobbyist3 жыл бұрын
All those diodes, come on James we know there are better ways. But it does show up your prowess with a soldering iron.;)
@weirdboyjim3 жыл бұрын
Ha! My soldering gets better with every video, but I don't think we should be calling it "prowess" just yet! Many of the difficult design decisions in this build are about striking a balance between space efficiency and "showing the workings".
@TomStorey963 жыл бұрын
I wonder if some transistors to drive the LEDs for each of the operations would have made them more visible? Or is it just because it's all happening so quickly that they just don't get a chance to light up bright? I'm looking at this and thinking that some flex PCBs between the boards means you could open/close it a bit like a book. 😄
@weirdboyjim3 жыл бұрын
It's the same LED's and resistors as the other blue LED's in the build. They look dimmer in the trace runs because of duty time, when I'm stepping they are really bright. The Flex PCB's is interesting. My plan was to do a combined back plane for everything at the end and then mount it on a backing board.
@TomStorey963 жыл бұрын
@@weirdboyjim Ah cool. I guess I hadnt noticed the LEDs on the original module.
@axelBr12 жыл бұрын
I haven't been able to check your circuit fully to see how it works, I have yet to watch your diode matrix videos, waiting to finish this series; but I think the LEDs are dimmer because you didn't use different resister values to account for the forward voltage drop of the diodes of the matrix. Seems to range from about 0.7 to 1.25V, from a quick look online of diodes.
@yngsjo3 жыл бұрын
Are you going to release all pcb as open hardware?
@weirdboyjim3 жыл бұрын
I have been, once I’m “fairly sure” it works I make the Easyeda projects public. You can see most of the modules here easyeda.com/weirdboyjim
@TheEmbeddedHobbyist3 жыл бұрын
@@weirdboyjim Sounds like a great kit to do! to pass the time away during the dark nights in the winter up in Arctic Circle. :)
@connorwood953 жыл бұрын
Out of interest, what was the reason to have all the unpopulated diodes on the board as well? Surely easier to only have the ones in use. Makes the board look not as nice, but easier to route. May well be a reason I'm not seeing, my electronics knowledge is minimal. I work one or two levels above this and write code all day usually XP
@lawrencemanning3 жыл бұрын
It means the functions of the ALU can be changed without remaking the board.
@weirdboyjim3 жыл бұрын
That is a good question Connor. The truthful answer to that question is "It's what felt right for this project" but I can give you some thoughts. That diode matrix is working as a PROM (I could have just stuck a rom chip in there in a fraction of the space) and as such the absence of a diode is just as important as the presence of one. This project is very much a demonstration (hence all the led's) so the leaving the empty diode slots felt a lot like showing the workings. Once you work out the pattern routing it wasn't really any more effort than just doing the diodes that are needed. Keeping the empties also allows me to reprogram it, let's say I wanted different preservation behaviour for the arithmetic carry during a logical shift I could tweak the encoded data.
@connorwood953 жыл бұрын
@@weirdboyjim ah I see! Yes that makes a lot of sense. Thanks for taking the time out to explain, very much appreciated
@kyleeames82293 жыл бұрын
It’s remarkable that all that breadboard circuitry is going to fit in an area the size of a post card. Just goes to show that breadboards are lousy for achieving high component densities.
@weirdboyjim3 жыл бұрын
Indeed, it's worth noting that the diode matrix was already a pcb, so that bit didn't really get any smaller!
@dennisdecoene3 жыл бұрын
I don't understand why you populated the pcb with positions for the diodes you don't use. Beautiful pcb btw.
@weirdboyjim3 жыл бұрын
That very much a matter of choice that might not seem as right to other people. I wanted to retain the essence of the operation->control line mapping being programmable. I could move those diodes around to tweak the behaviour if I wanted to.
@henryD93633 жыл бұрын
I was thinking it would be a good idea to use silk screen to indicate the populated diodes. Then I saw you had a stencil. Two birds with one stone.
@OscarSommerbo3 жыл бұрын
Checking storage recommendations for solder paste, I found that it is recommended to store it at 0-10C. Some also use ziplock bag to reduce off gassing. Your paste is getting old, all your complaints are echoed online about solder paste getting old.
@weirdboyjim3 жыл бұрын
It can be very different between pastes, I've started using stable paste in a syringe, seems to keep better for occasional use.