kmap and boolean algebra
being your own teacher… is its own reward
i’ve been reading and learning about analog and digital electronics during my free time and during weekends. it has been a great learning experience and i wish i had a formal curriculum to follow with this gig. its been at most 4 years since i last used boolean algebra to this extent so im expecting things to be a bit rusty and wrong. i’m starting with the infamous 4 bit BCD to 7 segment since it’s the most basic, confidence boosting, hands-on activity i can think of.
[updates]
the problem with my initial kmaps was that they didn’t follow gray code. therefore, 00, 01, 10, 11 should have been 00, 01, 11, 00 wherein only a single bit changes everytime. a binary sequence from 01 to 10 changes two bits; 0 to 1, and 1 to 0 in their corresponding places.
i also noticed that the number of logic gates used to implement a 7 segment that displays 0x0-0xF is staggering and it would take up an exceedingly large space in my breadboard, so i lowered the digits it could display up to 9 only.
the figure below is my new truth table, with 10-15 as dont-cares.

which yields the following logic circuit for A to G.

but a simplification is still in order, mainly because there are combinations that yield a shorter sub-expression.
A = A + C + BD + B'D' 1) (A + C + BD + B'D')' ; de morgan's 2) (A') (C') (B' + D') (B + D) ; distribute 3) (A') (C') (B'B + B'D + BD' + D'D) ; theorem 16: A'A = 0 4) (A') (C') (B'D + BD') ; A'B + AB' < => A xor B 5) ((A’) (C’) (B xor D))’ ; de morgan’s 6) A + C + (B xor D)’ ; final answer
assuming only single - 2 input cmos gates + sinle inverters
A + C + BD + B'D' = 6 gates A + C + (B xor D)' = 4 gates
thats a savings of 2 logic gates!
the simplified XOR expression is very elegant, but i don’t have any CMOS xor gates in hand right now. so i’m sticking with the longer logic expressions which does not utilize an XOR operation.
