notes/education/computer engineering/ECE2700/Binary Logic.md
2025-01-14 18:32:16 -07:00

8.4 KiB

History of Boolean Algebra

  • In 1849, George Boole published a scheme for describing logical thought and reasoning
  • In the 1930s, Claude Shannon applied Boolean algebra to describe circuits built with switches
  • Boolean algebra provides the theoretical foundation for digital design

Properties of Boolean Algebra

Number Col. A Col. A Description Col. B Col. B Description
1. 0 \cdot 0 = 0 1 + 1 = 1
2. 1 \cdot 1 = 1 0 + 0 = 0
3. 0 \cdot 1 = 1 \cdot 0 = 0 1 + 0 = 0 + 1 = 1
4. if x = 0 then \overline{x} = 1 if x = 1 then \overline{x} = 0
5. x \cdot 0 = 0 x + 1 = 1
6. x \cdot 1 = x x + 0 = x
7. x \cdot x = x x + x = x
8. x \cdot \overline{x} = 0 $x + \overline{x} = 1
9. \overline{\overline{x}} = x
10. Commutative x \cdot y = y \cdot x x + y = y + x
11. Associative x \cdot (y \cdot z) = (x \cdot y) \cdot z x + (y + z) = (x + y) +z
12. Distributive x \cdot (y +z) = x \cdot y + x \cdot z x + y \cdot z = (x + y) \cdot (x + z
13. Absorption x + x \cdot y = x x \cdot (x + y) = x
14. Combining x \cdot y + x \cdot \overline{y} = x (x + y) \cdot (x + \overline{y}) = x
15. DeMorgan's Theorem \overline{x \cdot y} = \overline{x} + \overline{y} x + y = \overline{x} \cdot \overline{y}
16. x + \overline{x} \cdot y = x + y x \cdot (\overline{x} + y) = x \cdot y
17. Consensus x \cdot y + y \cdot z + \overline{x} \cdot z = x \cdot y + \overline{x} \cdot z (x + y) \cdot (y + z) \cdot (\overline{x} + z) = (x + y) \cdot (\overline{x} + z)

Synthesis

In the context of binary logic, synthesis refers to the act of creating a boolean expression that evaluates to match a given truth table.

This is done by creating a product term for each entry in the table that has an output of 1, that also evaluates to 1, then ORing each product term together and then simplifying.

Example:

Given the below truth table, synthesize a boolean expression that corresponds.

x_1 x_2 f(x_1, x_2)
0 0 1
0 1 1
1 0 0
1 1 1
  • f(0, 0) evaluates to true with the expression \overline{x}_1 \cdot \overline{x}_2
  • f(0, 1) evaluates to true with the expression \overline{x}_1\cdot x_2
  • f(1, 0) should provide an output of zero, so that can be ignored
  • f(1, 1) evaluates to true with the expression $x_1 \cdot x_2$ ORing all of the above expression together, we get:
 f(x_1, x_2) = \overline{x}_1\overline{x}_2 + \overline{x}_1 x_2 + x_1x_2 

\begin{multline}
= x_1x_2 \\
= x
\end{multline}

Logic Gates

NOT Gate

A binary NOT gate has a single input, and inverts that input (output is not the input).

Truth Table

x y
0 1
1 0

Mathematical Expression

A NOT operation is mathematically expressed using a bar:

 y = \bar{x} 

AND Gate

An AND gate will only output a 1 if both inputs are a one (input one and input two are enabled).

Truth Table

x_1 x_2 y
0 0 0
0 1 0
1 0 0
1 1 1

Mathematical Expression

An AND operation is mathematically expressed using a times symbol, or with no symbol at all:

 y = x_1 \cdot x_2 = x_1x_2

NAND Gate

A NAND gate outputs a 1 unless both inputs are enabled (input one and input two are not enabled).

Truth Table

x_1 x_2 y
0 0 1
0 1 1
1 0 1
1 1 0

Mathematical Expression

A NAND operation is mathematically expressed using a bar over an AND operation:

 y = \overline{x_1 \cdot x_2}

OR Gate

An OR gate outputs a 1 if either or both inputs are enabled (if input one or input two is enabled).

Truth Table

x_1 x_2 y
0 0 0
0 1 1
1 0 1
1 1 1

Mathematical Expression

A mathematical OR is notated with a + symbol.

 y = x_1 + x_2 

NOR Gate

A NOR gate outputs a one if neither gate is enabled.

Truth Table

x_1 x_2 y_1
0 0 1
0 1 0
1 0 0
1 1 0

Mathematical Expression

A NOR operation is expressed using a bar over an OR operation.

 y = \overline{x_1 + x_2} 

XOR Gate

An XOR gate is on if one input is enabled, but not both (exclusively one or the other).

Truth Table

x_1 x_2 y
0 0 0
0 1 1
1 0 1
1 1 0

Mathematical Expression

An XOR operation is expressed using a circle around an addition symbol:

 y = x_1 \oplus x_2 

XNOR Gate

An XNOR gate is on if neither input is enabled, or both inputs are enabled.

Truth Table

x_1 x_2 y
0 0 1
0 1 0
1 0 0
1 1 1

Mathematical Expression

An XNOR operation is expressed using a bar over an XOR operation:

 y = \overline{x_1 \oplus x_2}