Digital Logic Gates
๊ฐ์
๋์งํธ ๋ก์ง ๊ฒ์ดํธ๋ ๋ถ๋ฆฌ์ธ ๋์(Boolean Algebra) ์ฐ์ฐ์ ์ํํ๋ ๊ธฐ๋ณธ์ ์ธ ๋์งํธ ํ๋ก ์์์ด๋ค. ํ๋ ์ด์์ ์ด์ง ์ ๋ ฅ์ ๋ฐ์ ๋จ์ผ ์ด์ง ์ถ๋ ฅ์ ์์ฑํ๋ฉฐ, ํ๋ ์ปดํจํฐ์ ๋ชจ๋ ์ฐ์ฐ๊ณผ ์ ์ด์ ๊ธฐ๋ฐ์ด ๋๋ค. CPU, ๋ฉ๋ชจ๋ฆฌ, FPGA ๋ฑ ๊ฑฐ์ ๋ชจ๋ ๋์งํธ ์์คํ ์ ์๋ฐฑ๋ง~์์ญ์ต ๊ฐ์ ๋ก์ง ๊ฒ์ดํธ๋ก ๊ตฌ์ฑ๋๋ค. ๋ณธ ๋ฌธ์๋ 7๊ฐ์ง ๊ธฐ๋ณธ ๋ก์ง ๊ฒ์ดํธ์ ๋์ ์๋ฆฌ, ์ง๋ฆฌํ, CMOS ๊ตฌํ, ๊ทธ๋ฆฌ๊ณ ๋ฒ์ฉ ๊ฒ์ดํธ(Universal Gate) ๊ฐ๋ ์ ๋ถ์ํ๋ค.
์ค์ ํ๋ก์์๋ fan-out, ์ ํ ์ง์ฐ, ์ก์ ๋ง์ง, ์ ๋ ฅ-์๋ ํธ๋ ์ด๋์คํ๊ฐ ํจ๊ป ๊ณ ๋ ค๋๋ค. NAND์ NOR๋ De Morgan์ ๋ฒ์น์ ํตํด ๋ค๋ฅธ ๋ ผ๋ฆฌ์์ผ๋ก ์ฝ๊ฒ ๋ณํํ ์ ์์ด, ํ์ค ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ง์ ํ๋ก ์ค๊ณ์์ ํนํ ์ค์ํ๋ค.
ํต์ฌ ๊ฐ๋
7๊ฐ์ง ๊ธฐ๋ณธ ๋ก์ง ๊ฒ์ดํธ
๋ชจ๋ ๋์งํธ ํ๋ก๋ ๋ค์ 7๊ฐ์ง ๊ธฐ๋ณธ ๊ฒ์ดํธ๋ก ๊ตฌ์ฑํ ์ ์๋ค:
๊ทธ๋ฆผ 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)
๊ทธ๋ฆผ 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 ๊ตฌํ ์๋ฆฌ
๊ทธ๋ฆผ 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๋ฅผ ์๋ณด์ ์ผ๋ก ๊ฒฐํฉํ์ฌ ์ ์ ์ ๋ ฅ ๊ฑฐ์ ์๋นํ์ง ์์ผ๋ฉด์ ๋์ ์ก์ ๋ง์ง์ ๋ฌ์ฑํ๋ฉฐ, ํ๋ ๋์งํธ ํ๋ก์ ์ฃผ๋ฅ๊ฐ ๋์๋ค. ๋ก์ง ๊ฒ์ดํธ์ ์ ํ ์ง์ฐ๊ณผ ๋์ ์ ๋ ฅ ์๋น๋ ํ๋ก์ธ์์ ์ต๋ ์๋์ ์ ๋ ฅ ํจ์จ์ ๊ฒฐ์ ํ๋ ํต์ฌ ์์์ด๋ค.