Project: Optimal Circuit Synthesis with SAT · Seven-Segment Display

Lesson 1

Nikolai Chukhin · Alexander S. Kulikov

A seven-segment display represents a decimal digit using seven Boolean outputs. Four input bits encode a number from 0 to 15. For inputs 0 through 9, the outputs specify which segments are lit; inputs 10 through 15 are don't-cares and may produce any pattern.

Synthesizing each segment separately misses the main opportunity: intermediate functions can be shared by several outputs. A multi-output SAT encoding therefore adds variables selecting the source of each output, while keeping a single pool of gates.

The standard patterns, in segment order \(a,b,c,d,e,f,g\), are