<font face="Dejavu Sans"/> # ItC Week 3~4 - Boolean Logic ###### tags: `Intro_to_Comp` - ## Introduction - Specifications for time(clock) - ## Logic Circuits - Combiniational Logic - memoryless - output instantly be effected by current inputs - Sequential Logic - has memory - output be effected by current & previous inputs - Combinational Compositions - every element is combinational - no cyclic path - every node is either an input or connect to exactly 1 output - ## Boolean Equation - Half Adder - Truth Table - $+ \rightarrow or$ - $\cdot \rightarrow and$ - Sum-of-Products(SOP) Form - all equations can be written in SOP form - solution is guaranteed but not optimized - Producto-of-Sum(POS) Form - similar to SOP, solution is guaranteed but not optimized - ## Boolean Algebra - Idendity Theorem - $B \cdot 1 = B$ - $B + 0 = B$ - Null Element Theorem - $B \cdot 0 = 0$ - $B + 1=1$ - Idempotency Theorem - $B \cdot B = B$ - $B + B = B$ - Involution Theorem - $\overline{\overline B}=B$ - Complement Theorem - $B \cdot \overline B = 0$ - $B + \overline B = 1$ - ## Boolean Theorems of Several Variables - Commutativity(交換律) - Associativity(結合律) - Distributivity(分配律) - Covering - Consensus(共識) - De Morgan's Theorem - $\overline {ABCD}=\overline A+\overline B+\overline C+\overline D$ - $\overline {A+B+C+D} = \overline A \cdot \overline B \cdot \overline C \cdot\overline D$ - Bubble Pushing - start pushing from output, then work towards input - ## From Logic to Gates - Circuit Schematics - inputs on left(or top) - outputs on right(or bottom) - gates flow from left to right - straight wires are preferred - Contention - marked as "X" - circuit tries to drive output to 1 and 0 - Tristate Buffer | E | A | Out | | -- | - | --- | | 0 | 0 | Z | | 0 | 1 | Z | | 1 | 0 | 0 | | 1 | 1 | 1 | - Busses - connect different components in a computer(CPU, GPU, RAM etc.) - only one device is active at once - tristate buffers are commonly used here - ## K-Maps - Features - Minimize boolean equations graphically by combining terms - $PA+P\overline A=P$ - Can handle up to 4 inputs - Rules - Bit order in (00, 01, 11, 10), so that adjacent rows/ columns only differ in 1 bit - Every 1 must be "circled" at least once (can be more than once) - Each circle must span $2^x$ squares in each direction - Each circle must be as large as possible - A "don't care" is only cirlced when it helps minimizing the equation - The map can be transform in to a torus(donut shape) - ## Combinaitonal building blocks - Multiplexer - Select between one of $N$ inputs to output - $log_2 N$-bits select input - Implementation - Logic gates - Tristates - 4:1 Mutiplexer implementation - Logic gates - Tristates - 2:1 multiplexer - Application - As a look up table - ~~Just plug it in(TM)~~ - Decoder - $N$ inputs, $2^N$ outputs - Only outpt HIGH on one output - Example - memory locator (input = address, output = physical memory) {%hackmd BJrTq20hE %}