VLSI UPDATES - Implementation of logic gates using Multiplexer

 

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - US

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - IN

Why multiplexers are used to implement logic gates in ASIC/FPGA:

Multiplexers (also called MUXs) are often used to implement logic gates in ASIC/FPGA design because they are versatile, efficient, and can be easily configured to perform a wide range of logic functions. Here are some reasons why multiplexers are commonly used in digital logic design:

1. Flexibility: 

Multiplexers can be configured to perform a wide range of logic functions, including AND, OR, NOT, XOR, and more complex functions such as adders and comparators.

2. Space Efficiency:

Using multiplexers to implement logic gates can save space in ASIC/FPGA designs, since a single MUX can replace multiple gates. This can be particularly important in designs with limited space of power constraints.

3. Performance: 

Multiplexers can be faster than other logic gate implementations since they have fewer levels of logic between the inputs and the outputs, reducing delay and improving overall performance.

4. Ease of Implementation: 

Multiplexers can be easily implemented using simple combinational logic, making them straightforward to design and integrate into larger digital systems.

In summary, multiplexers are a versatile and efficient tool for implementing logic gates in ASIC/FPGA designs, and they can offer significant advantages in terms of space efficiency, performance, and ease of implementation.

PLEASE CLICK HERE ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - US

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - IN

Logic Gates:

           * AND

           * OR

           * NOT

           * NAND

           * NOR

           * XOR

           * XNOR

Implementation of AND gate using multiplexer:

An AND gate is a digital logic gate that produces a high output only if all its inputs are high. The truth table is shown below.

A multiplexer (MUX) is a digital circuit that selects one of its input signals and passes it to the output based on the value of its control inputs. 

The below shows the symbol (AND gate and 2 to 1 mux) and the truth table of AND gate:


The data input of AND gate A is connected to the select input and data input 0 of the multiplexer. 

The data input of AND gate B is connected to the data input 1 of the multiplexer.

If the select input A is 0, then the output is always low 0.

If the select input A is 1, then the output is data input 1.

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - US

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - IN

Implementation of OR gate using multiplexer:

The below shows the symbol (OR gate and 2 to 1 mux) and the truth table of OR gate:


The data input of OR gate A is connected to the select input of the multiplexer. 

The data input of OR gate B is connected to the data input 0 of the multiplexer.

If the select input A is 0, then the output is data input 0.

If the select input A is 1, then the output is data always high 1.

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - US

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - IN

Implementation of NOT gate using multiplexer:

The below shows the symbol (NOT gate and 2 to 1 mux) and the truth table of NOT gate:


The data input of NOT gate X is connected to the select input of the multiplexer. 

If the select input X is 0, then the output is connected to constant 1.

If the select input X is 1, then the output is connected to constant 0.

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - US

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - IN

Implementation of NAND gate using multiplexer:

The below shows the symbol (NAND gate and 2 to 1 mux) and the truth table of NAND gate:


The data input of NAND gate A is connected to the select input of the multiplexer. 

The data input of NAND gate B is inverted and connected to the data input 1 of the multiplexer.

If the select input A is 0, then the output is connected to constant 1,

If the select input A is 1, then the output is data input 1.

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - US

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - IN

Implementation of NOR gate using multiplexer:

The below shows the symbol (NOR gate and 2 to 1 mux) and the truth table of NOR gate:


The data input of NOR gate A is connected to the select input of the multiplexer. 

The data input of NOR gate B is inverted and connected to the data input 0 of the multiplexer.

If the select input A is 0, then the output is connected to data input 0.

If the select input A is 1, then the output is connected to constant 0.

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - US

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - IN

Implementation of XOR gate using multiplexer:

The below shows the symbol (XOR gate and 2 to 1 mux) and the truth table of XOR gate:


The data input of XOR gate A is connected to the select input of the multiplexer. 

The data input of XOR gate B is connected to the data input 0 of the multiplexer.

The data input of XOR gate B is inverted and connected to the data input 1 of the multiplexer.

If the select input A is 0, then the output is connected to data input 0.

If the select input A is 1, then the output is connected to data input 1.

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - US

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - IN

Implementation of XNOR gate using multiplexer:

The below shows the symbol (XNOR gate and 2 to 1 mux) and the truth table of XNOR gate:


The data input of XNOR gate A is connected to the select input of the multiplexer. 

The data input of XNOR gate B is inverted and connected to the data input 0 of the multiplexer.

The data input of XNOR gate B is connected to the data input 1 of the multiplexer.

If the select input A is 0, then the output is connected to data input 0.

If the select input A is 1, then the output is connected to data input 1.

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - US

PLEASE CLICK ON THIS LINK TO GET RTL DESIGN PRACTICE GUIDE - IN


Comments

Popular posts from this blog

RTL Design Practice Guide I - Sequential Logic - D Latch

RTL Design Practice Guide I - Sequential Logic - D flip-flop

The best FPGA materials for beginners