목차
목적
장비 및 사용 부품
실험순서
데이터 및 관찰 내용
결과 및 토론
장비 및 사용 부품
실험순서
데이터 및 관찰 내용
결과 및 토론
본문내용
목적 : 제어 논리에 대한 진리표를 보고 그것을 이해하여 카르노맵을 작성하고, 간소화된 회로를 최대한 적은 숫자의 소자로 설계한다.
장비 및 사용 부품 :
LED 1개
4비트 DIP 스위치 1개
저항 : 1.0kΩ 4개, 330Ω 1개
7404 Hex Inverting 게이트
7408 AND 게이트
7410 Triple 3 Input NAND 게이트
실험순서 :
1. 표 10-1의 제어 논리에 대한 진리표에 대해서 파악하고 각각의 스위치에 대한 회로 M1,M2,M3,M4을 각각 카르노 맵을 작성 한다.
2. 카르노 맵으로 최소 SOP를 읽어서 표현식을 적는다.
3. 그것에 따른 간소화된 회로를 찾는데, 중요한 것은 가장 적은 종류의 소자를 써 서 만드는 것이다.
4. 4개가 만들어 졌다면 그것에 대해서 Bread보드에 회로를 만든 후 실험을 해본다.
데이터 및 관찰 내용 :
00
01
11
10
00
0
0
0
0
01
0
0
0
0
11
1
0
0
1
10
1
1
0
1
M1 =
00
01
11
10
00
0
0
0
0
01
0
0
0
0
11
1
0
0
1
10
0
0
0
0
M2 =
00
01
11
10
00
0
0
0
1
01
0
0
0
0
11
0
0
0
1
10
0
0
0
1
M3 =
00
01
11
10
00
0
1
0
0
01
0
0
0
0
11
0
0
0
0
10
0
1
0
0
M4 =
<실험 사진>
결과 및 토론
이번 실험의 목적은 표10-1에 주어준 진리표를 가지고 카르노맵을 작성 할줄 알고 그것을 간소화 시켜서 회로를 설계하는 것이다. 저번 실험에 카르노맵을 배웠고 이번 실험에는 카르노맵을 이용하는 것인데, 카르노맵을 이용해서 회로를 설계하니 정말 간단한 회로가 나오게 되었다. 먼저 여기서 구한 간단한 회로를 가지고 설계를 할려고 하였지만 소자를 4개나 써야되서 다시 NAND게이트로 할 수 있는 방법이 없나? 해서 찾아 보았다. 이렇게 저렇게 AND를 고치고 OR를 NAND로 고치고 하여 간단하게 3개의 소자만을 써서 만들어 내었다. 하지만 마지막에 LED를 켜야 하기 때문에 우리가 원하는 결과와는 반대로 되어야해서 마지막에는 AND게이트를 선택하게 되었다. NAND게이트 만을 이용하면 모든 것을 만들 수 있다는 것을 이론적으로 알고 있지만 실제로 해보니 신기하였고, 적은 소자를 쓰면서 회로를 설계 하는 것에는 NAND를 잘 이용 해야만 할 것 같다.
이번 실험에서 약간 이상했던 점은 내가 처음에 설계한 회로도를 가지고 회로를 만들었지만 나중에 살펴보니 DIP스위치 쪽에는 내가 설계한 회로랑 틀리게 만들어져 있는 것이었다.하지만 결과는 똑같이 나오게 되었다는 것 자체가 참 이상한 현상이었다. 원래는 HIGH가 계속 들어가면서 스위치를 닫게 되면 LOW가 들어가는 시스템으로 설계를 하였지만 나중에 알고 보니 HIGH를 연결을 하지 않은 것이었다. 그래서 보통일때는 아무 신호가 들어가지 않다가 DIP스위치가 닫히게 되면 LOW가 들어가는 시스템으로 알게 모르게 설계가 되었는데 이것이 제대로 작동 한다는 것이 참 의문적이 었다. 분명히 아무 신호가 없을 때는 전압이 들어가지 않아서 제대로 된 값이 나오지 않아야 하지만 정확한 값이 나오는 것을 보면 참신기했고 무엇인가가 다른 이유가 있는 것 같다. 지금은 그 이유를 찾지 못했지만 시간을 가지고 조금더 생각을 해봐야 겠다.
이번 시험의 오차라고 하면 내가 설계했던 회로도와 조금 달랐다는것 외에는 다른것은 없었다. 다음 실험 부터는 이런 오차가 없도록 노력을 해야 할 것이고, 이렇게 하면 잘못된 결과가 나오기 마련이기 때문에 조심을 해야만 하겠다.
결과 및 토론
이번 실험은 4비트 2진/Excess-3 코드 변환기를 설계하고 회로를 구성한 후 그 회로를 시험하는 능력을 습득하는 것이다. 오버플로우 감지기를 설계하는 능력 또한 중요시하고 있다. 2진/Excess-3 코드 변환기는 입력이 10보다 작으면 0011을 더하고 9보다 크면 1001을 더하는 것을 인지하고 설계를 하려는데 이번 실험의 사용 부품을 보면 7410 triple 3-입력 NAND 게이트와 7404 hex 인버터만을 사용할 수 있다는 것을 알 수 있었다. 그리고 최대한 게이트를 적게 쓰는 방법으로 구현한 회로가 NAND 게이트 5개만으로 만든 회로임을 Pspice로 결과보고서에 나타내었다. 그림을 보면 B3값은 입력이 10보다 작던, 9보다 크던간에 0 으로 나오기 때문에 접지로 연결하였으며, C0값도 이번 실험에는 아무런 영향을 미치지 않기 때문에 0 으로 나온다고 가정, 접지로 연결하였다. 그리고 이러한 회로를 꾸미기 전에 진리표를 작성을 하여 회로를 구성한다면 시간을 더욱 단축할 수 있었을 텐데 우리 조는 회로를 먼저 구성하고 진리표를 나중에 작성을 하여서 회로를 구성하는 데에 큰 어려움이 있었었다. 오버플로우 감지기 회로를 구성할 때에는 진리표를 먼저 작성하고 그에 대한 카르노맵을 작성해 최소 SOP 식(부울표현식)을 추출하여 그것을 사용부품에 한해서 실험을 해야겠다는 생각 하에 7410 triple 3-입력 NAND 게이트와 7404 hex 인버터만을 이용해서 구한 것이 그림 11-4 가 되겠다. 이번 실험을 통해 새롭게 알게 된 점은 가산기와 비교기의 결합으로 2진/BCD 변환기, BCD/2진 변환기, 2진/Excess-3 변환기 등등 여러 가지를 만들 수 있으며, 굳이 가산기와 비교기의 결합만이 아니고 가산기끼리의 결합이나 비교기끼리의 결합만으로도 무궁무진한 회로를 만들 수 있다는 것이 무척이나 흥미로운 사실이었다. 특히 가산기끼리의 직렬연결은 4비트 뿐만 아니라 8비트와 16비트도 구현할 수 있다는 것이었다. 그리고 그 회로를 쉽게 구현하기 위해서는 일단 카르노맵을 작성한 후 그에 대한 부울표현식(최소SOP식)을 추출하여 실험에 사용되는 부품을 이용해 무난하게 만들 수 있다는 점 역시 이번 실험을 통해 깨달은 점이다.
♠ 참고 자료 ♠
● 카르노맵
장비 및 사용 부품 :
LED 1개
4비트 DIP 스위치 1개
저항 : 1.0kΩ 4개, 330Ω 1개
7404 Hex Inverting 게이트
7408 AND 게이트
7410 Triple 3 Input NAND 게이트
실험순서 :
1. 표 10-1의 제어 논리에 대한 진리표에 대해서 파악하고 각각의 스위치에 대한 회로 M1,M2,M3,M4을 각각 카르노 맵을 작성 한다.
2. 카르노 맵으로 최소 SOP를 읽어서 표현식을 적는다.
3. 그것에 따른 간소화된 회로를 찾는데, 중요한 것은 가장 적은 종류의 소자를 써 서 만드는 것이다.
4. 4개가 만들어 졌다면 그것에 대해서 Bread보드에 회로를 만든 후 실험을 해본다.
데이터 및 관찰 내용 :
00
01
11
10
00
0
0
0
0
01
0
0
0
0
11
1
0
0
1
10
1
1
0
1
M1 =
00
01
11
10
00
0
0
0
0
01
0
0
0
0
11
1
0
0
1
10
0
0
0
0
M2 =
00
01
11
10
00
0
0
0
1
01
0
0
0
0
11
0
0
0
1
10
0
0
0
1
M3 =
00
01
11
10
00
0
1
0
0
01
0
0
0
0
11
0
0
0
0
10
0
1
0
0
M4 =
<실험 사진>
결과 및 토론
이번 실험의 목적은 표10-1에 주어준 진리표를 가지고 카르노맵을 작성 할줄 알고 그것을 간소화 시켜서 회로를 설계하는 것이다. 저번 실험에 카르노맵을 배웠고 이번 실험에는 카르노맵을 이용하는 것인데, 카르노맵을 이용해서 회로를 설계하니 정말 간단한 회로가 나오게 되었다. 먼저 여기서 구한 간단한 회로를 가지고 설계를 할려고 하였지만 소자를 4개나 써야되서 다시 NAND게이트로 할 수 있는 방법이 없나? 해서 찾아 보았다. 이렇게 저렇게 AND를 고치고 OR를 NAND로 고치고 하여 간단하게 3개의 소자만을 써서 만들어 내었다. 하지만 마지막에 LED를 켜야 하기 때문에 우리가 원하는 결과와는 반대로 되어야해서 마지막에는 AND게이트를 선택하게 되었다. NAND게이트 만을 이용하면 모든 것을 만들 수 있다는 것을 이론적으로 알고 있지만 실제로 해보니 신기하였고, 적은 소자를 쓰면서 회로를 설계 하는 것에는 NAND를 잘 이용 해야만 할 것 같다.
이번 실험에서 약간 이상했던 점은 내가 처음에 설계한 회로도를 가지고 회로를 만들었지만 나중에 살펴보니 DIP스위치 쪽에는 내가 설계한 회로랑 틀리게 만들어져 있는 것이었다.하지만 결과는 똑같이 나오게 되었다는 것 자체가 참 이상한 현상이었다. 원래는 HIGH가 계속 들어가면서 스위치를 닫게 되면 LOW가 들어가는 시스템으로 설계를 하였지만 나중에 알고 보니 HIGH를 연결을 하지 않은 것이었다. 그래서 보통일때는 아무 신호가 들어가지 않다가 DIP스위치가 닫히게 되면 LOW가 들어가는 시스템으로 알게 모르게 설계가 되었는데 이것이 제대로 작동 한다는 것이 참 의문적이 었다. 분명히 아무 신호가 없을 때는 전압이 들어가지 않아서 제대로 된 값이 나오지 않아야 하지만 정확한 값이 나오는 것을 보면 참신기했고 무엇인가가 다른 이유가 있는 것 같다. 지금은 그 이유를 찾지 못했지만 시간을 가지고 조금더 생각을 해봐야 겠다.
이번 시험의 오차라고 하면 내가 설계했던 회로도와 조금 달랐다는것 외에는 다른것은 없었다. 다음 실험 부터는 이런 오차가 없도록 노력을 해야 할 것이고, 이렇게 하면 잘못된 결과가 나오기 마련이기 때문에 조심을 해야만 하겠다.
결과 및 토론
이번 실험은 4비트 2진/Excess-3 코드 변환기를 설계하고 회로를 구성한 후 그 회로를 시험하는 능력을 습득하는 것이다. 오버플로우 감지기를 설계하는 능력 또한 중요시하고 있다. 2진/Excess-3 코드 변환기는 입력이 10보다 작으면 0011을 더하고 9보다 크면 1001을 더하는 것을 인지하고 설계를 하려는데 이번 실험의 사용 부품을 보면 7410 triple 3-입력 NAND 게이트와 7404 hex 인버터만을 사용할 수 있다는 것을 알 수 있었다. 그리고 최대한 게이트를 적게 쓰는 방법으로 구현한 회로가 NAND 게이트 5개만으로 만든 회로임을 Pspice로 결과보고서에 나타내었다. 그림을 보면 B3값은 입력이 10보다 작던, 9보다 크던간에 0 으로 나오기 때문에 접지로 연결하였으며, C0값도 이번 실험에는 아무런 영향을 미치지 않기 때문에 0 으로 나온다고 가정, 접지로 연결하였다. 그리고 이러한 회로를 꾸미기 전에 진리표를 작성을 하여 회로를 구성한다면 시간을 더욱 단축할 수 있었을 텐데 우리 조는 회로를 먼저 구성하고 진리표를 나중에 작성을 하여서 회로를 구성하는 데에 큰 어려움이 있었었다. 오버플로우 감지기 회로를 구성할 때에는 진리표를 먼저 작성하고 그에 대한 카르노맵을 작성해 최소 SOP 식(부울표현식)을 추출하여 그것을 사용부품에 한해서 실험을 해야겠다는 생각 하에 7410 triple 3-입력 NAND 게이트와 7404 hex 인버터만을 이용해서 구한 것이 그림 11-4 가 되겠다. 이번 실험을 통해 새롭게 알게 된 점은 가산기와 비교기의 결합으로 2진/BCD 변환기, BCD/2진 변환기, 2진/Excess-3 변환기 등등 여러 가지를 만들 수 있으며, 굳이 가산기와 비교기의 결합만이 아니고 가산기끼리의 결합이나 비교기끼리의 결합만으로도 무궁무진한 회로를 만들 수 있다는 것이 무척이나 흥미로운 사실이었다. 특히 가산기끼리의 직렬연결은 4비트 뿐만 아니라 8비트와 16비트도 구현할 수 있다는 것이었다. 그리고 그 회로를 쉽게 구현하기 위해서는 일단 카르노맵을 작성한 후 그에 대한 부울표현식(최소SOP식)을 추출하여 실험에 사용되는 부품을 이용해 무난하게 만들 수 있다는 점 역시 이번 실험을 통해 깨달은 점이다.
♠ 참고 자료 ♠
● 카르노맵
소개글