3 / 63 · 개념
기본 게이트: AND·OR·NOT·BUFFER
회로 기호와 진리표를 연결하고 여러 게이트로 조건을 구성합니다.
내용은 무료로 볼 수 있습니다. 수강 신청하면 학습 기록을 저장할 수 있어요.
게이트는 모든 입력 조합에 대한 함수입니다
입력 에 대해 AND는 둘 다 1일 때, OR는 하나 이상이 1일 때 1을 냅니다. NOT은 입력을 반전부정 0을 1로, 1을 0으로 바꾸는 NOT 연산입니다. 수식 위의 선은 선 아래 식 전체에 NOT을 적용한다는 뜻입니다. 자세히 보기하고 BUFFER는 논리값을 그대로 전달합니다. BUFFER도 실제로는 구동 능력과 지연을 가지며, 여기서는 논리 기능만 봅니다.
| a | b | AND | OR | NOT a | BUFFER a |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 |
불 대수불 대수 0과 1, AND·OR·NOT을 다루는 대수입니다. 여기서 더하기 기호는 보통 OR이므로 정수 덧셈의 규칙과 다릅니다. 자세히 보기에서는 를 AND, 를 OR, 를 NOT으로 씁니다. 따라서 여기의 은 정수 덧셈이 아닙니다. 같은 의미를 , , 로 적기도 합니다.
기호·입력·진리표를 동시에 읽기
아래에서 AND와 OR를 고른 뒤 00→01→10→11을 모두 확인하세요. AND의 곧은 입력 면과 둥근 출력 면, OR의 휘어진 입력 면을 비교합니다. NOT은 삼각형 끝의 작은 원으로 반전을 나타냅니다. BUFFER는 그 원이 없는 삼각형입니다. 이 그림은 흔히 쓰는 논리 기호이며, 다른 표준에서는 사각형 기호를 쓰기도 합니다.
| a | b | y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
OR는 “정확히 하나”가 아니라 “하나 이상”입니다. 둘 다 1일 때 OR는 1이며, 다음 강의에서 볼 XOR는 0입니다. 진리표진리표 가능한 입력 조합을 빠짐없이 나열하고 각 조합의 출력을 적은 표입니다. 시간에 따른 변화는 파형으로 따로 확인합니다.의 한 행을 빠뜨리면 이 차이를 놓칠 수 있습니다.
조건을 연결하면 회로가 됩니다
동작을 허용하는 입력 가 있고, 두 감지기 중 하나 이상이 켜졌을 때 출력을 내는 회로는 다음과 같습니다.
먼저 OR가 를 만들고, AND가 이를 와 결합합니다. 이면 감지기 상태와 관계없이 출력은 0입니다. 입력 세 개에는 개 조합이 있으므로 진리표의 여덟 행에서 명세와 구현이 같은지 확인합니다.
- a와 b: 두 감지기의 입력값을 정의
- OR: 하나 이상 활성: t = a + b
- AND: 허가 e와 결합: y = e · t
RTL 기호를 읽는 최소한의 규칙
a & b, a | b, ~a는 비트별 AND·OR·NOT입니다. 벡터 a=0010, b=0100이면 a & b=0000이지만 논리 조건 a && b는 두 벡터가 모두 0이 아니므로 1입니다. 단항 &a는 모든 비트를 AND로 묶는 축약 연산입니다. 비트별 연산·논리 연산·축약 연산은 의미도, 결과의 비트 폭도 서로 다릅니다.
진리표는 입력이 안정된 뒤의 출력값을 나타냅니다. 기호와 식이 맞아도 전파 지연전파 지연 입력이 바뀐 뒤 출력이 올바른 값으로 안정되기까지 걸리는 시간입니다. 논리식의 등가성과 시간 특성은 별개입니다. 자세히 보기이나 순간적인 glitch가 사라지는 것은 아닙니다.
입력을 바꿔 확인하기
직접 생각해 보기
y=e(a+b)에서 e=0인 네 조합을 한 번에 설명하세요. 이를 y=eab로 잘못 구현했다면 오류를 드러내는 입력 두 개는 무엇인가요?
해설 보기
e=0이면 OR의 결과와 관계없이 마지막 AND가 0을 냅니다. e=1이고 (a,b)=(0,1) 또는 (1,0)이면 올바른 회로는 1, 잘못된 회로는 0입니다.