Page 1 of 1
Canonical Forms and such
Posted: Wed Feb 20, 2008 8:27 am
by usrx
I'm following the assembly language tutorials here at:
The Art of Assembly Language
http://maven.smith.edu/~thiebaut/ArtOfA ... ofasm.html
I've studied boolean algebra, canonical forms and karnaugh maps in school, I'm just wondering when do you guys actually use this stuff?
Posted: Wed Feb 20, 2008 8:41 am
by zaleschiemilgabriel
I also get the feeling they teach too much crap in school sometimes...
Posted: Wed Feb 20, 2008 9:07 am
by DeletedAccount
Well .. what do you mean by useless ... it is very usefull ... u mean the SOP and POS forms .... This is because u havent done enough experiments in digital electronics .... KMAPs does help in reducing the number of gates needed ... Although they are not directly related to ASM
programming ... a good knowledge of boolen algebra is required in making even trivial digital circuits .... or before understanding more advanced concepts .... Just read the Morris Mano book or the Floyd book... i learned it during my second year .... Just consider implementing an n bit adder or counter using basic gates ...
Posted: Wed Feb 20, 2008 9:16 am
by JamesM
I've studied boolean algebra, canonical forms and karnaugh maps in school
These become of use when designing digital circuits. Assembler language is far too high level for karnaugh maps to have any use! I would have thought, having learned about karnaugh maps, you'd know what they're used for?
They're extremely effective in lowering the number of gates needed in a device, they're foolproof and can often come out with better solutions than your own brain. In certain circumstances you brain can think "Ah ha! This part requires an XOR gate", where a Kmap could tell you that it could be done with 6 NAND gates (example).
Each piece of knowledge you learn can only be applied to that spectrum of engineering for which it was designed. KMaps can no more be applied to assembler language programming than calculus can be applied to writing a "hello world" app in PHP.
If you follow the second poster's line of thought, one might as well learn nothing, and have the computer do everything for you. The problem then becomes: "Who makes the next computer?" or "Who programs the next version of PHP etc".
Think about it.
James
Posted: Wed Feb 20, 2008 9:44 am
by DeletedAccount
James M wrote
They're extremely effective in lowering the number of gates needed in a device, they're foolproof and can often come out with better solutions than your own brain. In certain circumstances you brain can think "Ah ha! This part requires an XOR gate", where a Kmap could tell you that it could be done with 6 NAND gates (example).
Absolutely spot on !!!
Posted: Wed Feb 20, 2008 10:47 am
by usrx
yea that clarifies it for me then. So all that stuff really only applies to designing circuits and not designing an x86-OS.
So I would then need to know it if I wanted to for example use seven-segment lcd's to create an electronic dartboard score-keeping device then?
Posted: Wed Feb 20, 2008 2:16 pm
by djenkins75
zaleschiemilgabriel wrote:I also get the feeling they teach too much crap in school sometimes...
Believe it or not, but I use that stuff in real-life. I have a CS degree and I write financial services software.
Posted: Wed Feb 20, 2008 2:26 pm
by JamesM
usrx wrote:yea that clarifies it for me then. So all that stuff really only applies to designing circuits and not designing an x86-OS.
So I would then need to know it if I wanted to for example use seven-segment lcd's to create an electronic dartboard score-keeping device then?
Almost certainly yes, depending on exactly how simple the device was. There are already seven-segment decoders available to buy which have a reasonable amount of logic in them (they just take a BCD input).