## Introduction: Basic Logic Gates

Logic gates are very important and they serve as the building blocks to digital logic circuits using combinational logic. We're going to consider the following gates: NOT gates (also called inverters), YES gates (also called buffer), AND gates, OR gates, NAND gates, NOR gates, XOR gates, and XNOR gates.

## Step 1: NOT and YES Gate

NOT gates or inverters have a single bit input and a single bit of output. This is a diagram of a NOT gate. It is a triangle with a circle on the right. The circle indicates:**negation. **YES gate symbol is without the circle indicates negation y its true table results are opposited to NOT gate.

## Step 2: AND Gate

AND gates have two bits of input and a single bit of output. The output of AND gate is 1 only if both inputs are 1. Otherwise, the output is 0. The function implmented by AND gates has interesting properties:

The function is symmetric. Thus, x * y == y * x. This can be verified by using truth tables. We use * to represent AND. The function is associative. Thus, (x * y) * z == x * (y * z). This can be verified by using truth tables.

## Step 3: OR Gate

OR gates have two bits of input and a single bit of output. The output of OR gate is 0 only if both inputs are 0. Otherwise, the output is 1. The function implemented by OR gates has interesting properties:

The function is symmetric. Thus, x + y == y + x. This can be verified by using truth tables. We use "+" to represent OR. The function is associative. Thus, (x + y) + z == x + (y + z). This can be verified by using truth tables.

## Step 4: NAND Gate

NAND gates have two bits of input and a single bit of output. The output of NAND gate is the negation of AND. The function implemented by NAND gates have interesting properties: The function is symmetric. Thus, x NAND y == y NAND x. This can be verified by using truth tables.

## Step 5: NOR Gate

OR gates have two bits of input and a single bit of output. The output of NOR gate is the negation of OR. The function implmented by NOR gates has interesting properties: The function is symmetric. Thus, x NOR y == y NOR x. This can be verified by using truth tables. The function is not associative. This can be verified by using truth tables.

## Step 6: XOR Gate

XOR gates have two bits of input and a single bit of output. The output of XOR gate is 1 only if the inputs have opposite values. That is, when one input has value 0, and the other has value 1.. Otherwise, the output is 0. This is called exclusive-or. The function implmented by XOR gates has interesting properties: The function is symmetric. Thus, x (+) y == y (+) x. This can be verified by using truth tables.

## Step 7: XNOR Gate

XNOR gates have two bits of input and a single bit of output. The output of XNOR gate is the negation of XOR and has 1 when both inputs are the same. The function implmented by XNOR gates has interesting properties: The function is symmetric. Thus, x XNOR y == y XNOR x. This can be verified by using truth tables.