โšก Circuit

Digital Logic Gates

๊ฐœ์š”

๋””์ง€ํ„ธ ๋กœ์ง ๊ฒŒ์ดํŠธ๋Š” ๋ถˆ๋ฆฌ์–ธ ๋Œ€์ˆ˜(Boolean Algebra) ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ๋””์ง€ํ„ธ ํšŒ๋กœ ์†Œ์ž์ด๋‹ค. ํ•˜๋‚˜ ์ด์ƒ์˜ ์ด์ง„ ์ž…๋ ฅ์„ ๋ฐ›์•„ ๋‹จ์ผ ์ด์ง„ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๋ฉฐ, ํ˜„๋Œ€ ์ปดํ“จํ„ฐ์˜ ๋ชจ๋“  ์—ฐ์‚ฐ๊ณผ ์ œ์–ด์˜ ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค. CPU, ๋ฉ”๋ชจ๋ฆฌ, FPGA ๋“ฑ ๊ฑฐ์˜ ๋ชจ๋“  ๋””์ง€ํ„ธ ์‹œ์Šคํ…œ์€ ์ˆ˜๋ฐฑ๋งŒ~์ˆ˜์‹ญ์–ต ๊ฐœ์˜ ๋กœ์ง ๊ฒŒ์ดํŠธ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋ณธ ๋ฌธ์„œ๋Š” 7๊ฐ€์ง€ ๊ธฐ๋ณธ ๋กœ์ง ๊ฒŒ์ดํŠธ์˜ ๋™์ž‘ ์›๋ฆฌ, ์ง„๋ฆฌํ‘œ, CMOS ๊ตฌํ˜„, ๊ทธ๋ฆฌ๊ณ  ๋ฒ”์šฉ ๊ฒŒ์ดํŠธ(Universal Gate) ๊ฐœ๋…์„ ๋ถ„์„ํ•œ๋‹ค.

์‹ค์ œ ํšŒ๋กœ์—์„œ๋Š” fan-out, ์ „ํŒŒ ์ง€์—ฐ, ์žก์Œ ๋งˆ์ง„, ์ „๋ ฅ-์†๋„ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๊ฐ€ ํ•จ๊ป˜ ๊ณ ๋ ค๋œ๋‹ค. NAND์™€ NOR๋Š” De Morgan์˜ ๋ฒ•์น™์„ ํ†ตํ•ด ๋‹ค๋ฅธ ๋…ผ๋ฆฌ์‹์œผ๋กœ ์‰ฝ๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์–ด, ํ‘œ์ค€ ์…€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์ง‘์  ํšŒ๋กœ ์„ค๊ณ„์—์„œ ํŠนํžˆ ์ค‘์š”ํ•˜๋‹ค.

ํ•ต์‹ฌ ๊ฐœ๋…

7๊ฐ€์ง€ ๊ธฐ๋ณธ ๋กœ์ง ๊ฒŒ์ดํŠธ

๋ชจ๋“  ๋””์ง€ํ„ธ ํšŒ๋กœ๋Š” ๋‹ค์Œ 7๊ฐ€์ง€ ๊ธฐ๋ณธ ๊ฒŒ์ดํŠธ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค:

7 Basic Logic Gates

๊ทธ๋ฆผ 1. 7๊ฐ€์ง€ ๊ธฐ๋ณธ ๋กœ์ง ๊ฒŒ์ดํŠธ์˜ ๊ธฐํ˜ธ์™€ ์ง„๋ฆฌํ‘œ

๊ฒŒ์ดํŠธ ๊ธฐํ˜ธ ์ˆ˜์‹ ๋™์ž‘
Buffer โ–ท Q = A ์ž…๋ ฅ์„ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ
NOT โ–ทโ—‹ Q = Aฬ… ์ž…๋ ฅ ๋ฐ˜์ „ (Inverter)
AND โ–ท Q = AยทB
OR โ–ท curved Q = A+B ํ•˜๋‚˜๋ผ๋„ 1์ด๋ฉด 1
NAND โ–ท โ—‹ Q = (AยทB)ฬ…
NOR โ–ท curvedโ—‹ Q = (A+B)ฬ… OR์˜ ๋ฐ˜์ „
XOR โ–ท curved+line Q = AโŠ•B ์ž…๋ ฅ์ด ๋‹ค๋ฅผ ๋•Œ 1

์ง„๋ฆฌํ‘œ (Truth Table)

2์ž…๋ ฅ ๋กœ์ง ๊ฒŒ์ดํŠธ์˜ ์™„์ „ ์ง„๋ฆฌํ‘œ:

A B AND OR NAND NOR XOR XNOR
0 0 0 0 1 1 0 1
0 1 0 1 1 0 1 0
1 0 0 1 1 0 1 0
1 1 1 1 0 0 0 1

๋ฒ”์šฉ ๊ฒŒ์ดํŠธ (Universal Gate)

Universal Gate Implementation

๊ทธ๋ฆผ 2. NAND๋งŒ์œผ๋กœ ๋ชจ๋“  ๊ฒŒ์ดํŠธ ๊ตฌํ˜„

NAND์™€ NOR๋Š” "๋ฒ”์šฉ ๊ฒŒ์ดํŠธ(Universal Gate)"์ด๋‹ค. ์ด๋Š” NAND ๋˜๋Š” NOR ๊ฒŒ์ดํŠธ๋งŒ์œผ๋กœ ๋ชจ๋“  ๋ถˆ๋ฆฌ์–ธ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

  • NOT from NAND: NAND(A, A) = Aฬ…
  • AND from NAND: NAND(NAND(A,B), NAND(A,B)) = AยทB
  • OR from NAND: NAND(NAND(A,A), NAND(B,B)) = A+B

์ด ํŠน์„ฑ์€ ์ œ์กฐ ๋น„์šฉ ์ ˆ๊ฐ์— ์ค‘์š”ํ•˜๋ฉฐ, ๋‹จ์ผ ๊ฒŒ์ดํŠธ ํƒ€์ž…์œผ๋กœ ๋ชจ๋“  ํšŒ๋กœ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

De Morgan์˜ ๋ฒ•์น™ ๋•Œ๋ฌธ์— ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์˜ ๋ฐ˜์ „์„ ์ ์ ˆํžˆ ๋ฐ”๊พธ๋ฉด NAND์™€ NOR๋Š” ์„œ๋กœ ๋Œ€์‘๋˜๋ฉฐ, ๋ณต์žกํ•œ ๋…ผ๋ฆฌ์‹์„ ๋” ๋‹จ์ˆœํ•œ ๊ฒŒ์ดํŠธ ์กฐํ•ฉ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๋ฐ ์œ ๋ฆฌํ•˜๋‹ค.

๋น„๊ต/๋ถ„์„

๋กœ์ง ๊ฒŒ์ดํŠธ ๋น„๊ต

๊ฒŒ์ดํŠธ ๋™์ž‘ ์‘์šฉ ์˜ˆ ํŠน์ง•
AND ๋‘˜ ๋‹ค 1์ผ ๋•Œ 1 ๋””์ฝ”๋”, ์ฃผ์†Œ ์„ ํƒ ๋ชจ๋“  ์ž…๋ ฅ์ด ๊ฐ™์•„์•ผ ์ถœ๋ ฅ
OR ํ•˜๋‚˜๋ผ๋„ 1์ด๋ฉด 1 ์ธํ„ฐ๋ŸฝํŠธ ํ•ฉ์‚ฐ, ์กฐ๊ฑด ๊ฒฐํ•ฉ ํ•˜๋‚˜๋งŒ ๋งŒ์กฑํ•˜๋ฉด ์ถœ๋ ฅ
NAND AND ๋ฐ˜์ „ ๋ฉ”๋ชจ๋ฆฌ ์…€, ๋ฒ”์šฉ ๊ตฌํ˜„ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒŒ์ดํŠธ
NOR OR ๋ฐ˜์ „ SRAM ์…€, ๋ฒ”์šฉ ๊ตฌํ˜„ ์ •์  ๋ฉ”๋ชจ๋ฆฌ์— ์ ํ•ฉ
XOR ์ž…๋ ฅ ๋‹ค๋ฅผ ๋•Œ 1 ๋ง์…ˆ๊ธฐ, ํŒจ๋ฆฌํ‹ฐ ๊ฒ€์‚ฌ ๋ฐ˜๊ฐ€์‚ฐ๊ธฐ์˜ ํ•ฉ์‚ฐ
XNOR ์ž…๋ ฅ ๊ฐ™์„ ๋•Œ 1 ๋™๋“ฑ ๋น„๊ต๊ธฐ, ํŒจ๋ฆฌํ‹ฐ ์ƒ์„ฑ ๋‘ ๊ฐ’์˜ ์ผ์น˜ ์—ฌ๋ถ€ ํ™•์ธ

๋กœ์ง ํŒจ๋ฐ€๋ฆฌ ๋น„๊ต

ํŒจ๋ฐ€๋ฆฌ ๊ธฐ์ˆ  ๋™์ž‘ ์ „๋ ฅ ์†๋„ ์ง‘์ ๋„ ๋น„๊ณ 
TTL BJT ๋†’์Œ ์ค‘๊ฐ„ ๋‚ฎ์Œ 7400 ์‹œ๋ฆฌ์ฆˆ
CMOS MOSFET ๋‚ฎ์Œ ์ค‘๊ฐ„~๋†’์Œ ๋†’์Œ ํ˜„๋Œ€ ์ฃผ๋ฅ˜
NMOS NMOS only ์ค‘๊ฐ„ ๋น ๋ฆ„ ์ค‘๊ฐ„ ๋ฉ”๋ชจ๋ฆฌ์— ์‚ฌ์šฉ
ECL BJT ๋งค์šฐ ๋†’์Œ ๋งค์šฐ ๋น ๋ฆ„ ๋‚ฎ์Œ ๊ณ ์† ์‘์šฉ
LVCMOS CMOS ๋งค์šฐ ๋‚ฎ์Œ ์ค‘๊ฐ„ ๋†’์Œ ๋ชจ๋ฐ”์ผ/์ €์ „๋ ฅ

๋™์ž‘ ์›๋ฆฌ

CMOS ๊ตฌํ˜„ ์›๋ฆฌ

CMOS Implementation

๊ทธ๋ฆผ 3. CMOS ๋กœ์ง์˜ PMOS/NMOS ๊ตฌํ˜„

CMOS(Complementary MOS) ๋Š” PMOS์™€ NMOS๋ฅผ ์ƒ๋ณด์ ์œผ๋กœ ๊ฒฐํ•ฉํ•˜์—ฌ ์ •์  ์ „๋ ฅ์„ ๊ฑฐ์˜ ์†Œ๋น„ํ•˜์ง€ ์•Š๋Š” ๋กœ์ง ๊ฒŒ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

CMOS NOT (Inverter)

  • PMOS: ์ž…๋ ฅ์ด 0์ผ ๋•Œ VDD๋ฅผ ์ถœ๋ ฅ์œผ๋กœ ์—ฐ๊ฒฐ (Pull-up)
  • NMOS: ์ž…๋ ฅ์ด 1์ผ ๋•Œ GND๋ฅผ ์ถœ๋ ฅ์œผ๋กœ ์—ฐ๊ฒฐ (Pull-down)
  • ์ž…๋ ฅ์ด ๋ฐ”๋€” ๋•Œ๋งŒ ์ „๋ฅ˜๊ฐ€ ํ๋ฆ„ โ†’ ์ •์  ์ „๋ ฅ ๊ฑฐ์˜ 0

CMOS NAND

  • PMOS ๋ณ‘๋ ฌ: ํ•˜๋‚˜๋ผ๋„ 0์ด๋ฉด VDD ์—ฐ๊ฒฐ
  • NMOS ์ง๋ ฌ: ๋‘˜ ๋‹ค 1์ผ ๋•Œ๋งŒ GND ์—ฐ๊ฒฐ
  • NMOS ์ง๋ ฌ์€ ์ €ํ•ญ์ด ์ฆ๊ฐ€ํ•˜๋‚˜, PMOS ๋ณ‘๋ ฌ๋กœ ๋ณด์ƒ

CMOS NOR

  • PMOS ์ง๋ ฌ: ๋‘˜ ๋‹ค 0์ผ ๋•Œ๋งŒ VDD ์—ฐ๊ฒฐ
  • NMOS ๋ณ‘๋ ฌ: ํ•˜๋‚˜๋ผ๋„ 1์ด๋ฉด GND ์—ฐ๊ฒฐ
  • PMOS ์ง๋ ฌ์€ ๋А๋ฆฌ๋‚˜, NMOS ๋ณ‘๋ ฌ๋กœ ๋ณด์ƒ

์ „๋ ฅ ์†Œ๋น„

CMOS ํšŒ๋กœ์˜ ์ „๋ ฅ ์†Œ๋น„:

$$P_{total} = P_{static} + P_{dynamic}$$

  • ์ •์  ์ „๋ ฅ (Static): ๋ˆ„์„ค ์ „๋ฅ˜๋กœ ์ธํ•œ ์ „๋ ฅ (์ด์ƒ์ ์œผ๋กœ 0)
  • ๋™์  ์ „๋ ฅ (Dynamic): ์ปคํŒจ์‹œํ„ฐ ์ถฉ๋ฐฉ์ „์œผ๋กœ ์ธํ•œ ์ „๋ ฅ

$$P_{dynamic} = \alpha \cdot C_L \cdot V_{DD}^2 \cdot f$$

  • $\alpha$: ํ™œ์„ฑ ๋น„์œจ (switching activity)
  • $C_L$: ๋ถ€ํ•˜ ์ปคํŒจ์‹œํ„ด์Šค
  • $V_{DD}$: ๊ณต๊ธ‰ ์ „์••
  • $f$: ํด๋Ÿญ ์ฃผํŒŒ์ˆ˜

์ „ํŒŒ ์ง€์—ฐ (Propagation Delay)

๊ฒŒ์ดํŠธ์˜ ์ž…๋ ฅ ๋ณ€ํ™”์—์„œ ์ถœ๋ ฅ ๋ณ€ํ™”๊นŒ์ง€์˜ ์‹œ๊ฐ„:

$$t_{p} = \frac{t_{PLH} + t_{PHL}}{2}$$

  • $t_{PLH}$: Lowโ†’High ์ „ํ™˜ ์‹œ๊ฐ„
  • $t_{PHL}$: Highโ†’Low ์ „ํ™˜ ์‹œ๊ฐ„

์ „ํŒŒ ์ง€์—ฐ์€ ๊ฒŒ์ดํŠธ์˜ ๋™์ž‘ ์†๋„๋ฅผ ๊ฒฐ์ •ํ•˜๋ฉฐ, ํ˜„๋Œ€ ํ”„๋กœ์„ธ์„œ์—์„œ๋Š” ์ˆ˜ ํ”ผ์ฝ”์ดˆ(ps) ์ˆ˜์ค€์ด๋‹ค.

์žฅ๋‹จ์ 

์žฅ์  ๋‹จ์ 
์ •์  ์ „๋ ฅ ๊ฑฐ์˜ 0 (CMOS) ๋™์  ์ „๋ ฅ์ด ์ฃผํŒŒ์ˆ˜์— ๋น„๋ก€
๋†’์€ ์žก์Œ ๋งˆ์ง„ (rail-to-rail) ์ปคํŒจ์‹œํ„ฐ ์ถฉ๋ฐฉ์ „ ์˜ค๋ฒ„ํ—ค๋“œ
๋†’์€ ์ž…๋ ฅ ์ž„ํ”ผ๋˜์Šค ์ „ํŒŒ ์ง€์—ฐ์œผ๋กœ ์†๋„ ์ œํ•œ
๋†’์€ ์ง‘์ ๋„ ๊ฐ€๋Šฅ ๋ฏธ์„ธํ™” ์‹œ ๋ˆ„์„ค ์ „๋ฅ˜ ์ฆ๊ฐ€
๋น„์šฉ ํšจ๊ณผ์  (๋Œ€๋Ÿ‰ ์ƒ์‚ฐ) ํด๋ก ์Šค์ผ€์ผ๋ง ํ•œ๊ณ„
๋ฒ”์šฉ ๊ฒŒ์ดํŠธ๋กœ ์œ ์—ฐํ•œ ์„ค๊ณ„ ๋ณต์žกํ•œ ํšŒ๋กœ์—์„œ ๋ฉด์  ์ฆ๊ฐ€

๊ด€๋ จ ๊ธฐ์ˆ 

  • Boolean Algebra (๋ถˆ๋ฆฌ์–ธ ๋Œ€์ˆ˜): ์กฐ์ง€ ๋ถˆ(George Boole)์ด 1854๋…„์— ์ œ์•ˆํ•œ ์ˆ˜ํ•™์  ์‹œ์Šคํ…œ. ๋กœ์ง ๊ฒŒ์ดํŠธ์˜ ์ด๋ก ์  ๊ธฐ๋ฐ˜
  • MOSFET: ๋กœ์ง ๊ฒŒ์ดํŠธ์˜ ๋ฌผ๋ฆฌ์  ๊ตฌํ˜„์— ์‚ฌ์šฉ๋˜๋Š” ํŠธ๋žœ์ง€์Šคํ„ฐ. circuit_0005_mosfet_operation_principles.html ์ฐธ์กฐ
  • De Morgan์˜ ๋ฒ•์น™: NAND/NOR ๋“ฑ๊ฐ€ ๋ณ€ํ™˜๊ณผ ๋ถ€์ • ๋ถ„๋ฐฐ ๊ทœ์น™์˜ ๊ทผ๊ฑฐ
  • FPGA(Field-Programmable Gate Array): ์‚ฌ์šฉ์ž ์„ค์ • ๊ฐ€๋Šฅํ•œ ๋กœ์ง ๊ฒŒ์ดํŠธ ์–ด๋ ˆ์ด
  • ASIC(Application-Specific IC): ํŠน์ • ์‘์šฉ์„ ์œ„ํ•œ ๋งž์ถคํ˜• ๋กœ์ง ํšŒ๋กœ
  • HDL(Hardware Description Language): Verilog, VHDL ๋“ฑ ๋กœ์ง ํšŒ๋กœ๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” ์–ธ์–ด
  • Sequential Logic: ๋ฉ”๋ชจ๋ฆฌ ์š”์†Œ(Flip-flop, Latch)๋ฅผ ํฌํ•จํ•œ ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ํšŒ๋กœ

ํ•ต์‹ฌ ์ •๋ฆฌ

๋””์ง€ํ„ธ ๋กœ์ง ๊ฒŒ์ดํŠธ๋Š” ๋ถˆ๋ฆฌ์–ธ ๋Œ€์ˆ˜๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ๋ณธ ์†Œ์ž๋กœ, 7๊ฐ€์ง€ ๊ธฐ๋ณธ ๊ฒŒ์ดํŠธ(NOT, AND, OR, NAND, NOR, XOR, XNOR)๋กœ ๋ชจ๋“  ๋””์ง€ํ„ธ ํ•จ์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. NAND์™€ NOR๋Š” ๋ฒ”์šฉ ๊ฒŒ์ดํŠธ๋กœ ๋‹จ์ผ ๊ฒŒ์ดํŠธ ํƒ€์ž…๋งŒ์œผ๋กœ ๋ชจ๋“  ๋ถˆ๋ฆฌ์–ธ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์–ด ์ œ์กฐ ๋น„์šฉ์„ ์ ˆ๊ฐํ•œ๋‹ค. CMOS ๊ธฐ์ˆ ์€ PMOS์™€ NMOS๋ฅผ ์ƒ๋ณด์ ์œผ๋กœ ๊ฒฐํ•ฉํ•˜์—ฌ ์ •์  ์ „๋ ฅ ๊ฑฐ์˜ ์†Œ๋น„ํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ๋†’์€ ์žก์Œ ๋งˆ์ง„์„ ๋‹ฌ์„ฑํ•˜๋ฉฐ, ํ˜„๋Œ€ ๋””์ง€ํ„ธ ํšŒ๋กœ์˜ ์ฃผ๋ฅ˜๊ฐ€ ๋˜์—ˆ๋‹ค. ๋กœ์ง ๊ฒŒ์ดํŠธ์˜ ์ „ํŒŒ ์ง€์—ฐ๊ณผ ๋™์  ์ „๋ ฅ ์†Œ๋น„๋Š” ํ”„๋กœ์„ธ์„œ์˜ ์ตœ๋Œ€ ์†๋„์™€ ์ „๋ ฅ ํšจ์œจ์„ ๊ฒฐ์ •ํ•˜๋Š” ํ•ต์‹ฌ ์š”์†Œ์ด๋‹ค.