# Reducing the Number of Logic Gates in a NOR-driven 7 Segment Display

I have been given a prompt to design a 7 segment display using NOR gates. My understanding of the prompt (8.R) is:

Design an excess-2 code converter to drive a 7 segment display. Design the display using two, three, and four input NOR gates and inverters. Any solution that uses 16 gates and inverters or fewer (not counting the four inverters for the inputs) is acceptable. Using K-Maps, I have derived seven POS equations that I converted to NOR gates through double inversion.

Segment POS Equations NOR Gate Implementation
1 (A + B + D')(B' + C' + D) [(A + B + D')' + (B' + C' + D)']'
2 (A' + C + D)(B' + C' + D') [(A' + C + D)' + (B' + C' + D')']'
3 (A + C + D) [(A + C + D)']'
4 (A + B + D')(A' + C + D')(B' + C' + D) [(A + B + D')' + (A' + C + D')' + (B' + C' + D)']'
5 (D')(A' + C' + D) [D + (A' + C' + D)']'
6 (A + C + D)(C + D')(A + B + D') [(A + C + D)' + (C + D')' + (A + B + D')']'
7 (A + B)(A' + C + D') [(A + B)' + (A' + C + D')']'

To reduce the number of gates, some are reused. These gates are (A + B + D')', (B + C + D')', and (B' + C' + D)'.

Afterward, my logic diagram looks like this: ## The Problem

Counting up the logic gates on my diagram (excluding the inverters from the inputs A through D), I count 17 gates. This does not satisfy the requirements of the prompt. Therefore, I am thinking I messed up somewhere along the way, either in:

• Deriving POS gates from my K-Maps
• Reusing shared gates

I'm lost as to what I could improve to reduce my gate count by one. Any ideas?

• Do you use a LOW for an active LED drive? Or a HIGH? (From what I see glancing over the above, I'd say you could use either choice.)
– jonk
Mar 12 at 5:32
• Examine this.
– jonk
Mar 12 at 7:26
• Logic reduction to simple gates (NANDs and NORs, usually) is more of an art… you usually kick your formulas and factor them until you find a common part. This is one of the reason that FPGAs use LUT tables instead of gate arrays like the CPLDs do. Mar 12 at 9:08
• @jonk Thank you for your replies. I have tried to implement your solution, but it's not quite working out for me. Here's what I got when trying to display the number 4. I double checked that I followed your solution correctly, but I could be wrong. Mar 15 at 5:48
• @jonk How is throwing a schematic at someone supposed to help them understand the process of optimizing a design? Mar 21 at 21:38 