 Greetings risk 5 friends. It's not quite 11.30 but anyway I'll just start the stream a few seconds early and hopefully while I'm babbling it will become 11.30. Anyway it's a rainy cold day in the Bay Area. It's a perfect day to do some soldering. So what we're going to be doing is here is the previous failed version of the risk 5 ALU that I'm building and the reason that it failed I think is that there is a small counter circuit right here whose purpose is to load these ROMs into these RAMs so that the ALU can actually do something. The rest of the ALU circuitry is basically buffers. So I covered the design of the ALU in previous videos. So anyway I respawn the board with a correct counter circuit. So I'm going to solder this up and hopefully get to testing it today and I estimate there's maybe a 20% chance of success based on previous results. I mean it really is a simple circuit. It's just that I screwed up the counter because I used the wrong part. So anyway I've got all of my parts here ready to go. I'll just turn on my soldering iron. Let me just get the chat up and make sure that I have that. Thank you for the compliment on the sweater. Yeah it's been pretty cold here in the Bay Area so I've actually had to stop wearing t-shirts and go for a sweater and this was almost the only one I had. I haven't worn sweaters in years so that's how cold it is. So this is the microscope. Great. I can see. You can see. Alright so let's see. We've got a bunch of capacitors to solder. We've got a bunch of chips to solder. Pretty much all of these smaller footprints are just 8-bit buffers and these larger footprints are SRAMs and then over on the sides we've got the PLCC sockets for the ROMs. We've got a few resistors and we've got a little bit of logic and some electrolytic capacitors and on the other side we have the counter chips. So the question is sanity check by swapping chips. Yeah the problem is here's the previous counter circuit and it would be kind of a pain to pull these out and make you know a tiny little board just for these counters and then sort of wire it in. So I thought I would just you know go for broke. I mean why not. Now my strategy is that if this one fails then what I'm going to do is I'm going to simulate the entire thing in Veralog because obviously I don't know what I'm doing. Order of operations I think I'm going to do the capacitors last this time. Usually I do the capacitors first but they're close enough that drag soldering soldering on the ICs is going to be a little bit difficult with these capacitors in the way. So the capacitors are going to be easy to do last. All right my soldering iron is ready. Let's get the thin solder. Let's get some parts. Okay what I'm going to do first are the irregular chips. These are the ones that aren't just buffers. So these are two logic chips and these are just going to be these. Now one of the other things is why don't I just desolder all of these chips rather than put all new chips on. Well I don't want to add that variable in. If I did that and it didn't work then I wouldn't know whether it was my design or whether it was because I damaged one of the chips. So these buffer chips are cheap enough. Even the Rams are cheap enough so I can definitely afford to just use all new chips. All right so let's see. This one here is 74. Well it's a it's an 04. That's an inverter. Let's go find it. Now let's switch cameras so that you can see me digging around in the parts. Digging around in the parts. 74 LVCO4. Focus on that camera. I only need one. Switch back to the microscope right way around. Make sure that pin one is in the right place. Which is right there. Actually yeah that's um was that Mauser? No that was Digikey. I buy all my parts from Digikey mainly. Yeah although I would like sponsorship from Mauser that would be fine. I wouldn't object. All right. Oh and check this out. So the last time the last time that I did some soldering I was complaining that my that my flux pen was kind of difficult to manipulate especially if I've got you know one hand holding tweezers and another hand holding a soldering iron or whatever. Well I made this hokey little contraption. It's basically just a clamp and a thing where I can just pull my flux pen. So that's kind of fun. All right so step one. Flux. Lots of it. I found that the key to soldering to doing some drag soldering is lots and lots and lots of flux. Like flood the entire area. Looks good and then hold the chip down and just add more flux. This really helps prevent solder bridges. All right my tip. I'm using a reservoir tip. So I'm just gonna fill up the reservoir. I'm going to run it through the little brass cleaning stuff. Fresh solder. Solder. Easy as that. And what I'll do is I'll check this afterwards. First I'm going to clean off the flux using alcohol and then I'm going to electrically check every pin to make sure that none of them have shorted because that has burned me in the past. That's one down. Let's do this one right here. This is a 7432. It's an OR gate. I can put the O4 bag away because I don't have any more on the board. 7432. Oops. Got a bonus there. Trying to put it away. They're teeny and small. So yeah I know. Lewis Rossman. I really need what he has. That thing that just sort of dumps flux everywhere. So I'm not going to be providing a whole lot of commentary. I mean I've already done that. This is just going to be a little just a nice lazy relaxing Sunday. And I will check the chat every so often in case there are any questions or comments or complaints. The space between the pads is not small at all. As long as there's some space it seems pretty standard to me. Alright so let's take a look at just for fun. Flux without all the flux. Looks nice to me. It's a little hard to see on the video I guess. But what I can do, a multimeter, test every pin just to prove that I'm actually testing this properly. Is that a solder bridge? Check the other pins. Interesting. Is that supposed to happen? Oh yes it is supposed to happen because these unused pins should be tied to one or the other rail. So yes that is actually supposed to happen. I can get out a blank board. Here's a blank board so that we can make absolutely sure that that is the case. Right these are the unused pins and you don't want to leave them floating because of the way that CMOS circuitry works. If you leave them floating they're probably going to settle into a state where they're neither on nor off and they're just going to use power. And that's no good. Alright let's do some buffers. Here's a whole line of buffers. These are the bus buffers. So input and output buffers. I should probably use add some weight to the circuit board. The bigger the glove the better the job. I wonder if I should clean the board with my Supropyl. Couldn't hurt. All my fingerprints on it and grease. Do four at a time. Alright these are buffers. I've got a whole big bag of buffers. I bought let's see 200 because they're cheap. Buffers are the main logic component that I use in the ALU because basically two buffers makes an 8-bit bus multiplexer. So it lets you switch between two different two different bytes. Looks like it ran out. So let's see I'm building a risk 5 with a micro-coded ALU. No it's not quite micro-coded. It's what's called cadet which stands for can't add doesn't even try. The idea is that there is no logic whatsoever in the ALU. All of the logic is essentially one huge lookup table. And I did go into the design in previous videos so you might want to check those out. Totally out of. Yeah those are going to be bridges which is fine. There's an easy way to fix that and the answer is more flux. Now that's the magic of flux to me. I think that is another solder bridge. Once you get one they sort of breed. Is that the right orientation? U55? Yes it is. So it's kind of hard to see on the video. It's a little subtle but there's a dot just above C8 and there's the dot. They do sort of tend to alternate basically depending on which direction that the bus happens to be going. So you know this one would be going one way. This is going pretty much the same way. This is going the same way but this is going the opposite way. So yeah the the kicad slash key cad footprints have also additionally a line on the silkscreen next to pin one. I also like to put a dot next to pin one. Makes it a little easier for me to see and in case the PCB manufacturer screws up or you know leaves off the line for whatever reason or you know the line gets corrupted. Corrupted. At least I have that sort of backup. Anyway let's see. Is there scope for custom instructions in there? Maybe. There is actually a custom instruction that I did build into the ALU after I had designed the ALU. There is a so the ALU does add, subtract, XOR or an AND. There's a set if less than signed and set if less than unsigned instruction. There are shift instructions but that's not handled by the ALU. There's a dedicated shifter unit for that. Anyway I discovered after the fact that in order to support the jump instructions I also needed a set if equal kind of functionality to the ALU and it just happened to turn out that because of the way I designed the ALU with ROMs as basically generic lookup tables it was really really easy to just add one additional thing. Okay that's four of them. I'll do the other side. I think this chip was being such a pain because it was at an angle. It was sort of sitting up a little bit. I guess I was holding it wrong. We visually inspect this. Kind of messy but let's test it. Test all of these. Okay what clock rate am I designing for? I'm not really designing for any particular clock rate but if I had to settle on one it would be 10 megahertz. That might seem slow and it is actually. The reason that it's so low is that I'm using discrete chips. The reason that you're able to get such fast speeds on modern-day computers is that everything is integrated into a single chip. Oh and also these are not ECL. Emitter coupled logic. ECL can go insanely fast but it also pretty much burns up a lot of power. So 10 mega hertz it is. My plan when I first started this whole project and the reason that I called it Elmarv 1. Elmarv by the way stands for learn me a risk 5. Yeah so the when I originally started the idea was that I would build every part of the machine using discrete chips. All very simple logic chips. And then the second version would replace whole bunches of chips with FPGAs. See my purpose here is that I don't want to build the entire thing in one FPGA. First of all because that's already been done many many times. And second of all because you don't really learn anything by looking at an FPGA and saying oh well that's how it works. You know you'd have to stare at the verilog code and you'd have to understand verilog and I didn't really want to do that. I wanted to start from like the basics. And I also wanted to feel like an engineer a computer engineer in the 70s designing a big old mainframe. So yeah so for example the ALU will eventually become a single FPGA. And that means that the ALU will be able to go much faster than this version. There's still going to be a bus between all the different components. And that's also going to slow things down. But it'll definitely be faster than 10 megahertz. A friend of mine suggested that I replace each of the major pieces of the risk 5 processor with a risk 5 processor. So that the ALU would be implemented by a risk 5 program running on a risk 5 processor. So again the object isn't really to create a risk 5 processor that's actually useful. I mean I mean it does execute programs but you know it's it's not gonna be like you know you can run Linux on it. And also there's no way that I would have floating point instructions. And I'll show you why in a moment. But once you move to an FPGA then you can actually have the possibility of floating point. Sometimes I think that it would be fun to turn this into a kit where you would you know order like the ALU and it would come as the bare printed circuit board and all the parts. Then I come to my senses. This chip here is going to be a little bit marginal because the pins are a little bit misaligned. Not quite touching the other pads. Again it's kind of hard to see with the lighting. Let's see if I can let me see if I can remove that chip and reposition it. The bad job. Okay what has been the most difficult challenge you overcame or expect to tackle in this project? Well the most difficult challenge the most difficult challenge was how to get the cards the individual cards to play nice with each other. By which I mean so the processor is composed of something like you know 12 cards or 10 or 12 cards or something like that. Some of them aren't really necessary because they're just for like debugging purposes or you know console output that sort of thing. But you know the question is how do you get all the cards to talk to each other. You have to design a bus and that's basically this card edge connector that you can see here. So you know really the thing is to sort of hold the entire risk five architecture in your mind all at once by which I mean you know understand all the instructions that need to to happen and then design a bus that can support those instructions given the the division that you've created with the cards and positioning each signal on the bus in appropriate physical locations. So what I so what I've done is I have sort of these PCIe things here. Oh here's one side of a PCIe connector and here's another PCIe connector and basically what I did was I divided the 32 bit buses into 16 bit sections because it turned out to be easier not to shove all 32 bits into a small space. So yes there will be ALU testing after I've soldered it. That's really the point that I want to get to. So yeah so it was most difficult trying to come up with where each signal goes on the bus and deciding what signals need to go on the bus. Now if you look at the ISA for risk five it's pretty obvious that you need one source but two source buses and one destination bus which means that already you've got this is important. Here we have signals that are connected and that are meant to be connected. So when I do my testing I need to remember that down at the bottom of this board these are going to show up as shorted and that's why it's important to have an unsoldered board so that you can verify that. So yeah so you know 32 bits for the source bus one 32 bits for source bus two and 32 bits for the destination bus then you have to figure out what other signals you need. So for example you will need to decide what function the ALU is going to perform while originally it was going to be three bits and then I had to expand that to four bits. So there's an additional four bits and then you need an output enable signal so that the ALU doesn't output while say the shifter is outputting so now you need an ALU output enable and a shifter output enable and so on. So you know you keep sort of going through all these the instructions and trying to figure out what signals you would need and where they should go on the bus so that they're not inconvenient to route on the printed circuit board. Now usually designing a printed circuit board is a question of designing the logic and then you go back and forth between the physical printed circuit board and the schematic to put pins in convenient places because when you think about like a buffer like this right it's got eight pins in and eight pins out. It doesn't have to be in a specific order you know D0 on this buffer could be you know data line you know 31 D1 on the chip could be data line 20 you know if that happens to be convenient so you just have to keep going back and forth and back and forth between the printed circuit board and the schematic until you get something that is convenient so that was you know kind of a lengthy thing and it's kind of the same thing with the with the position of the of the bus signals where they go is kind of important when you think that the bus signals are going to be used by most of the cards so that was an iterative process because of the simple structure of the ISA designing the logic wasn't that difficult they did that on purpose so yeah I would say that you know this is just a design challenge almost no difficult almost no different from any other printed circuit board design challenge or logic design challenge except that you've got multiple printed circuit boards to think of anyway that's my take on it what soldering tip are you using I'm using a HACCO it's got a little reservoir tip I have a bigger version here this is a T 15 dash BCM 3 that's the large one and I have a smaller one which I don't know what it is because the label is hidden inside the soldering iron is it me or am I always picking up the chips in the wrong orientation okay well what do I do for a living I work in the Bay Area for a company called Verily which is a life science company that also builds medical devices Verily is one of the alphabet companies alphabet being the umbrella corporation also covers Google I've worked for Verily for about a year and a quarter before that I worked for Google so yeah my main job is software with aspects of hardware let's clean this up and do some continuity or discontinuity tests but will your system have some input GPIO um I hadn't actually gotten that far I know that it is going to be connected to a serial terminal that's for sure so there's going to be some some IO but in terms of GPIO probably not at this point what's my favorite project of Verily's to work on I'm trying to think of whether I'm allowed to say I think yeah I think this has been publicly released there is a neuro modulation project where there's an implantable device that means surgically implantable into the human body okay let me just concentrate on this first now I know these bottom chips are going to have some pins tied because you can't leave them floating but these other pins these other pins should be fine right those are the pins that should be tied okay just keep going so it's a surgically implanted surgically implanted device and I work on specifically the secure firmware update part of that so you know I make sure that nobody can maliciously upload a new version of firmware to the device because that would kind of be bad for the patient and of course you need a the ability to update the firmware of the device while the devices is implanted because it's kind of expensive to explant a device in addition the thing needs to be able to recover from failures so for example you know if there were for whatever reason some problem with firmware it should be able to go back to a previously known good version of the firmware and it should also be able to go back to a version that is as they say non-therapeutic in other words it doesn't do anything except listen for firmware updates all right because again the last thing you want to have to do is explant the device so anyway that's what I work on I think that covers all the chip do I ever worry about the responsibility of such a firmware that can affect people's lives absolutely that's first and foremost in my mind which is why I'm just insane about having the firmware be secure and fault tolerant because yes this is going in somebody's body here's the next row let's do that what does the device do yeah I do know Ben Krasnow not IRL yeah so just in case anybody is wondering Ben Krasnow also works for Verily he works on the more of the R&D side where he sort of invents as you might expect he invents sort of you know different sensors and you know different things that could possibly be used in medical research or medical devices or therapeutic devices or medical sensors the whole idea behind Verily is that is that we want to sort of create the sensors that generate medical data that then feed into our systems to learn from that data and deliver like better patient outcomes I guess so it's sort of a system from top to bottom the bottom being the sensors themselves and the devices that use those sensors and then the top being you know the system that sort of ingests all that data and can provide it in a in an easy to use format for doctors and you know healthcare professionals so I'm more concerned with that sort of bottom layer and if anybody is wondering Verily is looking for firmware engineers and hardware engineers is that a right angle trace yeah unfortunately man you know key cad keeps doing that I think I think the router is good the push and shove router is good except where it's not and this is a result of you know you move a trace and it just sort of decides that you know there needs to be a node there and it doesn't make it nice and diagonal besides we're talking about 10 megahertz signals here well actually it's not the clock speed that matters and I covered this on another video about transmission lines it's not the clock speed that matters it's the rise time and fall time of the signals that will screw things up for you so it's important to note that these signals right here are going to be tied together so that I shouldn't be surprised let's see okay what is the what does the device do this is the device that I'm working on so again it's it's called a neuro modulation device and the idea is that it connects to a nerve and it sends signals to it and that's all that I can say about it if you look online and you look in the literature for neuro modulation you'll see what I mean by what that does let's see didn't you miss a chip there the one to the right of you 12 yeah I mean it's not really let's say where is it went to the right of you 12 oh you mean this one well I didn't miss it it's there I mean it's not really kind of in the same row sort of should have been let's see a responsibility of such firmware yes yeah go into the outpatient center today to get my firmware updated that's not actually that that's actually a pretty good summary of what it is when the firmware needs to be updated so basically we would tell the doctors and the healthcare professionals that there's a new version of firmware in that it and that patients should come in to have their firmware updated don't get me started on the singularity I'm a big big believer in the singularity people merging with machines let's see right angle trace do I use a winter I don't know what that means I mean I know what a linter is do I use it in my job professionally yes fault tolerant yep cosmic rays we do take that into account as well is verily going to be implanting risk fives I don't think so unless they get really small the the key with implantable devices is that you want a device to be really really small and use very little power because I mean if you think about it you've got a battery in there of some kind providing power you want that thing to last it needs to last literally for years and years and years so and so far risk 5 is a little bit too power hungry and I understand that that the risk five foundation or actually the sci-fi labs I guess they're called sci-fi they're working on it so you know it's it's not outside the bounds of possibility that risk five processors will be coming soon to a human body near you did I skip continuity tests on the bus side of you 54 think so but well I'll do it and just for fun all right let's see do you have a go to a well-known college in order to get far in these fields no I do not believe that college is useful I know that's a blanket statement but I was listening to a podcast the other day and was it a podcast it was something it was either a podcast or a tweet those are basically the only things I listen to or YouTube videos but anyway and they mentioned that was it was it Chris Gamble who was saying this on the amp hour that you know in electrical engineering oh yeah okay I remember what it was it was in it was it was on an EEV blog YouTube video where Dave Dave Jones was shelling off a sort of a learning kit I believe it was from India where it went through you know it it was it was an electronics kind of learning kit and Dave's major objection with it and my objection with it as well I agree with him is that it started with theory and you know when you're just starting out in electronics you don't want to know about you know the theory and get faced with a whole bunch of equations you just want to build something first and then you want to modify it to see what happens then you can go to the theory but they did that backwards so now my objection to college is that it's mainly all theory at least here in the United States at the time that I went to college which was in the which was in the late 80s and early 90s so they teach a lot of theory which is great but very little practical stuff you know at the end of course you might end up with a you know with a project that you had to do but the projects were often inevitably simple because you had to cram it into like two weeks at the end of the semester which I thought was stupid and I still think is stupid you really gain the most experience when you fail at doing something and then you try to figure out why and that's where the theory comes into play is when you do fail when you go back to to the theory and you try to figure out what you did wrong I mean that really hammers home the right way to do things now if you know the theory beforehand you don't truly internalize the theory unless you actually you know build something with that theory and again I think it's far easier to build something first and then understand it because you're not you're not actually designing something when you build a kit anyway that's the way that I think knowledge should be acquired now I understand that different people have different ways of acquiring knowledge some people like classrooms some people like videos some people like blog blog posts there was a there was actually a psychological study that talked about people's use in English of the idioms I hear you and I see you or I see that or I hear that and it sort of gave you a little insight into how people best process information some people process information when it's spoken better some people process information when it's read or seen better and in my opinion the majority of people don't need to know the theory first that's just my opinion alright what architecture are they using I can't say sorry you 13 cold solder joint solder joint you 13 don't think so no all the fillets look good to me the one thing about using a lot of flux and using drag solder soldering is that you don't end up with a whole lot of dry solder dry solder joints can see why a risk 5 should be more power hungry than others well I mean that's not necessarily the case like you know the majority of chips out there are arm processors you know you've got your at Megas and your you know your AVRs but what I'm talking about are the more sophisticated chips you know the ones that include lots of GPIO and that may even include you know Bluetooth or Wi-Fi or something like that the majority of those are arm processors and you know they've gotten really really good at making them low power and there are other processors that that are also fairly low low power that are not arm we look at all of them so yeah so computer engineering at a small school my my best piece of advice for you is to do projects on your own because the coursework is not going to cover it and that's really how how I learned I have a degree in electrical engineering but I learned the most by putting together my own circuits and designing my own circuits and just you know trying to build a circuit that does X story time so when I was in college and I was taking the digital logic course okay was that supposed yes that that's supposed to happen we had an end of semester project to do yeah so you notice that you know where there aren't any lines coming out you've got to tie those lines to some power supply and these are the outputs which of course don't go anywhere yeah so end of semester project came around and we had to decide what to do and you know most people did you know a simple counter circuit not me I was interested in building a game it wasn't actually it wasn't actually an arcade game but it was a game that sort of drove a I think it was like a 10 by 10 matrix of LEDs and it was a chase game so you had some green LEDs and some red LEDs and the red LED had to chase the green LED and it was two player so you had sort of like a four position buttons here's my linker four position buttons you know for up down left right for two players and it would you know it would have a timer and it kept score and you know I didn't do it on my own I sort of wrangled about six other people to to do the project with me so I basically designed the whole thing at the high level and then I said okay you build the timer you build the score counter you know you build the driver for the LEDs that sort of thing anyway so the day of the project arrived and you know the project was a success because of course we had tested everything beforehand and made sure everything worked so that was great anyway somebody came up to me who wasn't in the class because you know that the rest of the school was invited to see all the projects and they looked at my project and they said how how much did all those parts cost you and I said oh it was about $100 and the reply was you're stupid no seriously that was the reply you're stupid so I said I don't know $100 for seven a's so you might have to spend a little bit of money on your own parts to build a project okay so now that I'm on this next row let's see anything on the chat as an employee of alphabet do you have thoughts on Google monitoring people's data I've got I don't know I mean Google is an enormous company and it's made up of all sorts of different people some of whom care some of whom don't I do have to say that that the vast majority like 99.99% of employees really really care about user security and user data the other point zero zero one don't really think about it is my opinion now again this is just my opinion right you know they basically it's it's a mistake that they don't think about it or they don't realize that it might impact data now my opinion in terms of you know the the data collection and such is that is that well if I get advert if I have to be advertised to I would rather get advertisement that conforms to my interests I don't want to see a bunch of bail bond advertisements or dating advertisements and that's what you're going to get if the system doesn't know anything about you well I would rather the system know about me and give me ads that I'm interested in or you know whatever search results that I'm interested in rather than not now the problem is what happens when that data gets misused the data is performing its intended purpose it's just that now all of a sudden you get now all of a sudden you get like you know law enforcement might misuse the data or you know the data might get out that's a completely different problem so I am not fundamentally against the collection of data what I am against is the insecure storage of that data and the misuse of that data and it's an unfortunate consequence of living in a nation as opposed to living nationless that the government can get access to that data and there's a was it a CCC con CCC conference I remember what the talk was but you know there was a talk that the NSA is vastly scarier than Google the NSA has a data center out in the middle of nowhere that easily outstrips all of Google's data centers combined and what kind of data do you think that is storing on people so again my opinion is that I wouldn't think about it and I wouldn't worry about it because you've got far worse issues going on but again that's just my opinion you know different people have different tolerances for privacy you know just like different people have different tolerances for spicy food that may sound facetious but you know it's true you know and where you fall on that security spectrum dictates what you think about products so okay wow let me scroll back in the chat and see if there was something else let's see three of the programming languages I learned when I was a team because I wanted to mod some computer games absolutely that's well I never really modded computer games I sort of wanted to make my own so I learned assembly language but this was back in the day when you could let's see yeah big corporations it's always let's see any tips for coming up with ideas for software projects any tips for coming up with software projects it's actually kind of hard it depends on what you like you know do you like do you like the software world interacting with the hardware world so then you might consider like a project with an Arduino you know maybe build a simple clock project I mean that does require hardware and software if you're interested in pure software yeah that's that's that's a surprisingly hard question do you like machine learning you might want to you know play with TensorFlow or PyTorch or something like that and in terms of like what programming language to start with honestly I would and I'm gonna get a lot of flak for this I would pick Python I found it to be a really good language unfortunately it's not typed so your second language should be C or C C++ I should say I program in Java C++ Python assembly language if that counts I mean which assembly language well you know I've done Z80 I've done 6502 I've done 8085 8086 do you like compilers then you know make your own mini language that way you get to learn about Lexers and parsers do you like sitting on the couch and watching movies or TV well then I can't help you you have to have some interest and then you're motivated to do something with that interest let's see I built a TTL digital clock with Nixie tubes in 1972 age 15 I envy you for some reason I didn't have access to all that stuff and I don't really know why you know I hear people oh I took apart a radio and put it back together again I never got to that I mean I would take things apart and then not know how to put them together and you know I'm I'm more of a I guess you could call me part of the YouTube generation even though I did grow up in the 80s because I just learned so much faster with YouTube videos and with the internet in general I mean I don't know how I learned stuff well I do know how I learned stuff when there wasn't an internet I subscribed to magazines but yeah I guess I wasn't actually like one of those people who could just you immediately understand electronics for the longest time I actually didn't here's another story I once went to a an acquaintances house I say acquaintance because apparently the parents knew their parents and they had a kid and you know I was like well let's go up to your room and he played around with electronics and he showed me you know a simple circuit that had two LEDs on it and they blinked alternately and it was you know just connected to what I now know is just you know a simple toggle flip flop anyway the moment I saw that now you got to remember that I was like eight or nine years old at the time I said what book did you get that out of and his reply to me which I never ever forgot well first of all he said I didn't get out of a book I designed it myself and I basically said well how did you do that and his reply was that it's not enough to know something you have to understand it okay before I start testing these chips let's see I wouldn't use discord as it wasn't free go yeah go I've I've briefly touched go and I like it I just don't really have an enormous opportunity to do to work on pro programs in a go I find that Python I find that go is more of a C++ analog Python is closer to a scripting language and you can do things faster in Python simply because it's got a lot of especially the list comprehension functions and map comprehension dictionary comprehensions that it does it's more of a higher level language than go is and it's it's a higher level language than go and C++ and even Java let's see I wish I knew how to build my own keyboard yeah there's actually a holtec chip H-O-L-T-E-K they're in China that is a keyboard encoder so if you wanted you could just hook up a bunch of keys to that chip and you've got a keyboard but in terms of building your own keyboard like getting the switches in place there are lots of projects there's an entire site for keyboard fanatics and I think it's called keyboard fanatics let's see sometimes I get ideas for hardware project by watching YouTube and reading hack a day yep a little yeah that's good projects should be challenging yeah you absolutely need to be motivated by it what is the 74 LVC 541 that is an 8-bit buffer so you can you send 8 bits input and you get 8 bits output or you can set it to high impedance in other words you turn the thing off LVC means that it's low voltage CMOS low voltage meaning it's 3.3 volts rather than the traditional TTL 5 volts is there a name for programming with C++ on chips embedded programming right okay and that was the answer yeah and Arduino no Arduino is sort of C++ light you don't actually get the the true flavor of C++ with Arduino because they've hidden a lot of the details so for example typically in an Arduino sketch you know like let's suppose you're dealing with an I squared C interface or a spy interface you declare an instance of the spy class as global that's something you don't do in embedded or that's not that's not good good practice why isn't it good practice I don't know yes all of these pins are connected but generally you don't want global state and even if you know there is only going to be one of them then it should be allocated on the stack anyway and that means that in your main program you would declare your spy instance and then just pass it around to whoever needs it that's just the way most of us do it I mean you know there's nothing fundamentally wrong with allocating things globally just means that they get allocated on the heap instead of the stack but then you have to start worrying about how big your heap is going to be and you typically don't want to have to make that decision because when you have a heap let's consider something like you know dynamic allocation well first of all you don't want dynamic allocation in embedded code because when you're dynamically allocating memory it means that you could possibly run out of memory maybe it's not likely maybe you've sized everything properly but it's best not to have it at all that's kind of the main purpose of the heap is to provide an area that you can allocate memory out of and if you're not allocating memory then there's no point in having a heap now you've got to divide your RAM into heap and stack well if you have no heap then everything is stacked and that's why you don't want to declare globals at least that's my hot take on it hey this row is done with the exception of this SRAM chip I'll do that I'll do all of the SRAM chips later um actually there aren't a whole lot of buffers left there's only five on this side there is the other side which contains no buffers excellent go back to the chat I've only learned C++ in high school well you're doing better than I did when I was in high school when I was in high school yeah again I'm showing my age back in the 80s we only learned Pascal that was the teaching language it wasn't a language that well I guess I guess you could use it in in actual production and actual products but good on you for learning C++ in high school hello from the UA hello from California small keyboard our do crap has too much fluff yeah I mean it kind of does but it gets you going right if you want it all right full disclosure I've built some Arduino sketches in order to test some of the ALU right because it's easy you know you just pull out a dev board you know Arduino mini or nano or you know whatever and you just pull up a script and you just bang out what you want and you're done so you know there's a place for it just not in production let's see how did that chip pins got connected or is it supposed to be so yes it those are supposed to be again when you've got CMOS you don't want to leave unused inputs floating you always want to connect them to one or the other power rail isn't the stack more limited in size than the heap no you can allocate you can you can divide it as you like in your linker script you can say how much stack you want and how much you want typically on a desktop machine you don't care because you've got you know gigabytes of heap and gigabytes of stack that you can work with but on an embedded device where you may only have like 64k of RAM you have to be careful how much you allocate in heap and how much you allocate in stack so again better off to ignore the heap or have a really really really small heap just for just the globals that are required and the rest just have it with stack yeah global global instances are fine in small programs again if you don't need to worry about memory then you know go for it you know VBA I don't understand learning VBA or Excel that doesn't make any sense how much bigger would this project be if you were going to implement it in 64 bits yeah I've thought of that on and off and I kind of want to say that it would be just slightly more difficult than putting two cards together and it might be it might not be that difficult to scale it up the problem though is that is that it gets scaled up and and think that in some cases it's not a scale up of two well maybe it is again I haven't you know thoroughly thought out what it would take but having worked with you trying to route 32 bits on a printed circuit board it's kind of a pain and 64 bits it would be best if you could just take two 32-bit instances of like the ALU and turn it into a 64-bit ALU and you could do that with like addition and subtraction and all the logical operations it it might be possible but then you've got to start thinking about the oops the other parts man I move this chip but like for example the shifter well now instead of having this you know shift by 32 bits now you've got a shift by spy as much as 64 bits and what I'm using for a shifter is a technique called logarithmic shifting which is basically well you know you need to shift as much as 32 bits so you take the number of bits that you want to shift by and you divide it down into binary so for example let's suppose I wanted to shift by five well first I shift by one then I shift by four so you have the possibility of shifting by one by two by four by eight by 16 yeah you don't you don't shift by 32 you only shift between zero and 31 so and that's a logarithmic shifter because you only need for 32 bits five levels of shifting so with 64 bits well first of all there are 64 bits and I've doubled your number of signals and second of all now you've just added an additional layer because you went from because it's it's log n right so you just went from five levels to six levels and each level has now 64 bits so it became a lot more complicated and again that that's just sort of you know I'm talking talking out the top of my head not really thinking about it why the chat is going by pretty quickly will you implement the mall shu instruction I know I'm not gonna have a multiply instruction at least not in this version so the the standard that I'm working off of is just I 32 I so it's just you know 32 bits just the integer instructions the base integer instructions and that's it because anything else would would just be way too complicated oh yeah and I did promise to show you why I'm not gonna do floating point switch the camera this is why I'm not gonna do floating point this is a floating point unit from I think a 1990s computer late 80s early 90s computer look it's all surface mount and it's all well these are SOICs and not TS ops so you know this could theoretically be you know a little bit smaller but yeah I'm not gonna be designing a floating point unit anytime soon that was about 600 chips so place LEDs on power pins yeah that's a good point why not use a barrel shifter there is a difference between a barrel shifter and a logarithmic shifter a barrel shifter requires a lot more logic although it is faster a logarithmic shifter so you can sort of think of it as a barrel shifter is an order n solution while a logarithmic shifter is an order log n solution unfortunately you pay for that in the time it takes because you've got log n levels so what do you do for your day job okay so scroll back in in the video sorry I've already covered it hey you like your new microscope I like it it's good so the the reason that I like this microscope is that it's true trinocular in that you know it's binocular so I can see in stereo and it's also got a port for the camera the previous microscope that I had was not true trinocular even though they sold it as trinocular the problem is that you could only use two of the light paths at a time so you could either look in stereo and not have a camera or you could have a camera but look in mono vision and that was kind of stupid I also like the camera that this one came with let's let's get these last two chips on speaking of verily and what verily does I'm too happy the way this chip came out let's see what happens that worked verily has a project called project debug and the idea is that mosquitoes carry diseases as we all know especially certain diseases that have been in the news lately and they're carried by a certain they're carried by a certain species of mosquito so the point of project debug is to is that we've got these genetically sterile males and what happens is you release the genetically sterile males into the population and they go and breed with ordinary females and then the females don't have eggs and basically that takes that female out of out of the population along with all the smaller mosquitoes that it would have generated and the idea is that if you release enough of these into the wild it basically knocks the population down and you know we've done some trials and and it actually works so that's kind of cool so so the interesting thing is that we have what's called an insectary which is a kind of automated factory for making genetically stale stale genetically sterile males or for breeding them so so that's kind of interesting that's more of the the sciencey sort of area of verily because we do both both you know science and devices let's go ahead and test these what innovations would you like to see with risk five implementations well I know that Clifford Wolf worked on or is is working on the bit manipulation section of risk five I'd like to see that more widely accepted those are supposed to be connected lower and lower power I think would be nice of course you can run a CPU at slower speeds that's that's part of your you know power part of your power game you don't expect to run one giga Hertz at low power but you know low power is nice what other innovations I would kind of like I would kind of be interested in a 16-bit version of risk five right and this is this is sort of like one of the pet peeves that I have you know you look at process you look at compilers like GCC and LLVM and apparently they're all optimized for at least 32 bits you know anything less than that yeah it really is outdated you know except for like the the 8 bit and 16 bit like pick processors and you know AVRs and stuff like that but they all have their own specialized compilers you know I would like to see some love given to the 8 bit and 16 bit processors I think those are all the buffers and I've tested all of them at least discontinuity tested them yeah vector instructions would be cool so you could go super scalar that would be kind of cool then you can have a risk five super computer we would be better off with less humans see actually I disagree I think we're better off with more humans and here's the reason why so wow there are a lot of opinions flying around or rather a lot of opinions that I'm giving the reason that I think that more humans is better is this I'm a big believer in the singularity and the singularity is all about exponential growth in knowledge the only way you can have exponential growth in knowledge is by having more people generating more knowledge and the more people you have generating knowledge the more you can generate more knowledge that's the whole point behind exponential exponential growth and I guess that's all I'm gonna say about the matter again just my opinion okay we have SRAM to do here are the SRAMs that I'm using ISSI ISSI SRAMs 256 k bits I think dash 10 these are 10 nanosecond SRAMs and when you've got lots of layers of logic each layer has to be as fast as possible I mean imagine if these were hundred nanosecond chips then the fastest I could go would be you know maybe five megahertz or less so it's kind of an unfortunate consequence of of using discrete chips alright so if you can see this you can see the dot next to the ISSI that's where pin one is so I had to make a custom footprint for this because none of the key CAD footprints have pin one in that location is it 6t or 7t or 8t SRAM I don't know what that means anyway yeah so you can see that dot on the silkscreen of my printed circuit board right over here and also on the laser etch of the chip you can also see an indent in the chip in the corner so you know one way or the other you're gonna get it right now with key CAD let's see I think I think I put a dot here and then I realized that pin one was actually over here so I've got plenty of dots to go around and here's an instance where you can see that the line for the silkscreen didn't actually make it all the way across pin one maybe that's my fault because you know I I made the silkscreen a little too close but in any case this chip goes there so let's go ahead and flux this problem with humanity is that the stupidity also experiences an exponential growth well yes but that's not where knowledge comes from and the more knowledge that there is we hope the more opportunities there are to help people get out of that cycle of ignorance so just let me give you an example again you know a lot some people don't believe in a singularity and they certainly don't believe in a post scarcity economy so by post scarcity I mean that money isn't necessary now one of my favorite science fiction authors who is unfortunately dead said money is the sign of a poor civilization and what he meant by that is that you have a monetary system in order to allocate resources that are scarce now I'm not talking about you know like modern day you know modern day capitalism right that's that's just insane but you know some some form of economy is is necessary actually a socialist but anyway so you have to have some system of distributing scarce resources because there's not enough to go around that's why you have money because it's a way of of doing that now when resources are effectively free well you don't need anything to artificially restrain using those resources now I believe that eventually we're going to come to a time where something like nanotechnology and I don't mean you know the fake nanotechnology but the real nanotechnology where you're building things atom by atom that will lead to a post scarcity economy where was I going with this oh yeah pad bound oh wow I hate BGA is because the problem is that you know when you're dealing with BGA is all of a sudden you can't use any of the cheap PCB houses because now you need 12-layer boards and you know three three spacing instead of six six I mean I'd love to use all these you know big BGA devices but I can't a lot of solder bridges so the thing is you have to have enough flux to let the solder flow but you can't have too much solder on your soldering iron because the solder needs a place to go using desoldering braid there we go that was easy so we've got a two pins here that are connected they're probably going to be a few pins on each of these chips that need to be connected together why these ones are being so difficult I don't know these three to go and of course I've got to do the other sides of them just gonna do all the SRAMs all at once oh yeah so there will always be scarcity as long as people try to get whatever they want yep that's that's true but then we get to the other part of the singularity that I like which is uploading your consciousness upload your consciousness today then you're not hunting a real lion of which there are limited amounts that's why I really liked ready player one because most of it happened in the virtual world and these socks these bridges are really frustrating I'm getting so many of them maybe I'm getting so many sold solder bridges over here on the end because there's no place for the solder to get dragged to except back onto the soldering iron I think this is pin pitch point five millimeters and these other ones are point sixty five millimeters so they're also more finely spaced I think that out easily but just putting one of these chips up against one of these other chips I think the pitch is the same no it's different yep these are point five so the pin pitches is also smaller which is a little more difficult to work with so the probability of bridges is higher so I guess I I shouldn't get that frustrated at the bridges that are happening on these parts yeah ready player one you know the book was a lot better I mean I watched the movie too and I liked it but I'm also not very discriminating in my taste of movies apparently there's a lot of hate for for the movie the bird box I liked it also a lot of people don't like ready player one because it's full of 80s nostalgia and sorry I grew up in the 80s so that's why I liked it I got all the references more flux it's just as much flux as I can on us and see what happens not up to Lewis Rossman standards that worked I think maybe I'm also going a little too fast in dragging it seemed like when I went slower it actually worked better I'll try that on the other side what do you think would be the best way to contribute to reaching the singularity wow that's tough I've really thought about that a lot and you know at first I thought well I'll join Google because Google is going to be ground zero for the singularity and now I'm not so sure so the there are four alright so first of all first of all what you should do is read Ray Kurzweil's books because he talks especially the book the singularity is near right because he explains all about the singularity and and what it means and what it will take to get there and then the prediction the prediction is that the singularity will happen in the year 2045 and a lot of very smart people also believe that so I'm gonna believe it too so like human level AI's are supposed to happen around 2040 and then once that happens then you know there's gonna be a machine intelligence explosion that will lead to the singularity five years later anyway back to the question to contribute to reaching the singularity so there are four main areas that singularity inducing and they all have to happen you can't just have one nanotechnology robotics biotechnology and artificial intelligence so if you work in any of those fields you're directly contributing to the singularity oh yeah going slower was actually much better I don't like that remember if I went ahead and flux these wonder if I'm running out of flux then that gives me the opportunity to look for better methods of depositing flux okay I think I went too slow on that one well the questions are coming in fast when do you foresee the singularity happening 2045 people watch more movies than they read books that makes them more critical of movies than they should yeah maybe that's that's plausible what kind of oscilloscope will you buy or get today I would get a wrigol at least hundred megahertz wrigol where are you buying ICs I buy them mainly from digikey LCSC LCSC is great except when it's not digikey you're almost always guaranteed to get what you need let's see sort of purchase delay flux today yeah to Lewis's what do I think about the right to repair I think it's very important I think the right to repair directly leads to increases in knowledge and that can only be a good thing and that by artificially restricting that gain in knowledge you're slowing down the singularity this is why I'm not a fan of like Springer or Elsevier because they lock away knowledge I'm not a big fan of the patent system and I'm definitely not a big fan of copyright now I'm okay with limited copyright like you know 10 years or five years and the patent system is what is it 17 years that's still kind of huge you know because again if you consider exponential knowledge growth that means that innovations are coming at an exponential rate and by patenting things you're basically restricting that exponential rate back to a linear rate which is a horrible idea so alright I think I've done all the chips on this side so now I'm going to test oops I missed one I missed one this little dude all by himself can test discontinuity it's the speed that's important okay let's give it a little alcohol wash yeah you know okay so the singularity making tech billionaire is a tiny bit bit richer you know I'm of two minds I mean on the one hand you know but on the other hand they do enable moonshots I mean I'm you know we're not in the the oil baron age anymore when it was all just about accumulating wealth and you know not doing any basic research with that wealth I mean yeah accepting Facebook I don't really like Facebook but anyway you know Google taking on self-driving cars as a project I mean that could that can only be a good thing applying large amounts of money to to problems that are genuinely important and yes self-driving cars are important because you know look at the number of deaths that happen every year I see a whole bunch of solder bridges on this and again I truly believe that you know higher populations are better wow once I realized that the speed was important this became a whole lot easier oops it would help if I had my multimeter on let's see what was the name of the book again Ray Kurzweil and the book is the singularity is near that's 26 years from now yeah but that's four years less than it was four years ago can I join Google if I am from Armenia well yeah I mean anybody can apply regardless of where you are you might have to move but sure you might want to move to Europe though America is not a very welcoming place right now let's see yeah the singularity is near yep okay yeah there was a follow-on book which I think was living long enough to live forever and the idea behind that is that medical science advances exponentially as well and so should life expectancy with the exception of the United States where life expectancy has gone down but then again United States let's talk about the rest of the world life expectancy generally is on an exponential curve so the idea is to live long enough that you get on the right side of the exponential curve so stay healthy all severe yeah patterns yeah LC yeah the filters on LCSC are not that great but they've added more it used to be that they didn't have any let's see how do you think we could be able to interact with the brain do we hook up to sensory neurons or will we be able to understand memory storage yes to all of those personally I think that the that the destructive uploading of the mind is what it's going to take and by destruct I'll explain I'll explain that a little later let me get through the other questions I don't think patents make the growth linear isn't more like dividing exponential no because well maybe the thing is that that when you the thing is that each bit of knowledge should lead to more than one other bit of knowledge right that's exponential growth one leads to two leads to four leads to eight when you lock one bit of knowledge then you know that one bit of knowledge can't lead to anything you know maybe it'll lead to one extra thing because it's you know the company that owns it and because the company is limited they can't throw the resources of the rest of the world at that piece of knowledge so that's kind of why I think that the patent system limits knowledge growth to linear let's see am I gonna saw solder capacitors now I'll get to that in a moment do I suffer from loss of vision well yes and no as you get older you the lens in your eye becomes less flexible is that supposed to happen yes that is supposed to happen the lens in your eye becomes less flexible which is why I can't solder anymore without a microscope or you know those kind of close-up reading glasses kind of things in terms of loss of vision not significantly no so that one those are all supposed to tie together we just do this one chip and I'll get to the thing that I promised I would get to what did I promise I would get to oh yeah the brain oh yeah right destructive destructive upload so in my opinion so you know now we get into what is consciousness is there a soul my personal crackpot belief is that just like time is a physical you know an actual physical dimension that so is consciousness now stay with me we have three dimensions of space and one dimension of time however modern physics posits that there is either 11 or 12 dimensions and this all goes into like you know string theory and M theory and all that stuff regardless of that the point is that there are more dimensions than just you know the four all right they're all tightly rolled up dimensions which mean so they're they're micro dimensions rather than macro dimensions now I'm of the opinion that consciousness is something it's not like it's not first of all it's something that I experience directly right I know that I have consciousness because I experience it I don't believe it's an illusion I don't believe that it's a consequence of complexity I do truly believe that consciousness is something physical however it's not a part of physics I mean it's not a part of modern physics because modern physics only has the four macro dimensions and the eight other micro dimensions so maybe it's just another fundamental dimension in other words it's physically real anyway that's my crackpot theory okay so anyway going along the hypothesis that consciousness is real that means one mind one consciousness so in other words if I were to take my mind and duplicate it they would not be the same consciousness right if you believe that consciousness is just a side effect of the brain then obviously if you exactly duplicate the brain then you exactly duplicate the consciousness and therefore if I copy my mind my copy is not me that's what I believe that means that if I upload my mind it cannot be a copy because then it's not me right I would be left behind so that's why I believe the destructive copy of the mind is what's important so in other words you know for example let's just suppose that you had a device that could exactly replace the neuron and all of its environment well then if you if you hook that device into a single neuron and then remove that neuron well you destroyed that neuron but you replaced it so basically you replace the brain by something does that make sense not really well whatever anyway that's that's my that's my crackpot theory don't I think that socialism limits growth because it does not motivate people to grow because it makes every resource available that's a really good question I mean that was the whole idea behind capitalism in that it would motivate people the problem is that people do not have equal opportunity that's that's just a myth right the other thing is that people succeed best when they live in a healthy society now if you're in a society that's just constantly fighting each other over resources all the time that's not very healthy I mean you also can't have a healthy society where people are afraid to get sick because well you know if you're sick you're not going to get better unless you have the money to do it so a successful society is a healthy society and a healthy society is a society that helps all of its members and that's all I'm gonna say about it okay capacitors I promise that I would get to those but I'm gonna turn the board over and oh no more footprints well there's only eight of these and four of these then we can get to the capacitors then we can get to the PLCC sockets then we can get to testing which makes me happy all right let's put this in my stick vice these first because I've already got them out yeah so the whole debate about consciousness is that you know really I mean people are still arguing you know some very very smart physicists and philosophers are still arguing about what exactly consciousness is I think Dan Dennett believes that consciousness is an illusion who's that mathematician with the I forgot his name Penrose that's it Penrose believes that consciousness is a a quantum artifact I think Steven Pinker thinks that consciousness is an illusion but you know these are all very smart people and they thought about this very hard so like a soldering breed well by illusion I mean that it it doesn't actually exist you know we call it consciousness but it's actually I guess yeah you know like like just an interaction between neurons and but yeah I mean it is a legitimate question who exactly is being fooled the joints are very good what do I do for work I've already answered that so unfortunately you're gonna have to scroll back to about one hour in any tips for applying to Google as a foreigner should you wait to apply or do it now do it now let's see you're completing your bachelor's degree in CS this year in the country I live in there are not that many companies doing R&D yeah it would actually help to know someone who works for Google and give your resume to them gee who would that be the reason is that as as a person who works for alphabet I can sort of put your resume more at the top of the queue it basically just means that you know if you if you just you know give your resume at random to to an alphabet company well you know they're going in with sort of like zero knowledge except what's on your resume and then you get a phone interview if you know if if you even make it that far on the other hand if somebody who already works for alphabet says hey here's somebody you should consider well then they're gonna pay more attention to that I guess what I'm saying is that if you can find my email address go ahead and send me a PDF of your resume and I will just go ahead and put it in what you should also do is figure out which job you actually want oh and the original question was should you apply now the answer is yes we often get resumes from people who you know will be finishing their degree in like you know three or six months and they want to get a job already lined up so yeah definitely go ahead and do that what you should do is go to I think it's google.com slash jobs and just you know look through them because you have to pick something that you know because when we put a resume in you know we have to say well what do we think this person would be best for so you know we can't just say oh you know any old job at Google that doesn't really work that way so yeah send me a PDF of your resume and I'll just throw it into the queue also state which country you want to work in for example you know do you want to work in do you want to work in Europe we I know we have locations in Germany and I think Switzerland maybe London especially London for artificial intelligence that's where DeepMind is based Japan I think has has a Google location other Brazil has a location but yeah definitely specify which country you want to work in because that sort of you know dictates what what jobs are going to be available most of the jobs are available in Mountain View California which is where I am based simply because that is the headquarters and the largest the largest group is there I mean the largest amount of employees is there and that just means that the largest number of teams is there yeah reading that verily picked your interest yeah I would definitely apply again you know send me a resume I'll put you in the queue again my my experience is more around the the hardware and sensors area than around the life science area so you know just just be sure you tell me what area or what what job you're actually targeting where is your email you can't find it okay I will put it in the chat you're actually going to California tomorrow to tour Google Wow cool do you to what extent Google offers hardware related internships yeah see the thing is I mean Google Google is more of a software company they do hardware they definitely do but it's mostly software there is I know that there are robotics teams is going on with my my soldering iron so there are robotics teams there are teams that design the machines that go into the data centers but look at again Google.com slash jobs to get an idea of what is available because that's pretty much where everything is posted what storage will this processor use yeah I don't really know it's gonna have the full four gigs of RAM because I mean it is a 32-bit machine and that means that the most addressable would be four gigabytes so I'm definitely gonna have four gigabytes of RAM somewhere how is it gonna be loaded I actually don't know at this point probably through a serial port for a bootloader I haven't really thought as far as like floppy drives or anything like that really you know just a very basic operating system with a terminal again this machine is kind of too slow to do anything serious with I know that in the 80s all machines were this slow but still you're really looking with for hardware stuff specifically similar to what I'm doing okay well then you might also want to apply to verily specifically for the firmware and and or hardware design jobs see what the website is for verily specific jobs my guess is verily.com slash jobs yep oh verily.com slash well okay so there we go verily.com slash jobs google.com slash jobs yeah it may be careers.google.com but google.com slash jobs will go to there let me check that now google.com slash jobs oh it redirects to jobs.google.com oh oh boy wow I was ever was I ever wrong oh no they changed it you're right it is careers.google.com yeah okay careers.google.com it is careers.google.com wow thanks for that I actually would have never known you're based in Europe which problems would I face not a lot because again there are many locations in Europe that Google has London Spain Germany Switzerland Zurich so I mean the only problem that you would face is that there are fewer teams simply because it's not at headquarters which is the largest which has the largest number of teams that's it I can't believe they moved Google.com slash jobs it's kind of upsetting I mean I'm okay with change well I guess I guess Google has a product now called jobs which is more general I guess I can't really fault them for taking the name I mean it is easy to remember other side I've already done these so just these we're getting there we're definitely getting there I wish the camera wouldn't blow the image out so much let's see if that is good all right we just have to deal with the shiny see I can see a lot better than than you can I mean even if I guess I guess half the issue is that you're seeing in monocular vision and I'm seeing binocular vision so so my vision is able to get basically twice as much information that's the thing if I write up on the pins I end up with bridges okay that's good to know yeah all right clean that up and test them then I can do the counters then I can do the capacitors so we're getting there oh as a molecular biological scientist um yeah then you yeah then Google is not where you need to be uh you want to look at verily um verily let's see verily has a location in Cambridge Massachusetts that doesn't really help um I want to say that they're expanding into Europe a quick look at that uh it's fairly located yeah I don't I don't think we're in Europe yet we're we're mainly in the Bay Area we also have a location in Cambridge Massachusetts and Boulder Colorado so uh yeah so unfortunately that means that you would have to get a work visa to work in the United States which isn't that which isn't actually that hard to get um Google will or Google or slash verily will help you through the process which is always a good thing all right uh let's test these let's start from here I think I've already tested like one row but I guess we'll just go through them all the reason that I'm taking such care now is that I don't want to have solder bridges as a variable if uh if this thing doesn't work which it's it's likely that it's not going to work so I'm just going from that perspective all right next are these counters uh okay so so what about using size substances in Google um yeah I don't know um it's just not very popular I've never actually seen it I know that it's now legal to have small amounts of recreational marijuana but um I don't see anybody using it alcohol is everywhere at Google and by that I don't mean that we're all stumbling around drunk I mean that we just have bottles of hard liquor at our desks and we're all responsible right nobody abuses drink you know nobody you know nobody deliberately gets drunk um you know most of us are at Google because we like the intellectual challenge and you can't exactly have your intellect working when you're drunk so you know we just have alcohol you know just as a little taste or you know if we're sort of you know ending the day maybe we might have a little drink but you know I don't drink so that's just me most people I know at Google don't you know don't drink but you know it's there and like I said you know we're all very responsible you know getting drunk is not a fun thing for somebody you know who values their mind um why key cad um I have evaluated Altium key cad and Eagle um I didn't like Eagle because you had to pay if your board was any larger than a certain size um and I didn't like Altium even the free version because I felt it was kind of slow because it was like web driven or something so that's why I went with key cad also all the designs that I do are open hardware and open source uh and I wanted people to have as little um as little a barrier as possible to being able to open the files and look at them so that's why key cad um Kurzweil must have done LSD at some point maybe I guess anybody who who lived through the 60s probably did it at some point I don't know incidentally did you know that Kurzweil is a director of engineering at Google yes indeed um yeah maybe in three years we will expand more we definitely are expanding okay um I think it's time for a bio break for me so I'm going to change the camera okay yeah so um yeah so anyway uh this is as far as we've gotten so here is the one side why am I not getting good good light there we go here is the one side here is the other side so we've done a good bit so that's nice okay so um don't need these buffers anymore those are done don't need these s-rams those are done these are the capacitors I'll need those the sockets I'll need those the electrolytics I'll need those these are more s-rams we should put that away this is the huge roll of uh buffers so I don't need those anymore so I can cut this off where's my bag of buffers big old bag of buffers okay okay so these are the counters I'll need those and then there are two resistors which I'll have to locate well here are some more s-rams okay so see I have a cat too it's not just scan line but she's not going to stay still we'll be right back I don't see how um we're big believers in coffee at Google not alcohol uh what computer platform did you do you're hacking on as a kid um my first computer was a Timex Sinclair ZX-ZX81 um so I did uh some basic on that I did some assembly language on that um that was my first computer uh the computer after that was an Apple IIe so I did basic on that and assembly language on that a little bit of Pascal and those were basically my childhood computers and then when I got to college I had an IBM PC so all right let's say we continue synchronous binary counters so the reason that I badly screwed up the counter design in the previous version is that I really really really really really wanted an 8-bit counter chip and I found these and unfortunately they're not great for um for my intended purpose which is basically just as a synchronous counter because there are like internal uh there's an internal register in here where you um you clock the next count and then you have to clock the internal count into the external um the external facing registers so you sort of have to clock and then clock and then clock and then clock like that and I didn't realize that I just had a single clock so um yeah so it didn't work the way I expected it to um these on the other hand are 4-bit synchronous counters that's why I now have four chips and again like I said if I screw this up if this doesn't work then I'm just going to simulate the whole thing in Verilog and by simulate in Verilog I don't mean just write down the logic because the logic of the ALU is just a plus b and Verilog knows how to do that now I'm going to simulate each chip so I'm going to have a Verilog module for a 541 buffer a Verilog module for the RAM and so on and then I'll even be able to do a little bit of timing testing so let's get started I definitely need to find out where to get um where to get an applicator for large amounts of flux because it's pretty clear that that's like really key right here's one huh it's nice to work with 0.65 millimeter pin pitch now it's so big compared to the RAMs totally forgot to flux these pins what environment are you in where writing code stresses you out so the interesting thing is that um I used to work for a very large telecom company my job was you know software programming and it was full of stress not because of the actual programming but because of the other people and I don't want to sound elitist but it was truly because the other people who work there just weren't very smart you know you had to explain things to them like five times and then they would just ignore what you said when I moved to when I moved to Google I had no stress it was just incredible because everyone around you is you know really smart you know they're not like awful people they're all very friendly very happy to help you nobody likes to play secret with their information the uh the google code base is one code base across all of the projects so everybody can see what everybody else is doing and you can learn from everybody else oh yeah I I do have a fume extractor but um and I thought about turning it on I can turn it on and see how it works well you tell me how bad that is after it's done wash them and test them I think I see a solder bridge I think I see one unless it's unless it's one of those unused pins again it said yeah it is loud yeah I mean I'm okay with the fumes there there's not that much those are definitely supposed to happen okay yeah those are actually uh presets and I don't use the presets for the counters so that's okay other side are you using lead free solder no um the flux for that can be pretty nasty um yeah no I'm not using lead free solder solder wouldn't a career in ai inherently include having to do research in the field no not necessarily I mean it's not like it's not like using tensor flow requires doing research uh ai is kind of a you know it it's half science and half art because there's always like you know the tuning of the hyper parameters that you have to do you have to check to see if that's supposed to happen so these two pins they don't look connected but they might be uh internally connected let me see where did I get my blank board yep they're supposed to be connected great okay capacitor time so here's where I had to put the capacitor for this plcc socket which is on the underneath um okay I should also change tips to a pointy tip so I'm just going to let the soldering iron cool a little bit yeah recycling yeah um obviously if you're if you're building boards for production you should use lead free but other than that go for it because it's a lot easier to use yeah I'm impatient just want to have this little piece of cardboard looks like I didn't clean up after myself what are these oh fours these are the inverters put those away right we are ready for right so capacitors all right so something that I wanted to talk about um is the positioning of the capacitors and how to connect it to vcc so there are all sorts of theories about this um and the one that I kind of sort of like is that you take the vcc first of all you put the capacitor closest to vcc doesn't have to be close to ground it's ideal if it's close to both vcc and ground but most chips have vcc and ground separated by too much so you put the capacitor close to vcc um you connect the plus side of the capacitor to vcc and you put a via or a via down to the power plane between and the reason that you do that is that um is that there's rather than running the line to the capacitor and then to a via down to the power plane the reason is apparently that the via provides a low impedance path to the power plane while the capacitor supplies um uh the capacitor sort of acts as a reservoir or a charge reservoir so and it doesn't really make that much of a difference for for this design to be honest I'm just going to do this one capacitor and then I'm going to do them all so here's a capacitor uh so all the components that I use are 0603s in case you were wondering I did the um the surface mount challenge um where it goes from 1210s which are of course no challenge all down to uh what is it 01005s and of course I wasn't able to do that without a microscope um there was a guy at work who actually did it without a microscope that was pretty amazing oh this is a resistor I'm going to have to break out the resistors so the resistors are basically used as pull up or pull downs for when the power supply first comes up um you want obviously you want the outputs of the buffers to be disabled so so you need them to be you need all the uh output enables to be pulled up because they're all active low so first thing that I do can you solder 0603s with two cups of coffee um yes but not with three I've tried it before I'm well aware of my limitations here one of them just went I don't know where so funny story um one of my friends and I visited a surplus store and um he likes mechanical stuff so he he bought some something mechanical which had like gears and stuff in it you know you have to grease gears so the thing had grease caked all over it um anyway when he brought it home and started to clean it up he noticed that the grease had a lot of surface mount components just sort of in there uh because apparently this was used as some sort of a machine in a surface mount factory or something you know I don't know what and apparently you know a bag of surface mount components had had just sort of gotten into the grease somehow so it was funny because then we started calling surface mount components lubrication so there's a lot of lubrication going on on this board okay now this resistor the actual value doesn't matter that much it just needs to pull up it just needs to pull up the signal to a logic high dig into my bins by the way bins always have a lot of them for your projects because that way you can put away your project and then put it on a shelf and then work on another project that has another bit dedicated to it 10k oh those are 12 of sixes that's not gonna work all those six these are 0805s did I design this with an 0805? I think I did this is also 0805 oh here we go 10k 0603s that's what I used I could just check the schematic but I don't know I guess I'm getting lazy so I figured out what these markings are by the way see this one says 0 1c this is a this is a 10k resistor with with the ordinary like 10 percent and 5 percent resistors there was you know that the three digit code like you know 512 would mean 5100 or 5.1k well these are apparently for the 1 percent and there is like zero one and then a letter so two digits and a letter and unfortunately you sort of have to remember what they mean but there's a whole table where it goes I think from zero one to 99 and then from a to like some letter and that's enough to give you like all the EIA I forget what it's called but you know basically the 1 percent tolerance resistors because there's one EIA series which is for the 5 percent resistors so you have you know the typical values start from you know like for example 10k 12k 15k 18k 2.1 21k I mean 22k and then I think 27k 33k 39 47 56 68 I don't think there is a 70 and then there is an 81 and then I think there's a 90 something um so you know it's it's divided into like you know some sort of a logarithmic or exponential exponential divisions but then there's a finer division and that's what this code is about all right other side many capacitors and then we can get to testing this oh plcc sockets I'll just transfer the ROM chips over because I'm pretty sure those are correct oh and then we have these electrolytics all right well capacitors and the resistors honestly I probably didn't need need this many capacitors I do know that on that floating point board the one with the 600 chips they used half as many capacitors as there were chips practices to have one chip per vcc pin so that's what I'm doing all right great let's put some capacitors down oops wait this is a resistor how did that happen oh no I just I just dropped a whole bunch of resistors in this pile that wasn't supposed to happen well luckily they're like you know a fraction of a penny each so let me just separate them out from the capacitors that was done so sometimes what I like to do is um take a a board that I find at the surplus store you know a really cheap board that's full of surface mount components and then just take a hot a hot air gun and blast it and pull all the surface mount components off it I don't reuse the components because I don't know what state they're in and you know even like with the capacitors capacitors don't have markings so you have no idea what voltage they're there for you can measure them for uh capacitance but you can't measure their their voltage rating but you know it's kind of fun just to do just to see what you can find like here's something that I found um this is a surface mount potentiometer see the surface mount pads on there I'd reuse that that's kind of cool um I found this chip whatever it is it's an ad so it's an analog devices chip let's see you find a bunch of transistors and stuff I would probably reuse transistors and integrated circuits and potentiometers I and resistors I would not reuse the capacitors for one thing I tested some of the capacitors that I pulled off and some of them were reading no capacitance I mean infinite capacitance basically they were open circuit so I suspect that the desoldering process damaged them but resistors would be fine and generally transistors would be fine as long as you know if they're if they're like MOSFETs you just have to be careful about static but you know you could probably easily test them um was it strange parts that showed um some people in Shenzhen just sort of sell desoldered components by the kilo or maybe it was something I saw on twitter I think it was twitter it wasn't strange parts strange parts is on vacation right now I mean he's having some sort of a world tour oh no that's not strange parts sorry I'm mixing up my uh youtubers I'm thinking about uh only in Japan yeah he's currently going around the world right now and he's like showing off JFK airport and I'm like I've already been to JFK that's not very interesting all right let me put these resistors far far away from me so I don't make that mistake again just blindly reaching for components and then dispensing them so if this ALU actually works I think it will be the first major component that actually works on the ALU that that would actually be completed I know that I've done a lot of design work and I did have a design for the register file um unfortunately it was not adequate because it didn't have any buffering in it so I don't think that actually I'm not doing this in a uh in a good order so I hope everybody's having a relaxing day and or evening or night wherever they are you know in Europe it's night now and uh the east coast of the US it's already night six o'clock or 1800 as we should all say I know I'm having a pretty good day I'm just chilling out doing some soldering with some friends what's uh what's certain is that I probably would not have the motivation to do this project if I didn't have somebody to show it to I mean you know I'm not looking for people to say oh wow you know you did something great I'm just you know I just like to share what I do and you know hopefully hopefully other people will share what they do as well and I can learn from them to be honest sometimes I'm a little bit embarrassed about the the hackaday articles that come out about my projects because um well I haven't finished any of the projects that they talked about really 9 p.m in Brazil wait why really I thought Brazil was on uh was in the same time zone as the US Eastern as US Eastern I guess um well I guess I'm showing off my ignorance here um yeah two in the morning in in in in Russia um I don't really have a lot of Russian viewers um and I did feel kind of I did feel kind of strange specifying the times as western coast of the US east coast of the US and Europe um I mean I have to pick a a time that sort of works for most viewers and sad to say most viewers are in the US Germany like the rest of Europe and then you get a whole long tail of other countries so you know I I don't really optimize for for central central asian time or or japan time or anything like that so sorry about that but it has to be done at some time and that's the other thing right because if everybody uploads oops that capacitor just disappeared uh if everybody uploads they can all be in the same time zone I once went to a science fiction convention many years ago many many years ago I think it was like seven or eight years ago and uh Cory Doctorow was one of the uh people on the panel that I was attending and um I like Cory Doctorow's writing anyway I think he made the comment about something like why would you want to make a rock in in virtual reality you know because we have rocks all over the place and I'm like yeah but then it would be a rock that I did that I built for my special purposes you know it's a custom rock I mean I honestly don't think he gets the whole point behind virtual reality is that you know you do things that well okay maybe you know maybe his point was that you shouldn't recreate the world in virtual reality um but you know there are a lot of things in the world that would be a lot more convenient if they were changed and it's expensive to change things in the real world so take the real world make a virtual reality version of it and then modify it there how open am I to questions and discussion uh well if you had been watching from the very beginning I think you'd know the answer to that um I have many opinions and I will answer many questions accept questions that are like knowledge questions like you know somebody somebody breaks into a room and says hey tell me what Ohm's law is that's that's not what this is about right I really hate when that happens oh here's that capacitor come back here stupid thing I'll try to make an escape uh let's see did I get all the capacitors I think I was doing this uh regularly enough that I got them all the little ones anyway all right so here are the two resistors I have a Russian thought sub thanks I appreciate that the other thing that really gets me upset is the fact that I'm doing this in English right everybody's got their own language um and it used to be that the thought was that the lingua franca which oddly enough means the French language but the lingua franca of the of the internet was English and that's just not true you know there's a vast part of the internet I mean setting aside the whole issue of China there's a vast swath of the internet that are not that is not in English and I cannot participate in that and that really gets me upset because you know like I said I'm a big believer in exponential growth in knowledge and you cannot have exponential growth well you you would get larger exponential growth if all knowledge was shared and you know the fact that that I don't speak all languages is actually kind of distressing to me I know that it's impossible but you know but if everybody were to upload their minds then we could all speak in the same language or at least get translated to the same language because if we were to upload our minds then language trans automatic translation of languages would be a solved problem is this not oh I see okay also your stream is great and also how great it is that you are open to questions and discussions okay yeah sorry about that hey speaking of English and ambiguity uh I'm learning a language a constructed language called lojban which is a logical language well logical in the sense that all of its statements are logical predicates but you can express things like emotion and you know poetry and all sorts of things like that it's an interesting language so for example the word um Mlaatu is actually a word that means x1 is a cat so you know you could fill x1 with something so it's got sort of a slot kind of behavior there so if I wanted to say I am a cat I would just say me Mlaatu me Mlaatu if I wanted to say you are a cat do Mlaatu so there me is the word for you know I and I'm filling that x1 slot anyway it gets rid of all the ambiguities uh because of the slot positioning so for example in English you you can say I saw a man with a telescope well unfortunately that's an ambiguous statement does it mean that I saw a man who had a telescope or does it mean that I used a telescope to see a man so in lojban that's not possible because because c you know I x1 sees x2 well x2 has a structure and it's sort of like you know it's it's a completely parsable structure and it's parsable unambiguously so you know you can't have that ambiguity in lojban the other interesting thing about lojban is that it does have an unambiguous parse parsing natural languages is a really difficult problem but in lojban it's not it's actually very straightforward well it's it's complex but it can be done and the science fiction writer ian m banks wrote a whole bunch of novels called the culture series the culture series I really like that novel that that bunch of novels oh yeah people still form thoughts in a particular language you know that's the sapier warf hypothesis I think that's been debunked the sapier warf hypothesis said that when you learn a language uh you're stuck basically with the uh concepts that are describable in that language and that you cannot think of any other constructs it turns out that that's not true so don't take my word for it though all right uh I think I've gotten all the small capacitors and resistors yep yep yep so I just have uh three electrolytics that I scattered throughout the board just for I don't know why just fun I guess because I thought that electrolytics would be useful to have as a kind of a larger charge reservoir so here's this goes the other way sapier warf um here I'll put it in the so the canonical example is oh eskimos have a hundred different words for snow and the reason that they have a hundred different words for snow is because they live in snow so they have all these different concepts for snow that we don't have well that's not true we've got words for slush ice um icy slush um you know snowy whatever I mean you know we can describe all the different snow terms black ice um and the reason I'm I'm actually struggling to come up with examples is because um I don't live in an area that has snow oh geez I just validated the sapier warf hypothesis no um you know the point is that I can say something like you know that ice that forms a crust on top of water that's easy to break through all right fine so eskimo might have one word for it but I just described it so I can think of it I think the the idea behind sapier warf was that you can't even think of the concepts that aren't in your language which is you know ridiculous on its face but you know apparently not so ridiculous when they when they first put the hypothesis forward okay I did that one I need to do this one why not use tantalum caps for bypass um bypass you mean these little guys um well tantalums well first of all tantalums fail short and that's not good that's really not good uh ceramic capacitors fail open which means that these can actually fail and the circuit will still work as opposed to just blowing up your entire like power supply and everything by shorting power to ground um second of all you know these capacitors are cheap they're good enough they work did I do all these I did all these okay um sockets plcc sockets um I may be saying this wrong but dogged deugd virtue commode mind soul so you know words in different languages don't mean exactly the same thing because you know when you grow up you learn concepts and you know then your mind and the environment um sort of convert those concepts into words and you know just like concepts can overlap so do the meanings of words that's why one word in one language does not correspond to one word in another language so you know if I say mind or virtue in English maybe there isn't an exact translation but you know you can get pretty close all right how am I going to hold these sockets down I think I had some some painters tape somewhere yeah you could say I saw a man through a telescope nevertheless there is still the possibility of the ambiguous statement I saw a man with a telescope see English allows that large ban does not or rather the design of large ban um precludes being able to make statements like that so I'm breaking out the thick solder here solder which I don't really like to use because it sort of spatters um flux all over the place or this this rosin stuff you see this this thing over here makes for an awful cleanup you know if I use the thin solder solder I would be using a lot of it and it would take forever to feed in so meh all right we're almost there everyone so it's now 330 so I've been at this for wow for four hours holy wowsers all right so I'm estimating only a 20 chance that this is going to work so so I'm prepared for the disappointment I just want to prepare you for the disappointment but if it doesn't work that's another opportunity for me to do something about it I'll get to uh I'll get to write a whole bunch of simulations in verilog and I certainly need the verilog practice time flies like an arrow fruit flies like a banana yeah in lush bun there are no homophones the word is just that word and no other word see you have fun tantalums are always used on high speed digital boards oh I didn't know that um lush bun has the interesting feature that like in my example mlatu x1 is a cat it also means x1 are a cat so there's no um there's no number given which uh which also a lot of other languages feature so if the number is important then you can say it otherwise you don't have to so how do you say a cat like um to talk with someone is tavla so x1 talks to x2 about subject x3 in language x4 and I think it I think there's one other slot which is um using actually I think that's a um and you can leave off slots if they're not important so you know if I wanted to say I talk to you you know without specifying about what I'm talking about I could just say me tavla dough now what if I wanted to say I talk to a cat me tavla le mlatu so le turns a predicate or it casts a predicate into an argument it's very programming like now when I say le mlatu that means just a cat I could say low which means the cat in other words it has to be a cat that I specified before so that you know which cat I'm talking about how do you tell a joke in this logic bomb language well you can't use language ambiguities or puns um but you know you could tell other jokes for sure for certain wouldn't not saying the number create ambiguity um it would it would usually so so that the general rule is you don't say anything that you don't need to that you can get whoops that you can get from context so you know if I say I talk to a cat you know if if I say I talk to a cat you know I I guess by default it would be one cat but you could specifically say I talked to no cats or I talked to two cats and if that was important you would say that otherwise you would just you know leave it out because it's not important um okay it's done all right let's test this thing oh boy this isn't going to turn out great I just want to set everybody's expectations here all right let me just clean up the work area a bit switch cameras do capacitors resistors I really destroyed this bag I think I can turn the soldering iron off these boards out of the way I think what I'm gonna do is move the camera so here is I don't know if that's focusing right um here's the old board doesn't work so I'm going to have to pull the arms out of it plcc puller make sure that I get them in the right place so here I'll start with this one kind of avoid touching them if I don't have to or at least touching the pins then again why doesn't it look like this is focusing carefully untangle this mess move the microphone over so this is what I call the scoreboard it actually consists of just a bunch of leds and jumpers on every single bus signal and I have a piece of paper here somewhere oh there we go that shows uh what each one of these things is so here this pin goes to the bus and we basically have 100k pull down and uh an led going to ground so basically if I don't connect this jumper up all signals are grounded now I use a 100k resistor so that um if the pin is actually being driven then it will sink you know something like 3 milliamps or so um and light the led now if I do uh jumper this then I pull the pin high to about three volts but again if the pin is being driven by a logic zero then I can still sink current so in other words this is good for inputting signals but when a signal is output onto the pin uh the circuit doesn't affect the output so anyway that's what I did over here all right uh let's see so I have some power leads here now I've hooked up this uh Arduino this is actually a teensy 3.6 uh so that it basically outputs the signals that this board needs to copy its ROMs into its RAMs so so that so now I'm just checking the connections to see if they're still valid and I think so I think so okay so now I just need to set my power supply to three volts um there is one thing missing which is the ground connection for ground this will work and I just need to measure that good enough all right so let's see I remember there being something funny about this that I couldn't apply power immediately well let's go ahead and do it anyway and see what happens now I'm doing this without this board in I just want to see what happens yeah so the so the Arduino doesn't actually start up I think oh there we go okay so you can see the Arduino blinking that means that it's finished its boot sequence so I've got some uh some power LEDs over here just lit um and these are like the the boot signals up here so if I restart the thing I see now the Arduino doesn't start up yeah so there's this weird like startup bug but I need to remember how I solved one moment look up um the TNC look up TNC 3.6 pinout uh TNC 3.6 pinout okay uh that's TNC 3.5 but that'll do let's see so 3.3 volts goes in there ah VIN right right right okay think what I did okay I think what I did was so the problem with the TNC it's kind of dumb honestly but the problem with the TNC is that you can't give it 3.3 volts as a power supply it requires five volts even though it's a 3.3 volt board because um there's no facility on this board to actually bypass the voltage regulator so you have to give it five volts it does have an output for its 3.3 volt regulator and I think that's what I run the entire system on it's not ideal it's not great but um so let me just uh increase this to something like five volts okay so I'm going to give the Arduino five volts so it's outputting 3.3 volts to here and I still don't know why it's not like starting up oh there it goes okay well it booted again it booted now so I guess it's it's just kind of you know so let me disconnect that or rather connect this and plug the board in and hopefully I think the Arduino can supply enough current or power to power the ALU as well it can supply 250 milliamps at 3.3 volts so um I have the output disabled and I have the function set to XOR so I don't expect to see anything after boot up uh where's my piece of paper that I had the uh so these are the functions these are the function inputs over here it's kind of hard to see I should zoom in on this there we go that's probably a lot better um so anyway uh these are the functions f0 1 2 and 3 so what I have it set on is XOR which means that f2 has to be pulled high so I put a jumper on f2 that pulls it on uh so all of these are pull all of the uh buses so here's source 1 and source 2 so those are the two inputs and then there's destination which is the output now again I have the output for the ALU disabled so I don't expect to see any of these lights for the buses light up after boot up so let's boot it up okay the thing is booting now it's booted in theory so what I will do is disconnect the ALU output enable so that will enable the thing and I expect to see zero XOR with zero equals zero so now let me input a one bit on one of the sources now one XOR zero should be one so whatever I input on source register one I should see on the destination uh source bus one I should say that did light up which is correct let me try the same thing for source two so again zero XOR one should be one okay and the answer is one so far so good now if I take another jumper and put it on source one one XOR one should be zero where are my jumpers computing one XOR with one it is indeed zero excellent so I can put another jumper on any other bit and this is just you know a straight through thing so you know once right well there's a failure right there that's upsetting well it looks like the bottom four bits work looks like the bottom eight bits work but the next one doesn't works that works that works that one works well that's interesting so some of the groups of four bits uh don't work oh that's kind of upsetting all right but it doesn't look like some of them do work so let's try another function let's try the add function which is all zeros so if I just pull this all right so this is going to be the add function so zero plus zero is zero zero plus one should be one apparently it says that zero plus one is zero and apparently two plus zero is three what okay well obviously this doesn't work unless I have the functions backwards maybe let me set f one yeah okay so this obviously doesn't work and I'm going to have to figure out why well I did say there was only a 20% chance that this would work and well it didn't work okay so I think what I'm going to have to do is simulate the whole thing in Veralog yeah I know it really is hard not to throw in the towel at the entire project but well if I simulated in Veralog and it works then I will probably throw in the towel because it's obvious that I can't design complicated circuits in real life but I don't think that's true so I'm just going to keep bashing my head against this um well I guess that's it there's there's no point in trying to troubleshoot this further because that would mean that I would have to solder solder teensy tiny little wires in there which you know maybe I'll end up doing so I guess that's about it so happy Sunday I guess sucks to be me I'll be all right I'll figure it out okay so that's about it I guess I will see you on the next videos uh which hopefully will include a working ALU or maybe a video about the simulated ALU or or something I don't know um and yeah I don't think there are solder bridges anywhere because remember I checked all of them um they can't the the ROMs can't be misoriented because they only go in one way um they could be misprogrammed but I did simulate that and I'm pretty sure they're correct so so yeah so the only things that I can think of is that maybe the ROMs didn't get copied into the RAMs properly um yeah so what I might end up doing is just you know hooking a few tiny wires on there and and trying to see if I can follow the the signals and make sure that they're all correct so that's probably what I'll do next I mean it's going to be a whole you know production to sort of simulate the whole thing in the verilog so you know let me just poke some signals and you know see what I can find so I guess that's about it um what about the 3.3 volt supply on the board's under load yes that's entirely possible um what I can do first of all I know it's not going to be an intermittent issue because I've got capacitors all over the place so that's not it uh let me check the voltage supply if I could find my multimeter where did I put it put my multimeter all right here's the output that looks good to me 3.3 volts so that's not it but you know something that we had to check um yeah I think that's about it um solder bridge in a raw in the ROM pins um I don't think so the the pins are really spaced far apart but yeah I can definitely inspect the whole board and make sure so anyway I think I'm going to call it a day um it's been almost a 10 well it's been three and a half hours um sure it didn't confuse between zero and one base systems no no um I'll figure it out um I really have to figure this out because I've invested so much time and effort and money into this so anyway um thanks for joining I appreciate um sort of spending the time with me and keeping me company while I do this uh so that's about it until next time see ya