Circuits Flashcards
A XOR B
OR with an extra curved line, symbol: circle with plus in it
True of only one of A or B is true
XOR in terms of 3 basic gates
A XOR B = (A+B) and not(A and B)
What is a functionally complete set of Boolean operators?
One which can be used to express all possible truth tables by combining them into a Boolean expression
Examples: AND+OR+NOT, NAND, NOR
Abstraction
Hiding details when they aren’t important
Discipline
Restricting design choices to make things easier to model, design and combine
What does a circuit have?
At least one input terminal, at least one output terminal
Specifies relationship between inputs and outputs
Has a specification of the delay between inputs changing and outputs responding
Combinatorial logic rules
Individual gates are combinatorial, all circuit elements are combinatorial, no cyclic paths
Turning a truth table into a sum of products
OR together the 1 values
X, Y, Z, F
0, 0, 0, 1
0, 0, 1, 0
0, 1, 0, 0
0, 1, 1, 1
F = (X’ . Y’ . Z’) + (X’ . Y . Z) + …
These are all minterms
Turning a truth table into a product of sums
AND together the zero values
X, Y, Z, F
0, 0, 0, 1
0, 0, 1, 0
0, 1, 0, 0
0, 1, 1, 1
F = (X + Y + Z’)(X + Y’ + Z)…
These are all maxterms
Axioms of boolean algebra
B = 0 if B != 1, B = 1 if B != 0 (binary field)
not(0) = 1, not(1) = 0
0.0 = 0, 1+1 = 1
1.1 = 1, 0+0 = 0
0.1 = 1.0 = 0, 1+0 = 0+1 = 1
Theorems of one variable
B.1 = B, B+0 = B (identity)
B.0 = 0, B+1 = 1 (null element)
B.B = B, B+B=B (idempotency)
not(not(B)) = B (involution)
B.not(B)=0, B+not(B) = 1 (complements)
Associativity
(B.C).D = B.(C.D)
(B+C)+D = B+(C+D)
Distributivity
B.(C+D) = B.C + B.D
B+(C.D) = (B+C).(B+D)
Covering
B.(B+C) = B
B+(B.C) = B
Combining
B.C + B.C’ = B
(B+C).(B.C’) = B
Consensus
B.C + B’.D + C.D = B.C + B’.D
(B+C).(B’+D).(C+D) = (B+C).(B’+D)
De Morgan’s
not(A.B.C.D…) = not(A)+not(B)+not(C)+not(D)+…
not(A+B+C+D+…) = not(A).not(B).not(C).not(D)….
Describe a half-adder
Output: Sum = A XOR B
Output: Carry = A AND B
1+1 = 0 with carry
Carry + 0 + 0 = 1
Carry + anything else = results in carry