Seven-segment displays (7sd) are typically used in watches, calculators, and instruments to display decimal data. By lighting up a specified pattern of 7 LEDs, this type of decoder can create numbers 0-9 for digital display.
Seven-segment displays (7sd) are some of the most common electronic display devices in use. They can be used to display any decimal digit by illuminating particular segments and leaving other segments dark. 7sd devices are constructed from seven LEDs that have been arranged in a figure “8” pattern as shown in Fig. 1 below. These LEDs function identically to the individual LEDs—they emit light when a small current passes through them. The 7sd device can display a particular digit if certain LED segments are illuminated while others remain dark. As examples, if only segments b and c are illuminated, then the display will show a '1', and if segments a, b, and c are illuminated, then the display will show a “7”. To cause an illuminating current to flow through any given LED segment, a logic signal must be impressed across the segment LED. In a typical 7sd circuit, a current-limiting resistor is placed on the cathode lead, and a transistor is used on the anode lead to provide additional current (most signal pins on digital ICs—like the FPGA on the Digilent® board—cannot provide enough current to light all of the display segments, so a transistor is used to provide more current).
In order for all ten decimal digits to be displayed, a 7sd device requires seven logic signals, one for each segment. By asserting particular combinations of these signals, all ten decimal digits can be displayed.
The Digilent board uses a common anode display, which means that all of the anode connections for a given digit are tied together into a common circuit node, as shown below in Fig. 2. To illuminate a given segment in a given digit, a '1' must be applied to the digit's anode, and '0' must be applied to the segment's cathodes (NOTE: With Digilent boards, a '1' is applied to a digit's anode by applying a '0' to the circuit node that drives the transistor; thus, the anode signals AN3–AN0 are “active low”).
A seven-segment decoder (SSD) receives four signals that represent the four bits of a binary number, and produces seven output signals that can drive the seven segments in the seven-segment display. Thus, for example, if “0000” is input to the SSD, all outputs except “g” should be asserted (to cause a '0' to be displayed on the 7sd). And if “1000” is input to the SSD, then all outputs should be asserted (to cause an “8” to be displayed). Typically, the input signals are named B3-B0, and the output signals are given a letter to indicate which segment they must drive (A-F). As discussed above, each of the seven outputs could be thought of as a separate 4-input logic design problem, and optimal circuits for each output could easily be found using the techniques developed in previous projects. In the project that accompanies this module, various methods will be used to optimize (or minimize) the system as a whole, considering all seven outputs at the same time. Figure 3 below shows the 7sd block diagram.