Chapter 4: Combinational Logic with MSI and LSI
Introduction to MSI and LSI Components
Medium Scale Integration (MSI) and Large Scale Integration (LSI) components are pre-designed, pre-tested combinational logic circuits available as integrated circuits. Instead of building circuits from basic gates, engineers use these components as building blocks, dramatically simplifying design and reducing implementation time. Understanding these components and their applications is essential for practical digital design.
1. Adders
Half Adder
The half adder adds two single bits (A and B) and produces a sum (S) and carry (C). Truth table: 0+0=0 (no carry), 0+1=1, 1+0=1, 1+1=10 (sum=0, carry=1). Boolean expressions: S = A XOR B, C = A AND B. It's called "half" because it doesn't account for a carry-in from a previous addition.
Full Adder
The full adder handles a carry-in (Cin) in addition to two input bits. Outputs are sum (S) and carry-out (Cout). With three inputs, the truth table has 8 rows. Boolean expressions: S = A XOR B XOR Cin, Cout = (A AND B) + (Cin AND (A XOR B)). A full adder can be constructed from two half adders plus an OR gate.
Ripple Carry Adder
To add multi-bit numbers, cascade full adders: the carry-out of one stage becomes the carry-in of the next. For adding two 4-bit numbers, use four full adders in series. The limitation: the carry must "ripple" through all stages, causing delays. The carry-out of stage 1 doesn't stabilize until the propagation delay of stage 1 plus the setup time of stage 2, continuing through all stages.
Carry Lookahead Adder
Ripple carry delays become significant with many bits. Carry lookahead predicts carry signals in advance, reducing delay. The lookahead unit generates all carries simultaneously based on the inputs, rather than waiting for them to propagate. Modern fast adders use carry lookahead techniques.
2. Multiplexers (Data Selectors)
Concept and Function
A multiplexer selects one of many input lines and routes it to a single output, based on a select signal (address). A 2:1 mux has 2 inputs and 1 select line. A 4:1 mux has 4 inputs and 2 select lines (2^2). An 8:1 mux has 8 inputs and 3 select lines. Boolean expression for a 2:1 mux: Y = (A · S') + (B · S), where S is the select line.
Applications
Multiplexers are used in data routing, function selection, and implementing logic functions. They can also be cascaded: multiple smaller muxes feed into a larger mux to handle more inputs.
3. Decoders
Concept and Function
A decoder converts an n-bit input into 2^n mutually exclusive outputs. Only the output corresponding to the input code is 1; all others are 0. A 2:4 decoder (2 inputs, 4 outputs) has outputs Y0 through Y3. If inputs AB = 10 (binary 2), only Y2 is 1.
Truth Table Example
For a 2:4 decoder with inputs A and B: when AB=00, Y0=1 (others 0); when AB=01, Y1=1; when AB=10, Y2=1; when AB=11, Y3=1. Each output is the minterm of the corresponding combination.
Applications
Decoders are used for address decoding in memory systems, enabling one specific memory location to be selected. They're also used for control signal generation and output selection in digital systems.
4. Encoders
Concept and Function
An encoder does the reverse of a decoder: it converts 2^n input lines (typically, only one active at a time) into an n-bit output code. A 4:2 encoder has 4 inputs and 2 outputs. If input Y2 is active, the output is 10 (binary 2).
Priority Encoders
In practice, multiple inputs might be active simultaneously. A priority encoder handles this by assigning priorities: the output corresponds to the highest-priority active input. This is common in interrupt handling systems.
5. BCD to 7-Segment Decoder
7-Segment Display Basics
A 7-segment display has seven LEDs arranged to form digit shapes. Segments are labeled a through g. To display different digits (0-9), specific segments are lit. For example, to display "0", segments a, b, c, d, e, f are lit (segment g is off).
Decoder Function
The BCD to 7-segment decoder takes a 4-bit BCD input (0000 to 1001 for digits 0-9) and produces 7 outputs (one for each segment). The decoder's truth table defines which segments light for each digit. This is a standard MSI component available as IC 7447 or similar.
Practical Application
Digital clocks, counters, and displays all use BCD to 7-segment decoders to convert binary-coded decimal numbers into human-readable digit displays.
6. Read-Only Memory (ROM)
What is ROM?
ROM is a device with fixed, pre-programmed data. It has address inputs and data outputs. When you apply an address, the corresponding stored data appears on the outputs. ROMs are used to store lookup tables, character fonts, microcode, and permanent program data.
ROM as a Logic Implementer
Any combinational logic function can be implemented as a ROM: program the ROM so that for each input combination (address), the output (stored data) is the correct function value. This provides a universal implementation method for any function.
ROM Specifications
ROMs are specified by address width and data width. A 256 × 8 ROM has 8 address lines (256 addresses) and 8 data output lines. The total storage capacity is 256 × 8 = 2048 bits.
7. Programmable Logic Array (PLA)
What is a PLA?
A PLA is a flexible logic device with programmable AND and OR arrays. Unlike ROM (which implements any truth table by exhaustively storing all values), a PLA implements more efficiently by using minimal logic. It's more space-efficient than ROM for functions with few minterms or maxterms.
PLA Structure
A PLA has input lines, AND gates (programmable), and OR gates (programmable). You program the AND array to form product terms, and the OR array to form sums of these terms. This flexibility makes PLAs valuable for implementing multiple logic functions with minimal hardware.
PLA vs. ROM
For simple functions with few minterms, PLA is more efficient. For complex functions or when implementing many functions simultaneously, ROM might be more practical. ROMs are simpler to design (just a lookup table), while PLAs require optimization.
8. Practical Design Considerations
Fan-in and Fan-out
Gate inputs (fan-in) and outputs (fan-out) have limits. Exceeding these limits causes voltage degradation and timing issues. When designing with MSI components, pay attention to signal distribution and buffering.
Power Consumption
Different logic families consume different amounts of power. CMOS is typically low-power but has slower switching than TTL. Modern designs often use low-power CMOS variants.
Speed vs. Area Trade-off
Faster circuits often consume more area and power. Designers must balance these trade-offs based on application requirements.
Conclusion
MSI and LSI components—adders, multiplexers, decoders, encoders, ROMs, and PLAs—are the building blocks of modern digital design. Understanding their functions, limitations, and applications transforms you from a circuit designer into a systems designer. Real-world designs combine these components hierarchically, each performing specific functions within the larger system.