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.