CMOS 논리 회로
더 많은 작업
CMOS 논리 회로(Complementary Metal-Oxide-Semiconductor Logic)는 P채널 MOSFET(PMOS)로 이루어진 풀업 망과 N채널 MOSFET(NMOS)로 이루어진 풀다운 망을 상보적으로 짝지어, 입력에 따라 둘 중 하나만 도통하게 하여 출력을 전원(VDD) 또는 접지(GND)에 잇는 논리 게이트 구조이다.
PC 에서 BIOS 설정값을 담아 두는 메모리를 흔히 CMOS 라고 부르는 것은 이 공정으로 만든 칩이라서 붙은 이름이다 → CMOS
MOSFET 는 게이트 전압으로 소스-드레인 사이를 켜고 끄는 스위치로 쓸 수 있다. NMOS 는 게이트 입력이 1(High)일 때 켜지고, PMOS 는 0(Low)일 때 켜진다. 회로도에서 PMOS 게이트에 붙은 작은 원(버블)이 이 반대 동작을 나타낸다.
CMOS 게이트는 출력 단자를 사이에 두고 위쪽에 PMOS 들로 된 풀업 망(Pull-Up Network, PUN)을 VDD 쪽에, 아래쪽에 NMOS 들로 된 풀다운 망(Pull-Down Network, PDN)을 접지 쪽에 둔다. 두 망은 서로 쌍대(dual)로 연결되어 있어 어떤 입력에서도 한쪽만 도통한다. 풀다운 망이 도통하면 출력은 0, 풀업 망이 도통하면 출력은 1 이다. 정지 상태에서는 VDD 에서 접지로 곧바로 흐르는 경로가 없어 정적 소비 전력이 거의 없다.
- 풀다운 망에서 NMOS 가 직렬이면 AND, 병렬이면 OR 로 묶어 도통 조건 f 를 쓴다
- 풀다운 망이 도통하면 출력이 0 이므로 출력은 그 식의 반전, Y = f' 이다
- 드모르간의 법칙으로 풀어 보기의 꼴과 맞춘다 → 부울 대수
PMOS 는 입력이 0 일 때 켜지므로 입력마다 반전(A', B' …)을 붙이고 직렬은 AND, 병렬은 OR 로 묶으면 그것이 곧 Y 이다(출력을 다시 반전하지 않는다). 두 방법으로 구한 식이 같으면 회로를 맞게 읽은 것이다.
풀다운 망에서 직렬인 트랜지스터는 풀업 망에서 병렬로, 병렬인 것은 직렬로 놓인다. 그래서 회로도의 풀업 망과 풀다운 망 가운데 한쪽만 보고도 다른 쪽을 그릴 수 있다.
| 게이트 | 풀다운 망(NMOS) | 풀업 망(PMOS) | 출력 |
|---|---|---|---|
| 인버터(NOT) | NMOS 1개 | PMOS 1개 | Y = A' |
| 2입력 NAND | A, B 직렬 | A, B 병렬 | Y = (AB)' = A' + B' |
| 2입력 NOR | A, B 병렬 | A, B 직렬 | Y = (A + B)' = A'B' |
- CMOS 의 기본 게이트는 출력이 반전되는 반전형(inverting)이다. AND·OR 는 NAND·NOR 뒤에 인버터를 붙여 만든다
- 입력이 n 개인 게이트는 트랜지스터 2n 개로 만든다
AOI(AND-OR-Invert)·OAI 같은 복합 게이트는 트랜지스터 여러 개를 직렬·병렬로 섞어 한 단으로 만든다.
예: 풀다운 망에 NMOS C 와 D 가 직렬로 있고, 그 아래에 NMOS A 와 B 가 병렬로 묶인 가지가 다시 직렬로 이어져 접지에 닿는 회로. 풀업 망에는 PMOS A·B 직렬 가지, PMOS C, PMOS D 가 서로 병렬로 놓인다(풀다운 망의 쌍대).
풀다운 도통 조건 f = C · D · (A + B)
Y = f' = { C · D · (A + B) }'
= C' + D' + (A + B)'
= A'·B' + C' + D'
풀업 망으로 확인하면 (A'·B') + C' + D' 로 같다.
자주 나오는 잘못된 읽기
- 풀다운 망의 직렬을 OR, 병렬을 AND 로 거꾸로 읽는다
- 풀다운 망으로 식을 세우고 마지막 반전을 빠뜨린다
- 풀업 망의 연결(A·B 직렬, C·D 병렬)을 풀다운 망처럼 읽으면 Y = (AB + C + D)' = (A' + B')·C'·D' 가 되어 틀린다
CMOS 가 나오기 전에는 PMOS 풀업 망 대신 저항(또는 공핍형 NMOS)을 VDD 와 출력 사이에 두고, 출력과 접지 사이의 NMOS 풀다운 망만으로 게이트를 만들었다(NMOS 논리).
- NMOS 두 개를 병렬로 두면 어느 하나만 켜져도 출력이 0 으로 끌려 내려간다. 두 입력이 모두 0 일 때만 저항이 출력을 VDD(1)로 올리므로 NOR 게이트다
- NMOS 두 개를 직렬로 두면 둘 다 켜져야 출력이 0 이므로 NAND 게이트다
- 회로도에서 소스가 접지에 붙고 화살표가 채널 밖(소스 쪽)을 향하면 NMOS 다. PMOS 는 소스가 VDD 쪽에 붙는다. "두 개의 PMOS 로 구성된 NOR 게이트" 는 이 회로를 잘못 읽은 것이다
- 출력이 0 인 동안 저항으로 전류가 계속 흘러 정적 소비 전력이 생기고, 출력 0 의 전압이 완전히 0V 가 되지 않는다. CMOS 가 이 점을 고쳤다
- 정적 소비 전력이 거의 없다. 전력은 출력이 바뀌는 순간 부하 용량을 충전·방전할 때 주로 쓰여, 동작 주파수와 전원 전압의 제곱에 비례해 늘어난다(동적 전력 ∝ C·VDD²·f)
- 출력이 VDD 와 0 V 까지 온전히 올라가고 내려가(풀 스윙) 잡음 여유가 크다
- 게이트 입력이 절연되어 입력 전류가 거의 없으므로 한 출력에 많은 입력을 이을 수 있다(팬아웃이 크다)
- 집적도가 높아 마이크로프로세서와 메모리 같은 대부분의 디지털 집적회로가 CMOS 로 만들어진다. 다른 논리 계열과의 비교는 논리 소자
- 게이트 산화막이 얇아 정전기에 약하다