Created Wednesday 26 February 2020
Now we are doing logic gate stuff.
Boolean algebra is a mathematical system...
AND
Boolean product
OR
Boolean sum
NOT
Reverses the value
Boolean function has at least:
- one boolean variable
- one boolean operator
- one input from the set {0,1}
it produces an output that is also a member of that set {0,1}
Truth Tables (let n
1
indicate prime)
F(x, y, z) = xz1 + y
There is priority with our operators
NOT takes priority
- Digital computers contain circuits that implement Boolean functions.
- The simpler that we can make a Boolean function, the smaller the circuit that will result.
- With this in mind, we always want to reduce our Boolean functions to their simplest form.
- There are a number of Boolean identities that help us to do this.
Most Boolean identities have an AND (product) form as well as an OR (sum) form. We give our identities using both forms
He's going over different laws. I didn't write them all down so some are missing
Absorption Law
Demograns Law
F(x, y, z) = xy + x1z + yz
With the various identities (as we did in discrete mathematics) we can simplify this expression!
In fact, we get just xy + x1z. As such, the third component y was completely unneeded. If we were building this as an actual circuit gate then we'd be wasting with the original function.
DeMorgans law is badass. It's sometimes more economical to build a circuit using the complement of a function (and complementing its result) than it is to implement the function directly.
DeMorgans can be extended to any number of variables. Replace each variable by its complement and change all ANDs to ORs and all ORs to ANDs.
Thus, we find the following complement:
F(x, y, z) = (xy) + (x1y) + (xz1)
Synominous forms are logically equivalent.
There are two canonical forms for Boolean expressions: sum-of-products and product-of-sums.
xy + xz + yz is sum of products.
(x + y) * (x + z) * (y + z) is product of sums.
How do we create a sum-of-products?
Note, there are special symbols we use for OR, AND, etc. Memorize what they look like!
XOR or Exclusive OR
One or the other but not both
0 0 0
0 1 1
1 0 1
1 1 0
NAND and NOR are two very important gates
Easy to manufacture and whatnot.
NAND (a negated AND function)
0 0 1
0 1 1
1 0 1
1 1 0
NOR (negated OR function)
0 0 1
0 1 0
1 0 0
1 1 0
NAND and NOR are known as universal gates because they are inexpensive to manufacture.
Any boolean function can be constructed using only NAND or only NOR gates.
Two NAND gates get us an AND gate.
NOT takes up a single gate
OR is made up of three gates.
Gates can have multiple inputs and more than one output
He is now showing us logisim.
I had to download a jar. It's not in the deb repo
Using project->analyze logic gives us a nice little truth table of our circuit
For homework
He wants us to export the logisim thing as a .jpg. Then upload that to BlackBoard for homework