[논리회로실험설계] 한 자리 십진수 가산기
본 자료는 4페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
해당 자료는 4페이지 까지만 미리보기를 제공합니다.
4페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

목차

1. 설계 문제

2. 세부 설계 내용

3. 사용하는 기자재

4. 시뮬레이션

5. 회로 구현 결과

6. 결과 및 고찰

본문내용

우 4[0100]+5[0101]
[3] 회로의 정상적인 동작
1) 출력이 20 이상인 경우 [1111]+[0101]
다음은 각 입력의 합이 20이상인 경우를 나타낸 것이다.
위와 같이 입력이 15[1111], 5[0101]이고 그 합은 20[1 1010]이다.
하지만 Active Identy의 Led가 ON된 상태이다. 즉, 합이 20이상인 경우는 오류가 생김을 알 수 있다.
2) 출력이 20 미만인 경우
다음은 각 입력의 합이 20미만인 경우를 나타낸 것이다.
위와 같이 입력이 15[1111], 4[0100]이고 그 합은 19[]이다.
또한 Active Identity의 Led가 OFF된 상태이다. 즉, 가산기가 제대로 작동하고 있으며 그 값의 크기는 켜진 LED가 표시해주고 있다.
이로써 Active Identity와 회로가 제대로 작동하고 있음을 알 수 있다.
5 회로 구현 결과
[4절 시뮬레이션에서 본 자료와 함께 비교해 보시면 더욱 좋습니다.]
1) [4.1-1번] 4[0100] + 8[1000] = 12 [1100] => BCD 코드 [1 0010]
2) [4.1-2번] 2 [0010] + 8 [1000] = 10 [1010] => BCD 코드 [1 0000]
3) [4.1-3번] 8 [1000] + 8 [1000] = 16[1 0000] => BCD 코드 [1 0110]
4) [4.2-1번] 5 [0101] + 5 [0101] = 10[1010] => BCD 코드 [1 0000]
5) [4.2-2번] 4 [0101] + 5 [0101] = 9[1001] => BCD 코드 [0 1001]
6) [4.3-1번] 15 [1111] + 5 [0101] = 20[1 0100] => BCD 코드 [1 1010]
=> 20이상이 출력되면 붉은 LED가 빛을 내어 오류가 있음을 알린다.
6) [4.3-1번] 15 [1111] + 4 [0100] = 19[1 1001] => BCD 코드 [1 1001]
7) 회로 뒷면
6. 결과 및 고찰
마지막으로 논리 회로 실험에서 하는 프로젝트이다. 주어진 3개의 설계 중 7세그먼트를 기본 소자를 이용하여 디코더를 제작한 뒤 그 출력 값들을 이용해 7-세그먼트를 구현 해보는 설계, 7483 Full Adder를 이용하여 4비트 가산기 두 개로 가산 합을 BCD 코드로 나타내는 설계와 김성호 교수님 수업의 텀 프로젝트를 실험에서 직접 구현 해 보는 실험이였다. 그 중에 어느 하나를 골라야 하는데 고민을 많이 했다.
처음에 세그먼트를 구현 하려고 했지만 왠지 가산기를 만드는 것이 상당히 이끌렸다. 그리하여 가산기를 하되 세그먼트까지 같이 구현을 할려고 했다. 하지만 설계 1번과 2번을 동시에 하기에는 너무 힘이 들것 같아 다른 조와 함께 할려다가 도중에 소자 공급에 차질이 생기는 바람에 같이 하기를 포기했고 거기에 시간 문제까지 겹치는 바람에 세그먼트를 포기하고 LED를 통해 결과를 표현하기로 하여 재설계를 하였다.
즉, 우리 조가 선택한 것은 2번 BCD 가산기 이다.
BCD 가산기에서 사용되는 소자는 7408, 7432, 7483 소자를 이용하였다. 솔직히 처음에 설계 문제를 받았을 때 BCD 가산기는 상당히 어려울 것 같았지만 실제 회로를 구현 할 때는 가산기가 세그먼트보다 상당히 구현하기가 쉬웠다. 사실 앞에서 말한 소자 공급의 차질로 인해 세그먼트회로 까지 구현 했었다. 그 때 당시 세그먼트에는 최소한의 소자를 이용 했을 때 8개로 구현을 가능케 했는데 이것은 진짜 한 소자의 모든 소켓을 이용했을 때의 얘기지 조금 편하게 할려면 좀 더 많은 소켓 수가 필요하다.
그러나 7483 소자의 공급이 확정되면서 실질적 소켓은 최소 4개이다. 그러나 조금 더 납땜이나 알아보기 쉽게 하기 위하여 7408, 7432 를 하나씩 더 달아 줌으로서 소자 6개를 이용하여 나타내었다.
먼저 첫 번째 가산기[7483]에서 A's 4Bits와 B's 4Bits 을 입력 한다. 그러면 4비트의 표현 범위는 0~15 이다. 그러나 문제에서 한자리 10진수를 가산 합으로 나타내야 하므로 0~9 + 0~9 = 0~18 까지 표현을 하여야 한다.
하지만 2장에서 말을 했듯이 우리 조는 19 까지 표현이 가능 하도록 설계 하였다. 그 이유는 BCD 가산기 이므로 각 4비트[10자리 4비트, 1자리 4비트] 마다 0~9 까지 표현이 가능 하나 10자리는 무조건 20은 넘을 수 없다고 전제 조건이 붙었기 때문에 1자리까지는 9 까지 표현해도 의미적으로 통한다고 생각하고 설계를 하였다.
그리하여 키트에 납땜을 하였는데 난관이 있었다. 소켓 먼저 납땜을 하고 IC를 꽂고 저항을 연결하고 LED를 연결 하였는데, 첫 번째 로 오류가 난 것은 LED에서 아무런 반응이 없었다는 것이다. => 두 번째 가산기[7483]를 반대로 꽂아 쓰는 바람에 전혀 되질 않았다.
두 번째 문제는 Final Cout 부분인 노란색 LED 부분이 나오질 않았다.
=> 이는 Carry Detecter의 출력이 연결이 연결 되지 않아 나타나질 않았다.
세 번째 문제는 모든 LED에서 불빛은 나오는데 결과 값 출력은 +1이 되어 출력이 나타 났다. 즉, 0000 + 0000 을 넣으면 [0 0000]가 출력 되어야 하는데 [0 0001]로 출력되고 다른 입력 값도 마찬가지로 +1 씩 더 추가되어 나타났다.
=> 이는 두 번째 가산기 소자에서 12번을 그라운드에 연결을 하지 않아 출력 값이 원하는 대로 출력이 되지 않았다.
이 세 문제를 해결을 하고 나니 완벽한 회로가 되었다.
이 설계를 끝내고 나니 논리회로에 대해 호감도가 굉장히 올라갔다. 무엇보다 IC 칩을 이용하여 4비트 Full Adder를 이용하여 가산이 된다는 점과 그 가산 합을 이용하여 BCD 코드로 또다시 나타내어 보기에도 쉽게 결과 값을 알 수 있었던 실험이였다.
이 실험을 마지막으로 논리회로 실험이 끝났다. 원하는 결과대로 안 되어 매주 남아서 재 실험하고 하루 종일 예비와 결과레포트를 적었을 때가 엊그제 같은데 벌써 한 학기도 지나갔다.
여지 껏 매 수업마다 수고 해주신 김성호 교수님, 이현기 조교님 정말 감사 했습니다 ^^
  • 가격2,000
  • 페이지수14페이지
  • 등록일2011.07.14
  • 저작시기2010.12
  • 파일형식한글(hwp)
  • 자료번호#689728
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니