Chapter 1. Logic Gates

Properties

๐Ÿ“2023.08.28

Boolean Logic


Boolean Functions

f(x,y,z) = (x AND y) OR (NOT(x) AND z)
  • Commutative Laws : ๊ตํ™˜ ๋ฒ•์น™

    ๐Ÿ‘‰ xยทy=yยทx

    x+y=y+x

    AND๋‚˜ OR ์—ฐ์‚ฐ์—์„œ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ๋”๋ผ๋„ ๊ทธ ๊ฒฐ๊ณผ๋Š” ๊ฐ™๋‹ค. ์ฆ‰, 0ยท1=1ยท0์ด๊ณ , 0+1=1+0

  • Associative Laws : ๊ฒฐํ•ฉ ๋ฒ•์น™

    ๐Ÿ‘‰ xยท(yยทz)=(xยทy)ยทz x+(y+z)=(x+y)+z

    ๊ตํ™˜ ๋ฒ•์น™๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ผ๋ฐ˜ ์ˆ˜ํ•™์—์„œ์˜ ๊ทœ์น™๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•ž๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์—ฐ์‚ฐํ•˜๊ฑฐ๋‚˜, ๋’ค๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์—ฐ์‚ฐํ•œ๋‹ค๊ณ  ํ•ด์„œ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€์ง€๋Š” ์•Š๊ฒ ์ฃ .

  • Distributive Laws : ๋ถ„๋ฐฐ๋ฒ•์น™

    ๐Ÿ‘‰ 13 - xยท(y+z)=xยทy+xยทz 14 - x+yยทz=(x+y)ยท(x+z)

    ๋ถ„๋ฐฐ ๋ฒ•์น™๋„ ์ผ๋ฐ˜ ์ˆ˜ํ•™์„ ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ์ง€๋งŒ, ์กฐ๊ธˆ ๋‹ค๋ฅธ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋‹จ 13๋ฒˆ ๋ฒ•์น™์€ ์šฐ๋ฆฌ๊ฐ€ ์•Œ๋˜ ๋ถ„๋ฐฐ ๋ฒ•์น™์ด๋ผ ์–ด๋ ค์šธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” 14๋ฒˆ์ธ๋ฐ์š”, ์ฐธ ์ด์ƒํ•˜๊ฒŒ๋„ +์— ๋ถ„๋ฐฐ ๋ฒ•์น™์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ฐ˜ ๋Œ€์ˆ˜์—์„œ๋Š” ์„ฑ๋ฆฝํ•˜์ง€ ์•Š์ง€๋งŒ ๋ถˆ ๋Œ€์ˆ˜์—์„œ๋งŒ ์„ฑ๋ฆฝํ•˜๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

    ์•„๋ž˜์—์„œ ๋‚˜์˜ฌ ๋“€์–ผ ํผ์œผ๋กœ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜์ง€๋งŒ, ์šฐ๋ณ€์˜ ์‹์„ ๊ทธ๋Œ€๋กœ ์ „๊ฐœํ•ด๋ณด์•„๋„ ์„ฑ๋ฆฝํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (x+y)ยท(x+z)=xx+xy+xz+yz์ด๊ณ , ์ด๋Š” ๋‹ค์‹œ x(1+y+z)+yz๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๊ณ , 1+y+z=1์ด๋ฏ€๋กœ x+yยทz๊ฐ€ ๋˜์–ด ์ฐธ์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • De Morgan Laws : ๋“œ๋ชจ๋ฅด๊ฐ„ ๋ฒ•์น™

    ๐Ÿ‘‰ (xยทy)'=x'+y' (x+y)'=x'ยทy'

    ๋“œ ๋ชจ๋ฅด๊ฐ„ ๋ฒ•์น™์€ ์•„๋งˆ ์ง‘ํ•ฉ์„ ๊ณต๋ถ€ํ•˜์…จ๋‹ค๋ฉด ๋‹ค๋“ค ์ต์ˆ™ํ•˜์‹ค ํ…๋ฐ์š”, ๊ทธ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋…ผ๋ฆฌ์‹ ์ „์ฒด์— ๋ถ€์ • ์—ฐ์‚ฐ์„ ํ•  ๊ฒฝ์šฐ, ๊ฐ ๋ณ€์ˆ˜์— NOT ์—ฐ์‚ฐ์„ ํ•˜๊ณ , AND -> OR, OR -> AND ์—ฐ์‚ฐ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ถ€์šธ๋Œ€์ˆ˜ (Boolean Algebra)

์ž„์˜์˜ ํšŒ๋กœ์—์„œ ์ผ๋ จ์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์žฅ ์ตœ์ ์˜ ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•˜๋Š” ์ˆ˜์‹์  ํ‘œํ˜„ ๋ฐฉ๋ฒ•

๐Ÿ’ก NOT(NOT(x) AND NOT(x OR y))

  1. NOT(NOT(x) AND (NOT(x) AND NOT(y)))

    • ๋ถ„๋ฐฐ ๋ฒ•์น™ (Distributive Laws) ์ ์šฉ๋˜์–ด NOT(x OR y) โ†’ (NOT(x) AND NOT(y)

  2. NOT((NOT(x) AND NOT(x)) AND NOT(y))

    • ๊ฒฐํ•ฉ ๋ฒ•์น™ (Associative Laws) ์— ์˜ํ•ด NOT(x) AND (NOT(x) โ†’ (NOT(x) AND NOT(x)

  3. NOT(NOT(X) AND NOT(y))

    • ๋ฉฑ๋“ฑ ๋ฒ•์น™ (Idempotence) ์— ์˜ํ•ด NOT(x) AND NOT(x) โ†’ NOT(X)

  4. NOT(NOT(x)) OR NOT(NOT(y))

    • ์ด์ค‘ ๋ถ€์ • ๋ฒ•์น™ (Double Negation Law) ์— ์˜ํ•ด x OR y ๋กœ ๊ฐ’์ด ๋ณ€ํ•˜๊ฒŒ๋œ๋‹ค.

๋…ผ๋ฆฌ๊ฒŒ์ดํŠธ ์ฐธ๊ณ  ์ž๋ฃŒ

Boolean Functions Synthesis

ํ•จ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ๋ฅผ ํ†ตํ•ด Truth Table์„ ๋งŒ๋“ ๋‹ค. ์ด ๋•Œ, ๊ฐ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ž…๋ ฅ ํ•˜๊ณ  ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ ๊ฐ’์ด ์ •ํ•ด์กŒ๋‹ค๋ฉด ๋‹น์‹ ์€ ๋…ผ๋ฆฌ๊ฒŒ์ดํŠธ๋ฅผ ์ž‘์„ฑ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

Hardware Description Language

HDL๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋ฉด ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ ๊ตฌํ˜„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹น์‹ ์˜ ๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ ๊ธฐ๋Šฅ์„ ์ •์˜ ํ•˜๊ณ , Truth table์„ ๋งŒ๋“ค์–ด input๊ณผ output์„ ํ‘œํ˜„ ํ•ด์•ผํ•œ๋‹ค.

๋‹น์‹ ์ด ๋งŒ๋“  ๋…ผ๋ฆฌ๊ฒŒ์ดํŠธ์˜ ๋‹ค์ด์–ด๊ทธ๋žจ๊ณผ ํ‘œ๋ฅผ ๋งŒ๋“ค๋ฉด ์ด ์นฉ์ด ์–ด๋–ค ์ผ์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

HDL๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ ๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ์— ๋Œ€ํ•œ ์ด๋ฆ„, input, output์„ ๋ชจ๋‘ ์„ค์ • ํ•ด์ค˜์•ผํ•œ๋‹ค. ์ด ๊ฒƒ์„ ๊ฒŒ์ดํŠธ ์ธํ„ฐํŽ˜์ด์Šค๋ผ๊ณ  ํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ๊ฒŒ์ดํŠธ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋งŒ์•ฝ ์ž˜ ๊ตฌ์ถ• ๋˜์—ˆ๋‹ค๊ณ  ํ•˜๊ณ , ๋‚จ์—๊ฒŒ ์ฃผ์—ˆ๋‹ค๊ณ  ๊ฐ€์ • ํ•ด๋ณธ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋ฐ›๋Š” ์‚ฌ๋žŒ์ด ์‚ฌ์šฉ ํ•  ๋•Œ๋Š” output์ด ์–ด๋–ค ๊ฐ’์ธ์ง€๋งŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๊ฐ€ ์•Œ๋˜ ํ…Œ์ด๋ธ”๊ณผ๋Š” ๋‹ค๋ฅด๋ฉฐ, ์šฐ๋ฆฌ๋Š” ๊ทธ ๊ฒƒ์„ ๋ณด๊ณ  ๋…ผ๋ฆฌ๊ฒŒ์ดํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ ํ–ˆ๋Š”์ง€ ์œ ์ถ” ํ•  ์ˆ˜ ์žˆ๋‹ค.

Hardware Simulation

HDL ํ”„๋กœ๊ทธ๋žจ์€ ์™ธ๋ถ€ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์—์„œ ์ž‘์„ฑํ•œ ๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ ์ฝ”๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋ฉด output์˜ ๊ฐ’๊ณผ ์ง„ํ–‰ ์ƒํ™ฉ ๋“ฑ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ์„ ์–ธํ•œ ๊ฐ’์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ํ•จ์œผ๋กœ์จ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋””๋ฒ„๊น… ํ•˜๋“ฏ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Multi-bit Buses

ํ•œ ๊ฐœ์˜ ๋น„ํŠธ๊ฐ€ ์•„๋‹Œ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋น„ํŠธ์— ์ ‘๊ทผ ํ•˜๊ณ  ๊ทธ ์ ‘๊ทผ์ž๋Š” ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ๋•Œ ์ธ๋ฑ์Šค๋Š” ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ์ ‘๊ทผํ•œ๋‹ค. โ†’ 15, 14, 13, โ€ฆ 0

์ง€๊ธˆ ๊นŒ์ง€ 2๊ฐœ์˜ ์ข…๋ฅ˜์— ๋Œ€ํ•ด์„œ ๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ๊ตฌ์„ฑ ํ–ˆ์ง€๋งŒ ์ด๋ ‡๊ฒŒ ๋น„ํŠธ๋ฅผ ์ด์šฉ ํ•˜์—ฌ ์„ธ๊ฐ€์ง€ ์ธํ’‹์ด ์žˆ๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์€ ์‚ฌ์ง„ ์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฐ์‚ฐ ๊ณผ์ •์€ a์™€ b์— ๋Œ€ํ•ด ์šฐ์„  ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌ ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ ๊ฐ’์„ ์ž„์‹œ ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค.

์ž„์‹œ ๋ณ€์ˆ˜์— ์ €์žฅ ๋œ ๊ฐ’์„ ๋งˆ์ง€๋ง‰ c(third) ๊ฐ’๊ณผ ์—ฐ์‚ฐ์„ ํ•˜๋ฉฐ ์ตœ์ข… out ๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค.

์„œ๋ธŒ ๋ฒ„์Šค๋กœ ๋ฉ€ํ‹ฐ ๋น„ํŠธ ๋ฒ„์Šค ๊ด€๋ฆฌํ•˜๊ธฐ

  1. ๋ถ€ํ’ˆ์˜ ์ถœ๋ ฅ ๋ฒ„์Šค์— ์„œ๋ธŒ ๋ฒ„์Šค ์˜ค๋ฒ„๋žฉ ํ—ˆ์šฉ๋จ

  2. ๋‚ด๋ถ€ ํ•€์˜ ๋„ˆ๋น„๊ฐ€ ์ž๋™์œผ๋กœ ์ถ”๋ก ๋จ

  3. "False" ๋ฐ "True"๋Š” ๋ชจ๋“  ํญ์˜ ๋ฒ„์Šค๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

Project 1 Overview

์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๊ฐœ๋…์œผ๋กœ ๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ๊ตฌํ˜„ ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ํ•˜๋Š” ๋ฐ ์žˆ์–ด ์ถ”๊ฐ€์ ์œผ๋กœ ํ•„์š”ํ•œ ๊ฐœ๋…์„ ํ•™์Šตํ•œ๋‹ค.

  • ๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ

  • ๋””๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ

Multiplexor

๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ๋Š” ๊ฒŒ์ดํŠธ์ด๋ฉฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘๋™ํ•œ๋‹ค.

name: Mux

input: a, b, sel

output: out

โ†’ sel์˜ ๊ฐ’์— ์˜ํ•ด ์ถœ๋ ฅ ๊ฐ’์ด ๋ณ€ํ•˜๋Š” ํ˜•ํƒœ๋กœ, sel์ด false ์ผ ๋•Œ๋Š” a์˜ ๊ฐ’, true ์ผ ๋•Œ b์˜ ๊ฐ’์œผ๋กœ ์ถœ๋ ฅ

Demultiplexor


์•ž์„œ mux์˜ ์—ญ์ˆœ์ด๋ฉฐ, ๋‹จ๋ฐฉํ–ฅ output์ด ์•„๋‹Œ ๋‘ ๊ฐœ์˜ ๊ฐ’์ด ๋ฆฌํ„ด๋˜๋Š” ํ˜•ํƒœ์ด๋‹ค.

mux์™€ ๋™์ž‘์€ ๋น„์Šทํ•˜๊ฒŒ sel์˜ ๊ฐ’์— ์˜ํ•ด ์ถœ๋ ฅ ๊ฐ’์„ ๊ฒฐ์ •ํ•˜๋Š” ํ˜•ํƒœ๋กœ, 0์ผ ๋•Œ in์˜ ๊ฐ’, 0์ด ๋ฆฌํ„ด ๋˜๊ณ  1์ผ ๋•Œ 0, in์˜ ๊ฐ’์œผ๋กœ ๋ฆฌํ„ด ๋˜์–ด a, b๋กœ ๊ฐ’์„ ํ• ๋‹นํ•œ๋‹ค.

AND 16 - bit buses

์ž…๋ ฅ ๋ฐ›์€ 16๋น„ํŠธ์˜ ๊ฐ’์„ ์„œ๋กœ AND gate logic์— ์˜ํ•ด ๊ฒฐ๊ณผ ๊ฐ’์„ ๋„์ถœ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

16-bit, Multiplexor 4-way


Input

  • a[16]

  • b[16]

  • c[16]

  • d[16]

  • 2๊ฐœ์˜ select

Last updated