CS 120 midterm
Hierarchy
A system divided into modules/submodules
!B0 * !B1 * !B2 =
!B0 + !B1 + !B2
(B*C) + (!B*D) + (C*D) =
(B*C) + (!B*D)
code to run
./*name*
B * !B =
0
B * 0 =
0
B + !B =
1
B + 1
1
Discipline
Intentionally restricting design choices
2^30
about 1 billion
2^20
about 1 million (act 1,048,576)
2^10
about 1000 (actually 1024)
Register
bank of D Flip Flops, Used in finite state machines
code to compile
gcc *name*.c -o *name*
program used to remote access terminal
ssh
AND Gate
x y 0 0 0 0 1 0 1 0 0 1 1 1
XOR Gate
x y 0 0 0 0 1 1 1 0 1 1 1 0
OR Gate
x y 0 0 0 0 1 1 1 0 1 1 1 1
NOR Gate
x y 0 0 1 0 1 0 1 0 0 1 1 0
XNOR Gate
x y 0 0 1 0 1 0 1 0 0 1 1 1
NAND Gate
x y 0 0 1 0 1 1 1 0 1 1 1 0
(B*C) + (B*!C) =
B
B * (B+C) =
B
B * 1 =
B
B * B =
B
B + 0 =
B
B + B =
B
(B * C) * D =
B * (C * D)
(B*C) + (B*D) =
B * (C+D)
(B + C) + D =
B + (C + D)
Bistable circuit
Building block for other state elements (no inputs)
Regularity
Encouraging uniformity, so modules can be reused
Modularity
Having well defined functions and interfaces
Abstraction
Hiding details that aren't important
D Flip-Flop
Holds next value on edge, when clock goes from 0-1, the circuit lets out internal and takes in next, closing right away and now holding new value with next new value outside
Decoder
N inputs, 2^N outputs but only one output on at a time
Multiplexer (Mux)
Selects one of N inputs to connect to output
SR (set/reset) Latch
Stores one bit of state (Q), S & R control what's being stored
D Latch
Stores one value on the inside (D), when clock goes from 0 to 1, D goes through Q (transparent), otherwise holds value of D (opaque)
