EEVacademy | Digital Design Series Part 5 - Karnaugh Maps

  Рет қаралды 20,237

EEVblog

EEVblog

Күн бұрын

Пікірлер: 92
@flymypg
@flymypg Жыл бұрын
Good job! The next step is always fun, selecting the actual gates to be used. When I was a technician in the US Navy, we often had electronic systems that would last the life of the ship (yes, I even worked on perfectly good systems containing tubes/valves). Meaning we also had boards and racks filled with jellybean TTL logic that needed to evolve rather than be replaced. When a bug was found or a new feature was needed, in the worst case it could mean a expensive re-spin of a decades-old board may be needed. More often, we'd instead be sent a step-by-step procedure to add an extensive series of jumpers, along with updates to the documentation describing the change. The high-level description never matched the gates that were connected. They had to use whatever free gates were available on the board, meaning the ideal change described in the overview had to be transformed to make use of available resources on the boards. I saw they used ingenious equivalences. What do you do when you need an AND gate, but have only NOR gates? This was de Morgan's Laws being used sideways, transforming the ideal to make use of the real. This notion lit my brain on fire. "De-optimization" as a vital part of the path for solving a highly constrained engineering problem! I loved reverse-engineering the delivered solution to see if I could do better, where "better" had two primary constraints: Don't ruin the timing, and don't use more resources (jumpers and spare gates). Then, when I did find a "better" solution, I'd step back and ask if there were reasons the designers would choose to NOT use my "better" approach. This was where I learned about wire length issues, gate loading issues, gate speed issues, and so on. All the "unpleasant realities" one encounters when implementing an optimal Karnaugh Map solution into an existing system. In time I became fairly proficient at this, and it became a hobby for me to dream up new system features, design the optimal solution, then see if the ideal solution could be transformed to permit it to be implemented using the spare resources available on the board. Fun stuff! I also gained a reputation as a savvy troubleshooter, as this "hobby" also encouraged me to go beyond our technical documentation to look at how and why our systems were designed and implemented the way they were. The last ship I served on was brand new. In fact, I was on the small team that inspected and tested every inch of it as we signed off on each system as part of the Navy's acceptance process with the shipyard. Despite how new it was, it still contained decades-old technology, largely due to the long lead-times for military system design and procurement, combined with the need to reuse older systems still in production whenever it made sense to do so. One brand-new system, the set of digital engineering consoles used to control the propulsion, electrical and auxiliary systems, were still implemented using old jelly-bean logic on small cards plugged into large wire-wrapped backplanes. My ship was among the last 10 of 30 Spruance-class destroyers made. During the run of Spruance-class construction, the Navy created and built the Oliver Hazard Perry-class frigate, which used the same marine gas turbine propulsion system as the Spruance class (with 2 engines instead of 4), but had far newer technology in its engineering consoles. When the first Perry frigate arrived at our base, all of us engineering techs went over to compare notes. We were very upset when they wouldn't let us disassemble their consoles. But we did see they had several cool features implemented that our ships lacked. I immediately set myself the task of cloning as many of those features as possible into the spare gates of our consoles. Some were clearly too complex to even consider. Others would need signals or sensors our systems lacked. Here's one example: Though our ships shared common propulsion jet turbine engines, their engine control system had been updated, and provided one key signal our systems lacked: An engine flame-out alarm. This signal came from a flame sensor added to a sensor port that was blocked off on our engines. Why? I have no idea why our destroyer engines lacked a flame-out alarm, as it meant we had to vigilantly monitor the engines to see when power was unexpectedly lost. (Note: There was lots of inertia in the system, so a loss of speed wouldn't be noticed until an engine experiencing a flame-out had spun way down.) I wanted to see if I could design and implement a "good enough" stand-in for a flame-out alarm using only the signals and spare gates available in our main engineering console. I gave myself a further constraint that I couldn't modify any of the plugin-cards, and could only use signals available at card rear connector, so I could implement the feature using only wire-wrap changes to the card cage backplanes. This would also make the feature easily reversible, in case I messed up. I did come up with an approach which I ran past my fellow techs and our supervisors, challenging them to find a flaw. We wanted to test it, but it was ABSOLUTELY illegal to modify critical ship systems in this or any other way. Still, we figured it wouldn't hurt to ask, so we walked the idea up the chain of command. Our Commanding Officer, the Captain of the ship, was very gung-ho, and agreed to implement the feature for one of our 4 engines. He also added the constraint that we must have spares in stock for every card I'd be accessing.. I implemented the change, and it worked! We now had one engine with a flame-out alarm. So, of course, we used that engine for all our casualty control training and examinations for things like a fuel supply valve being tripped. Once the design had proven itself, I fully documented it as a "Benny-Sug" (Beneficial Suggestion) for an engineering change, and sent it up the chain of command all the way to Washington. Being VERY careful, of course, to NOT mention the change had already been implemented, tested and proven. I did not receive the reply I was expecting. Our Captain was reprimanded for allowing design changes to critical systems to even be considered, much less supported and forwarded. I was crestfallen when I got the news. However, the CO then said: "You are expressly forbidden to pursue this change any further, in any way whatsoever." Now, you need to know Navy Speak to parse this correctly. It also meant I was not allowed to REMOVE the change! For years we kept performing and passing casualty drills using that engine. Looking back, I view that flame-out design as my first true engineering product. My pride in that accomplishment, combined with the Navy's poor reception of it, directly influenced my decision to leave active duty to pursue an engineering degree and a civilian career. And it all started with figuring out how the "ideal" modifications were designed and implemented using Karnaugh, de Morgan, some spare gates, and a spool of jumper wire.
@ninetailscosmicfox5585
@ninetailscosmicfox5585 Жыл бұрын
I can’t wait for Dave to get into multiplexers, encoders and such. I’ve been teaching myself all of this as I design a mixed signal synthesizer and the information has been invaluable. Can’t describe how useful another lecture series on this is.
@chitlitlah
@chitlitlah Жыл бұрын
You should write a book. Oh wait, you just did. I read it all and it was a pretty good book though.
@stevedaenginerd
@stevedaenginerd Жыл бұрын
Thanks a ton @BobC! It helps me to see a practical demonstration of an engineering concept like this! Is prolly the only way I made it thru my CS degrees! Lol
@McTroyd
@McTroyd Жыл бұрын
As a US Navy brat to a father who was career, I was unfortunately unsurprised at the Navy's reaction to your suggestion. That was something Dad was always complaining about. Really neat story nonetheless; thanks for sharing!
@Lampoonlongtails
@Lampoonlongtails Жыл бұрын
Great story, thought indicative of management buffoonery (ie, IBM loosing out in the PC (ISA bus) industry it started, and fowled up again, with the MCA licensing fees, XEROX giving away the Alto developed at PARC, TI's 9900 CPU being limited to 32k words, and the matching video chip having an 8 bit interface, etc etc). Such important features as the flame-out detector, should have been made mandatory upgrades, accross the fleet. And continued technical expertise and development, encouraged. So stupid, that the military (and any industry dependent of technology) emphasize competency, efficiency, effectiveness and skill. But your experience demonstrates, it's about being a minion. How can anyone have pride in their work, or management? Reminds me of the story of the Turbinia, launched August 1894. Sometimes new technology is not accepted, until it's superiority can not be ignored. And again, when the U.S. refused the 'silent propeller' developed in Japan (the Toshiba-Kongsberg scandal of 1987).
@G6EJD
@G6EJD Жыл бұрын
My Professor was Douglas Lewin and he taught me as a designer you can’t minimise the logic too far as you have to consider the repair and diagnostics process later in the design life, meaning you had to leave enough for the repair technician to work out what’s going on. Wise words.
@ortzinator
@ortzinator Жыл бұрын
Must have been a while ago because nobody cares about repair anymore
@phermn
@phermn 8 ай бұрын
Brilliant! Thanks! It all came flooding back after 29 years. A perfect refresher!
@jeremiahbullfrog9288
@jeremiahbullfrog9288 Жыл бұрын
I love this kind of content, thanks for coming back to this series
@Ricard2k
@Ricard2k Жыл бұрын
Great Explanation! You're brilliant explaining concepts. Today I remembered the joy of learning Karnaugh magic when I was young.
@zadrik1337
@zadrik1337 Жыл бұрын
I learned these in 1982 as a fresh EE student. Next trick is to add MEVs (map entered variables). My professor had a Fortran program he wrote to minimize huge Karnaugh maps. Lots of fun.
@darkguardian1314
@darkguardian1314 Жыл бұрын
Same here. All I had were old library books and my school had an old IBM 360/30 running Fortran IV. Had a stack of punch cards and kept them wrapped in rubber bands. Good times...
@KeritechElectronics
@KeritechElectronics Жыл бұрын
Simple is better than complex, complex is better than complicated. You laid it out really well :)
@The4Crawler
@The4Crawler Жыл бұрын
I remember my digital logic class in college in the 70s. We spent a while on Karnaugh Maps. Last day of that we were given the classic 4-way light switch problem. Basically a room with 4 doors and a light switch at each door. Problem was to design a "simplified" logic circuit to control a single light in the room by turning it on at any switch and then off at any switch. Give it a go and try to simplify via a KM. There was one student in the class that managed to get one gate less that the "brute force" logic. Then the prof. asked how long that student spent on the solution and he worked out the cost for that one saved gate. This was our introduction to MSI logic and multiplexers, when the prof. showed how that same logic could be implemented with one 16:1 multiplexer chip.
@romancharak3675
@romancharak3675 Жыл бұрын
What a wonderful review of Karnaugh Maps, Dave. Using this method has helped me create some very neat, compact circuits, in my electronics hobby. Thank you!
@stevedaenginerd
@stevedaenginerd Жыл бұрын
I love these series you do Dave! One side benefit of these series is that there is always ancillary information and/or a practical application of what you've covered, like how @BobC shared (btw, thanks a ton Bob. It helps me to see a practical demonstration of an engineering concept like this!). Thanks again Dave, can't wait for the next entry in this series. Even if it takes another couple years! 😉🤣 But seriously, the variation of content is what has kept me glued to your channel for years! That and the high quality of the information from both you and the community! 🤓
@stevedaenginerd
@stevedaenginerd Жыл бұрын
@@Okurka. Is criminal! 😅
@Scrizati
@Scrizati Жыл бұрын
Great refresher and throw back to my undergrad days. Cheers Dave
@Lampoonlongtails
@Lampoonlongtails Жыл бұрын
Thanks Dave, Another great practical class in logic. Cheers.
@cheeseparis1
@cheeseparis1 Жыл бұрын
I loved it so much in my engeneering school back in the days. Loved to hear you about it!
@algorithminc.8850
@algorithminc.8850 Жыл бұрын
Great series. Thanks. I love this topic in particular ... and suggest a follow up video with the "Quine-McCluskey algorithm." At Georgia Tech in Atlanta in the 1980's, they taught the approach for EE (along with Karnaugh for smaller problems). Caldwell and Fielder at Ga. Tech added to the approach, if I remember correctly (I knew Fielder). In any case, really enjoying the channel ... and still chuckling with the moon-landing video. All the best and cheers from sunny Florida, USA - Christopher
@RagnarEE
@RagnarEE Жыл бұрын
Like someone commented in an old video of you #600 i think it was, he thanked you for your work in charing your knowledge with all of us hobbyists, and probably pros too... I just have to hopp on to his comment, dont care if it was old, its still brilliant👌 Most of my basic electronics knowledge i get from your EEVblog and Paul Carlson at Mr.Carlsons lab, then i know what to focus on in the books😅 So fom the bottom of my hart, thank you so much Dave for all your hard teaching work, I truly love it👍 🙏🤗
@RagnarEE
@RagnarEE Жыл бұрын
And, you actually manage to make it fun... 😂😂
@funtechu
@funtechu Жыл бұрын
I still remember doing 6 variable Karnaugh maps during my undergrad. It gets to be a real pain! For anything over 4 variables, I prefer using Quine-McCluskey. Could be interesting to have a video on QMC later on in this series.
@glamalkisen
@glamalkisen Жыл бұрын
Thank you! So helpful, and you made it fun to watch as well.
@zyghom
@zyghom Жыл бұрын
man, today I am 50+, I learnt it when I was around 17 - thank you for taking me there, to the super nice timse ;-)
@WreckDiver99
@WreckDiver99 Жыл бұрын
Just had flashbacks to 1989...Actually a great class in all of this. LOVED digital design back in the day. Haven't used it since, but computer engineering was the degree, and it never actually got used. :(
@Panda_5020
@Panda_5020 Жыл бұрын
Great job! Using this to study for my digital logic final. Thanks for the video
@peppybocan
@peppybocan Жыл бұрын
Ooooh, Karnaugh Maps, so much fun :D :D
@Fazzwrld
@Fazzwrld Жыл бұрын
I saw you posting about lower views on launch, but let me tell you this is really useful content. Thanks!
@ninetailscosmicfox5585
@ninetailscosmicfox5585 Жыл бұрын
This is great! I watched another series and there is so much mind blowing stuff going on. Perhaps you could do a PLC/SLC/Plant control series as well?
@jespermller6956
@jespermller6956 Жыл бұрын
#Dave, you are a good teacher, you should make more of these videos where you teach electronics. I knew this about Karnaugh maps well before, but it's a good refresher to see it reviewed again. for my part, there is a lot that was learned that I don't use very often, so I often just use a refresher video to get ready again.
@WeaverFleek
@WeaverFleek 9 ай бұрын
Nice and Precise!🫶🏽🖤
@Chris_Grossman
@Chris_Grossman Жыл бұрын
Excellent. Being somewhat of a math aficionado (aka geek) I have always used Boolean Algebra. I now now how to do Karnaugh Maps. Thank you.
@brumbymg
@brumbymg Жыл бұрын
Nice. I like it.
@beauslim
@beauslim Жыл бұрын
Love these. Almost seems like magic.
@fllev4121
@fllev4121 Жыл бұрын
Beautiful.
@bertblankenstein3738
@bertblankenstein3738 Жыл бұрын
I learned about Karnaugh mapping in high school, maybe '87. We then went on to implement using NAND gates and also using NOR gates.
@Dinkleberg96
@Dinkleberg96 Жыл бұрын
I learnt this in high school, It's a great technique
@fiddlerJohn
@fiddlerJohn Жыл бұрын
Love it. Thanks
@commanderguy-rw7tj
@commanderguy-rw7tj Жыл бұрын
👀this is out already? I just randomly found this through the EEVacademy playlist lol Edit: nope, it's unlisted for now 🤔
@EEVblog
@EEVblog Жыл бұрын
You win bonus internet points.
@commanderguy-rw7tj
@commanderguy-rw7tj Жыл бұрын
😁
@Enigma758
@Enigma758 Жыл бұрын
22:00, the first solution has one less inverter than the second.
@EEVblog
@EEVblog Жыл бұрын
Sorry, editing goof, it actually doesn't. The first A in the first solution is meant to have a bar over it. I showed this in the edit earlier but I forgot to drag the correction further on in the timeline, so you only see the corrected version for about a minute and then it vanishes.
@lemd49
@lemd49 Жыл бұрын
Omg what a trip back in time….
@trinitron40237
@trinitron40237 Жыл бұрын
Every time I watch you, I feel young again.
@HassanAshour
@HassanAshour Жыл бұрын
Please tell me what tools you have used for this video.
@nathanrussell2158
@nathanrussell2158 Жыл бұрын
DaveCad-very educational.
@jjoeygold
@jjoeygold Жыл бұрын
What tablet do you use Dave?
@michaelpiotrowicz6100
@michaelpiotrowicz6100 Жыл бұрын
Wow!
@typxxilps
@typxxilps Жыл бұрын
6:00 shows pen magic cleaning the B from the board and half of the X while changing nothing in the upper right area with the red circle drawn before. maybe dave's magic or another logic gate function but a circles seems to be not the same in that app.
@Francesco-bu1hh
@Francesco-bu1hh Жыл бұрын
Thanks Dave. could you do a lesson about Digital to Analogue Conversion?
@AIM54A
@AIM54A Жыл бұрын
Kmaps.. I remember that class.
@bigguyprepper
@bigguyprepper 10 ай бұрын
man, this and the last video explaining the differences with product of sums would be helpfull. my professor expects us to know both but only explains one
@thomasunsworth425
@thomasunsworth425 Жыл бұрын
I am not so hot on the maths stuff but at 21:30 in on the vid, can you explain further how the two different equations are identical
@cinobro6393
@cinobro6393 Жыл бұрын
Nice title!
@derekloudon8731
@derekloudon8731 Жыл бұрын
I love your enthusiasm! In the 60’s some of my teachers were old farts. It’s difficult to learn from old farts ☹
@TheEmbeddedHobbyist
@TheEmbeddedHobbyist Жыл бұрын
Using the gray code allows the table to rap around from top to bottom, so you can link one in the top square to a one in the bottom square.. with only 1 bit change.
@leofante9900
@leofante9900 Жыл бұрын
hi, what's the name of the software you are using as digital whiteboard? thanks
@nicelights4884
@nicelights4884 Жыл бұрын
this made me feel like im 17 again :) thanks, great presentation
@jecelassumpcaojr890
@jecelassumpcaojr890 Жыл бұрын
I like to check if I can get better results by grouping the 0s instead, in which case I just use a NOR for the output
@arnoudvh1446
@arnoudvh1446 Жыл бұрын
It sometimes possible to have "don't care" states, marked with *, for instance, if you have a decimal 7-segment display, you have don't cares from A to F. That often helps simplify logic gates a lot. Wikipedia has a paragraph on it. By the way, for a real challenge - try to figure out how NASA engineers were able to use 5 just relays to control the 7 segment display on the Apollo DSKY :-)
@nikhiljoshi4120
@nikhiljoshi4120 Жыл бұрын
Sir will you be continuing this series for now cause I'm taking notes and I'm loving your content!!❤️😎
@AustinAyitey
@AustinAyitey Жыл бұрын
@rdwells
@rdwells Жыл бұрын
Is there any non trial-and-error method for simplifying circuits using xor? For example, -A-BR + AB-R (where -A means "not A") simplifies to (A xor R)(B xor R), but the latter is a much simpler circuit (at least it is when using 74-series chips, which is what I'm mostly concerned with).
@vogonjelc
@vogonjelc Жыл бұрын
How much does Dave CAD license cost?
@Oblivion1407
@Oblivion1407 Жыл бұрын
Last example uses less gates if you do PoS instead
@yoksel99
@yoksel99 Жыл бұрын
But... the Verilog/VHDL compiler does all that optimization... ;) So this is all for us oldfarts who have their precious 74xx series drawers full of everything from 7400 to 74xx996 (and/or of course K155ЛА3 and beyond)
@shana_dmr
@shana_dmr Жыл бұрын
And if you really have to get a bigger boolean function optimized there's Espresso that's slightly less antique.
@Zardox-The-Heretic-Slayer
@Zardox-The-Heretic-Slayer Жыл бұрын
I design with logic chips wherever it's possible. I honestly hate coding stuff with a passion, I just want to solder stuff!
@rossmckenzie2283
@rossmckenzie2283 Жыл бұрын
Well that took me back to 1969 at RMIT.
@uwezimmermann5427
@uwezimmermann5427 Жыл бұрын
We teach Karnaugh maps in our introductory university course on electronics - this autumn I will link your video to the course material. But have you seen Nandland's quite expressive rant against Karnaugh maps? kzbin.info/www/bejne/i3y1m5doerR4d9E
@peterbridges6851
@peterbridges6851 Жыл бұрын
I think I'll stick to algebra cheers.
@s8wc3
@s8wc3 Жыл бұрын
Wordsearch puzzles for Engineers
@Lwd400mIJSBAAN
@Lwd400mIJSBAAN Жыл бұрын
Don't forget Feits, we had to study them in 1977
@petersage5157
@petersage5157 Жыл бұрын
"Who likes algebra"? I realize this question is rhetorical, but just off the top of my head...Numberphile, Mathologer, 3Blue1Brown, Old Hack EE...I can't swing a dead felid without hitting someone who likes algebra.
@artur8403
@artur8403 Жыл бұрын
Love to learn these maps and never use them. I usually try to pull my hair when logic in if() statements needs to be simplified
@NeverTalkToCops1
@NeverTalkToCops1 Жыл бұрын
Karnaugh, Schmarnaugh. No need to slog through any simplification with today's high capacity logic arrays. Just type in your boolean equations and Bob's your uncle. Not to mention that AI can simplify logic.
Karnaugh Maps - Example 1
6:02
Dragonfly Statistics
Рет қаралды 223 М.
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
Karnaugh Map (K-map) : 4-Variable K- map Explained (with Solved Examples)
20:20
ALL ABOUT ELECTRONICS
Рет қаралды 219 М.
EEVblog 1438 - The TOP 5 Jellybean Regulators & References
44:38
Karnaugh Map Tutorial 4 Variable
7:55
DigitalLogicAnalysis
Рет қаралды 358 М.
one year of studying (it was a mistake)
12:51
Jeffrey Codes
Рет қаралды 194 М.
Inside the V3 Nazi Super Gun
19:52
Blue Paw Print
Рет қаралды 2,3 МЛН
Don't Care Conditions in Karnaugh Map (with Solved Examples)
11:57
ALL ABOUT ELECTRONICS
Рет қаралды 191 М.
How are Redstone Computers even possible?
19:36
Ellie Rasmussen
Рет қаралды 368 М.
EEVblog 1472 - Resistor Cube Problem SOLVED
19:56
EEVblog
Рет қаралды 107 М.
Karnaugh Maps - Introduction
13:45
Computer Science Lessons
Рет қаралды 445 М.
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН