관리 메뉴

드럼치는 프로그래머

[시스템분석및설계] 6장 반가산기와 전가산기 결과보고서 본문

★─Multi Media/☆─2학년 2학기

[시스템분석및설계] 6장 반가산기와 전가산기 결과보고서

드럼치는한동이 2007. 10. 21. 23:29

◎ 실험 목적

반가산기전가산기의 동작을 VHDL로 기술하고, 시뮬레이션을 통해 동작을 검증한다.

▶ 추가로 반감산기전감산기의 동작도 VHDL로 기술하고, 시뮬레이션을 통해 동작을 검증한다.

 

◎ 실험 장비

▶ Xilinx ISE

▶ ModelSIM

▶ Rov-Lab 트레이닝 키트

 

◎ 실험 순서

▶ 반가산기

① 반가산기의 동작을 VHDL로 기술

사용자 삽입 이미지

② TestBenchWaveform으로 시뮬레이션

사용자 삽입 이미지

③ 트레이닝 키트로 동작 검증

사용자 삽입 이미지
[ a='0' b='0' : s='0' c='0' ]

사용자 삽입 이미지
[ a='0' b='1' : s='1' c='0' ]
사용자 삽입 이미지
[ a='1' b='0' : s='1' c='0' ]

사용자 삽입 이미지
[ a='1' b='1' : s='0' c='1' ]

▶ 전가산기

① 전가산기의 동작을 VHDL로 기술

사용자 삽입 이미지

② TestBenchWaveform으로 시뮬레이션


사용자 삽입 이미지

③ 트레이닝 키트로 동작 검증

사용자 삽입 이미지
[ a='0' b='0' cin='0' : s='0' cout='0' ]

사용자 삽입 이미지
[ a='0' b='0' cin='1' : s='1' cout='0' ]

사용자 삽입 이미지
[ a='0' b='1' cin='0' : s='1' cout='0' ]
사용자 삽입 이미지
[ a='0' b='1' cin='1' : s='0' cout='1' ]

사용자 삽입 이미지
[ a='1' b='0' cin='0' : s='1' cout='0' ]
사용자 삽입 이미지
[ a='1' b='0' cin='1' : s='0' cout='1' ]
사용자 삽입 이미지
[ a='1' b='1' cin='0' : s='0' cout='1' ]


사용자 삽입 이미지
[ a='1' b='1' cin='1' : s='1' cout='1' ]

▶ 반감산기

① 반감산기의 동작을 VHDL로 기술

사용자 삽입 이미지

② TestBenchWaveform으로 시뮬레이션

사용자 삽입 이미지

③ 트레이닝 키트로 동작 검증

사용자 삽입 이미지
[ a='0' b='0' : D='0' B1='0' ]

사용자 삽입 이미지
[ a='0' b='1' : D='1' B1='1' ]

사용자 삽입 이미지
[ a='1' b='0' : D='1' B1='0' ]

사용자 삽입 이미지
[ a='1' b='1' : D='0' B1='0' ]

▶ 전감산기

① 전감산기의 동작을 VHDL로 기술

사용자 삽입 이미지

② TestBenchWaveform으로 시뮬레이션

사용자 삽입 이미지

③ 트레이닝 키트로 동작 검증

사용자 삽입 이미지
[ a='0' b='0' B1='0' : D='0' B2='0' ]

사용자 삽입 이미지
[ a='0' b='0' B1='1' : D='1' B2='1' ]

사용자 삽입 이미지
[ a='0' b='1' B1='0' : D='1' B2='1' ]

사용자 삽입 이미지
[ a='0' b='1' B1='1' : D='0' B2='1' ]

사용자 삽입 이미지
[ a='1' b='0' B1='0' : D='1' B2='0' ]

사용자 삽입 이미지
[ a='1' b='0' B1='1' : D='0' B2='0' ]

사용자 삽입 이미지
[ a='1' b='1' B1='0' : D='0' B2='0' ]

사용자 삽입 이미지
[ a='1' b='1' B1='1' : D='1' B2='1' ]

◎ 실험 결과

▶ 이론에서 살펴본 반가산기, 전가산기, 반감산기, 전감산기의 진리표대로 설계된 회로가 정확하게 동작함을 알 수 있었다.

 

<반가산기의 진리표>

입 력

출 력

a

b

c

s

0

0

0

0

0

1

0

1

1

0

0

1

1

1

1

0

 

<전가산기의 진리표>

입 력

출 력

a

b

cin

s

cout

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

 

<반감산기의 진리표>

입 력

출 력

a

b

D

B1

0

0

0

0

0

1

1

1

1

0

1

0

1

1

0

0

  <전감산기의 진리표>

입 력

출 력

a

b

B1

D

B2

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

 

◎ 실험의 개선점

① 감산기의 회로 동작에 대한 이해가 조금 부족했다.

=> 반가산기와 전가산기는 예습을 통한 이해와 개념을 숙지했지만, 반감산기와 전감산 기의 동작을 정확히 이해하도록 하겠다.

② 실험 시간이 많이 부족하다.

=> Xilinx 툴 사용의 미숙과 결과보고서를 위해 실험 과정을 하나하나 캡쳐해야 하는 잡 무가 많았다.

③ 툴 사용법이 아직 서툴러 많은 실수를 범했다.

=> 수시로 툴 사용법을 연습하여 실험에 소요되는 시간을 줄이겠다.

④ 결과보고서를 위한 캡쳐가 서툴렀다.

=> 막상 캡쳐하여 결과보고서를 작성하려니 그 크기에 대한 고려를 하지 못했다. 다음 시간부터는 캡쳐를 자세히 알아볼 수 있게 크기를 고려하겠다.

⑤ 트레이닝 키트 동작 검증 시의 핀 할당 시 핀 번호의 숙지가 필요했다.

=> 자주 사용하는 핀 번호의 대한 숙지와 키트 동작 검증 시마다 핀번호에 대한 자료를 계속 찾아야하는 잡무를 다음 시간에는 Pin_List 메뉴얼을 출력하여 핀 번호 할당 시 에 시간의 줄이겠다.

Comments