2.4 KiB
ECE 124: Digital Circuits
Base / radix conversion
Please see ECE 150: C++#Non-decimal numbers for more information.
Binary logic
A binary logic variable is a variable that has exactly two states:
- 0, or false (switch open)
- 1, or true (switch closed)
Binary logic functions are any function that satisfies the following type signature:
= Callable[[bool | BoolFunc, ...], bool] BoolFunc
In other words:
- it must accept a number of booleans and/or other logic functions, and
- it must return exactly one boolean.
These can be expressed via truth table inputs/outputs, algebraically, or via a logical circuit schematic.
Logical operators
Operator precedence is () > NOT > AND > OR.
The AND operator returns true if and only if all arguments are true.
\[A\cdot B \text{ or }AB\]
(Source: Wikimedia Commons)
The OR operator returns true if and only if at least one argument is true.
\[A+B\]
(Source: Wikimedia Commons)
The NOT operator returns the opposite of its singular input.
\[\overline A \text{ or } A'\]
(Source: Wikimedia Commons)
Postulates
In binary algebra, if \(x,y,z\in\mathbb B\) such that \(\mathbb B=\{0, 1\}\):
The identity element for AND \(1\) is such that any \(x\cdot 1 = x\).
The identity element for OR \(0\) is such that any \(x + 0 = x\).
In this space, it can be deduced that \(x+x'=1\) and \(x\cdot x'=0\).
De Morgan’s laws are much easier to express in boolean algebra, and denote distributing a negation by flipping the operator:
\[ (x\cdot y)'=x'+y' \\ (x+y)=x'\cdot y' \]
Please see ECE 108: Discrete Math 1#Operator laws for more information.
The synthesis of an algebraic formula represents its implementation via logic gates. In this course, its total cost is the sum of all inputs to all gates and the number of gates, excluding initial inputs of “true” or an initial negation.
In order to deduce an algebraic expression from a truth table, OR all of the rows in which the function returns true and simplify.