JavaScript promise rejection: Loading CSS chunk katex failed. (error: https://git.47c.in/assets/css/katex.faca27c4.css). Open browser console to see more details. (77)
Files
.obsidian
.stfolder
IT
education
calculus
computer engineering
ECE1400
ECE1410
ECE2700
Verilog
assets
Adders.md
Binary Logic.md
Digital Hardware.md
Karnaugh Maps.md
Sequential Circuits.md
english
Ohm's Law.md
math
nutrition
statistics
notes
personal
software
..gitignore.un~
.gitignore
.gitignore~
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}