Close

BCD to 7Segment Decoder

A project log for 555 Timer - Timer

We've come full circle. Here's a timer made up of timers...

jesse-farrellJesse Farrell 01/09/2022 at 17:512 Comments

This block takes in 4 bits representing a single digit of the 7-segment display and maps them to a 7-bit output representing digits 0-9. There are two approaches I could take to design this circuit (or atleast two that come to mind). Either I could (a) find the Boolean logic related to each element and create a network of gates that will decode the value on the fly, or I will (b) implement the logic as a MUX. After a bit of tinkering I found that the "Boolean" approach was far more efficient. 

Using some Karnough maps, I created the final design can be seen below. Note that I will be using a common anode 7-segment, so to turn on a segment, the output should be 0. 

Here are the maps I used for each element. I'm a little rusty on gate simplification so there may be some redundency hidden here. 

NOTE: there was incorrect logic for elelement B, this was discovered during validation (0010) is not a case where B is off

Discussions

Ken Yap wrote 03/13/2022 at 22:20 point

You can find a decoding network in the datasheet for the SN7447, a TTL 7-segment LED driver from way back. It may not be as minimal as your network because they could afford to use as many emitters as they needed for the gates, this being TTL.

  Are you sure? yes | no

Jesse Farrell wrote 03/13/2022 at 22:56 point

Thanks for the heads up, I thought the schematic probably existed somewhere but I was too determined to do it my own way as a learning exercise ( and to refresh my Karnaugh map knowledge)… that being said I probably should have checked other designs once I finished

  Are you sure? yes | no