본 포스트는 반가산기/전가산기, 반감산기/전감산기의 Multisim 시뮬레이션 및 MyDAQ 실습 결과를 정리한 디지털 논리회로 4주차 결과 보고서입니다.
1. 실습 주제
반가산기/전가산기, 반감산기/전감산기의 논리 구조 분석 및 가산기 회로의 논리 반전을 통한 감산기 설계와 Multisim/MyDAQ 기반 실측 데이터 검증
2. 실습 목표
3. 실습 내용 및 예상 결과
실습 내용
1. Multisim 작업 영역에 XOR(4030BD_5V), AND(7408N) 게이트를 배치하고, DIO 1을 피가수(X), DIO 0을 가수(Y)로 가정하고 각 소자의 입력단에 연결한다. 이후 출력단에 서로 다른 색의 LED를 연결하여 반가산기를 구현한다. 합(Sum, 이하 S)은 XOR 출력으로, 올림수(Carry out, 이하 Cout)는 AND 출력으로 판별할 수 있으며, 입력 신호 조합 4가지에 대한 결과값을 LED를 통해 확인하고 그 결과를 진리표로 정리한다.
2. 반가산기에서 LED를 분리한 뒤, XOR, AND, OR(7432N) 게이트를 추가로 배치한다. DIO 2를 X, DIO 1을 Y, DIO 0을 하위 비트의 올림수(Carry in, 이하 Cin)로 가정하고 소자의 입력단에 연결한다. 이때 S는 (X⊕Y)⊕Cin에 따른 XOR 출력으로, Cout는 (X⊕Y)Cin + XY에 따른 OR 출력으로 판별 가능하며, 두 출력단에 서로 다른 색의 LED를 연결하여 전가산기를 완성한다. 이후 입력 신호를 8가지 경우로 인가하며 결과를 확인하고 진리표를 작성한다.
3. 새로운 작업 영역을 만들고 XOR, AND, NOT 게이트를 배치하여 반감산기를 구현한다. DIO 1을 피감수(X), DIO 0을 감수(Y)로 가정할 때, 차(Difference, 이하 D)는 XOR 출력으로, 빌림수(Borrow out, 이하 Bout)는 X'Y 논리식에 따른 AND 출력으로 판별할 수 있으며, 입력 신호를 4가지 상태로 인가해가며 출력 신호의 변화를 파악해 진리표로 정리한다.
4. 반감산기에서 LED를 분리한 뒤, XOR, AND, NOT, OR 게이트를 추가로 배치하고 D와 Bout에 해당하는 출력단에 LED를 연결해 전감산기를 완성한다. DIO 2를 X, DIO 1을 Y, DIO 0을 하위 비트의 빌림수(Borrow in, 이하 Bin)로 가정할 때, D는 (X⊕Y)⊕Bin에 따른 XOR 출력으로, Bout은 (X⊕Y)'Bin + X'Y에 따른 OR 출력으로 판별 가능하다. 이후 입력 신호를 8가지 조합으로 인가하며 전감산기의 특성을 확인하고 진리표를 작성한다.
5. MyDAQ 키트의 브레드 보드에 74LS86(XOR), 74LS08(AND) IC를 배치하고, DIO 1을 피가수(X), DIO 0을 가수(Y)로 가정하여 각 소자의 입력단에 연결한다. 시뮬레이션과 동일한 논리 구조로 반가산기를 구현한다. 이후 입력 신호 조합 4개의 변화에 따른 결과값을 확인하고 진리표로 정리한다.
6. 반가산기에서 LED를 분리한 뒤, 74LS04(NOT), 74LS32(OR) IC를 추가로 배치한다. DIO 2를 피감수(X), DIO 1을 감수(Y), DIO 0을 Bin으로 가정하고 시뮬레이션과 동일한 논리 구조를 가진 전감산기를 구현한다. 이후 입력 신호를 8가지 조합으로 인가하며 결과를 확인하고 진리표를 작성한다.
7. Multisim 시뮬레이션과 MyDAQ 실측 결과의 진리표, 예상 결과를 비교 분석하고, 차이가 발생한 경우 그 원인을 분석한다.
예상 결과
1. 반가산기의 논리 연산은 S = X⊕Y, Cout = XY이므로, 두 입력이 서로 다를 때 S=1, 두 입력이 모두 1일 때만 Cout=1을 출력할 것이다.
2. 전가산기의 논리 연산은 S = (X⊕Y)⊕Cin, Cout = (X⊕Y)Cin + XY이므로, 세 입력 중 1의 개수가 홀수일 때 S=1, 두 입력 이상이 1일 때 Cout=1을 출력할 것이다.
3. 반감산기의 논리 연산은 D = X⊕Y, Bout = X'Y이므로, 두 입력이 서로 다를 때 D=1, X=0이고 Y=1일 때만 Bout=1을 출력할 것이다.
4. 전감산기의 논리 연산은 D = (X⊕Y)⊕Bin, Bout = (X⊕Y)'Bin + X'Y이므로, 세 입력 중 1의 개수가 홀수일 때 D=1, X'Y=1일 때, 또는 X=Y이고 Bin=1일 때 Bout=1을 출력할 것이다.
5. Multisim 시뮬레이션과 MyDAQ 회로 실습은 동일한 논리 구조를 기반으로 하므로, 두 진리표는 일치할 것이다.
4. 실습 결과
Multisim




| X | Y | S(Sum) | Cout(Carry out) |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |








| X | Y | Cin(Carry in) | S(Sum) | Cout(Carry out) |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |




| X | Y | D(Difference) | Bout(Borrow out) |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |








| X | Y | Bin(Borrow in) | D(Difference) | Bout(Borrow out) |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 |
MyDAQ




| X | Y | S(Sum) | Cout(Carry out) |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |








| X | Y | Bin(Borrow in) | D(Difference) | Bout(Borrow out) |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 |
이론 및 결과값
| X | Y | S(Sum) | Cout(carry out) | ||
| Multisim | MyDAQ | Multisim | MyDAQ | ||
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 0 | 0 | 1 | 1 |
| X | Y | Bin(Borrow in) | D(Difference) | Bout(Borrow out) | ||
| Multisim | MyDAQ | Multisim | MyDAQ | |||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
5. 결론 및 고찰
결론
Multisim 시뮬레이션에서 그림 1의 반가산기에서는 입력 신호 (0,1), (1,0)에서 S=1, Cout=0, (1,1)에서 S=0, Cout=1, (0,0)에서 S=0, Cout=0의 결과를 확인했다. 그림 2의 전가산기에서는 세 입력 중 1이 홀수 개인 경우 S=1, 두 입력 이상이 1인 경우 Cout=1을 출력했다. 이는 각각 S = X⊕Y, Cout = XY 및 S = (X⊕Y)⊕Cin, Cout = (X⊕Y)Cin + XY 논리식에 따른 결과로, 설계한 논리대로 정상 동작했다.
그림 3의 반감산기에서는 입력 신호 (0,1)에서 D=1, Bout=1, (1,0)에서 D=1, Bout=0, (0,0)에서 D=0, Bout=0의 결과를 확인했다. 그림 4의 전감산기에서는 세 입력 중 1이 홀수 개인 경우 D=1, X'Y=1이거나 X=Y이고 Bin=1인 경우 Bout=1을 출력했다. 이는 각각 D = X⊕Y, Bout = X'Y 및 D = (X⊕Y)⊕Bin, Bout = (X⊕Y)'Bin + X'Y 논리식에 따른 결과로, 이론과 동일한 값이었다.
MyDAQ 실습에서는 우선 그림 5와 같이 브레드 보드에서 XOR과 AND만을 사용하여 반가산기를 구현했고 입력 신호를 네 가지 경우로 인가시켰다. 그 후 반가산기에서 AND 게이트의 X 입력을 NOT 게이트로 전환하고 그 출력을 AND에 연결하여 전감산기를 완성했다. 각 실습에서의 동작 특성은 Multisim 시뮬레이션 결과와 동일했다.
관찰 데이터를 정리한 진리표들은 예상 결과와 일치하며, Multisim과 MyDAQ의 진리표를 비교 분석했을 때 두 결과가 일치함을 확인했다. 또한 가산기와 감산기의 S와 D는 회로는 물론 논리식이 동일하므로 두 회로의 출력 신호 차이는 Cout과 Bout의 논리식의 차이에서 비롯된다는 결론을 얻었다.
고찰
실습 과정에서 OR 출력단의 LED가 정상보다 훨씬 어둡게 점등되었다. 원인을 분석한 결과, Vcc 버스 라인에서 IC 14번 핀으로 연결되어야 할 점퍼선이 인접 슬롯에 오삽입되어 전원이 정상적으로 인가되지 않았음을 확인했다. 그 상황에서도 LED가 미세하게 점등된 것은 Vcc 공급선이 인접 핀에 잘못 연결되었어도 브레드 보드 내부를 통해 전원이 미약하게 공급된 것으로 판단된다. 이러한 경험은 회로 배치의 정확성만큼이나 안정적인 전원 공급 경로 구축도 중요함을 시사한다.
전감산기 구현 후 Bout 출력이 기대치와 일치하지 않는 문제가 발생했다. 배선을 재점검했으나 이상이 없어, XOR과 NOT 게이트의 중간 출력을 LED로 개별 측정하는 방식으로 범위를 좁혔다. 앞단이 정상임을 확인한 후 최종단인 OR 게이트를 점검한 결과, 특정 게이트에 물리적 결함이 있어 논리 합 연산이 수행되지 않음을 특정했다. 이에 동일 IC 내의 여분 게이트로 재배선하여 문제를 해결했으며, 향후 실습 시에는 완성 후 일괄 확인하기보다 블록 단위로 중간 출력을 검증하며 효율적으로 회로를 설계할 것이다.
'디지털 기초설계 및 실습' 카테고리의 다른 글
| [디지털 논리회로] 멀티플렉서, 디멀티플렉서 진리표 및 동작 원리 (0) | 2026.05.03 |
|---|---|
| [디지털 논리회로] 7-segment(FND) 진리표 및 동작 원리 (0) | 2026.04.11 |
| [디지털 논리회로] 4x2 인코더, 2x4 디코더 진리표 및 동작 원리 (1) | 2026.04.05 |
| [디지털 논리회로] XOR, XNOR 게이트, 2진 비교기 진리표 및 동작 원리 (0) | 2026.03.22 |
| [디지털 논리회로] AND, OR, NAND, NOR 게이트 진리표 및 동작 원리 (0) | 2026.03.13 |