관리 메뉴

드럼치는 프로그래머

[시스템분석및설계] 7,8장 3선8선 디코더, 4입력 멀티플렉서 결과보고서 본문

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

[시스템분석및설계] 7,8장 3선8선 디코더, 4입력 멀티플렉서 결과보고서

드럼치는한동이 2007. 11. 26. 23:51

◎ 실험 목적

3선/8선 디코더4입력 멀티플렉서의 동작을 VHDL로 기술하고, 시뮬레이션을 통해 동작을 검증한다.

▶ 추가로 8선/3선 인코더1선/4선 디멀티플렉서의 동작도 VHDL로 기술하고, 시뮬레이션을 통해 동작을 검증한다.

 

◎ 실험 장비

▶ Xilinx ISE

▶ ModelSIM

▶ Rov-Lab 트레이닝 키트

 

◎ 실험 순서

▶ 3선/8선 디코더

3선/8선 디코더의 동작을 VHDL로 기술

사용자 삽입 이미지

② TestBenchWaveform으로 시뮬레이션

사용자 삽입 이미지

- Test Bench VHDL 코드

사용자 삽입 이미지

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

사용자 삽입 이미지
[ a2='0' a1='0' a0='0' : d0 ='1']

사용자 삽입 이미지
[ a2='0' a1='0' a0='1' : d1 ='1']

사용자 삽입 이미지
[ a2='0' a1='1' a0='0' : d2 ='1']

사용자 삽입 이미지
[ a2='0' a1='1' a0='1' : d3 ='1']

사용자 삽입 이미지
[ a2='1' a1='0' a0='0' : d4 ='1']

사용자 삽입 이미지
[ a2='1' a1='0' a0='1' : d5 ='1']

사용자 삽입 이미지
[ a2='1' a1='1' a0='0' : d6 ='1']

사용자 삽입 이미지
[ a2='1' a1='1' a0='1' : d7 ='1']

▶ 8선/3선 인코더

① 8선/3선 인코더의 동작을 VHDL로 기술

사용자 삽입 이미지

② TestBenchWaveform으로 시뮬레이션

사용자 삽입 이미지

- Test Bench VHDL 코드

사용자 삽입 이미지

사용자 삽입 이미지

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

사용자 삽입 이미지
[ a0='1' : d2='0' d1='0' d0='0']

사용자 삽입 이미지
[ a1='1' : d2='0' d1='0' d0='1']

사용자 삽입 이미지
[ a2='1' : d2='0' d1='1' d0='0']

사용자 삽입 이미지
[ a3='1' : d2='0' d1='1' d0='1']

사용자 삽입 이미지
[ a4='1' : d2='1' d1='0' d0='0']

사용자 삽입 이미지
[ a5='1' : d2='1' d1='0' d0='1']

사용자 삽입 이미지
[ a6='1' : d2='1' d1='1' d0='0']

사용자 삽입 이미지
[ a7='1' : d2='1' d1='1' d0='1']

 

▶ 4입력 멀티플렉서

① 4입력 멀티플렉서의 동작을 VHDL로 기술

사용자 삽입 이미지
 
② TestBenchWaveform으로 시뮬레이션

사용자 삽입 이미지

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

사용자 삽입 이미지
[ a0='0' s1='0' s0='0' : out1='0' ]

사용자 삽입 이미지
[ a0='1' s1='0' s0='0' : out1='1' ]

사용자 삽입 이미지
[ a1='0' s1='0' s0='1' : out1='0' ]

사용자 삽입 이미지
[ a1='1' s1='0' s0='1' : out1='1' ]

사용자 삽입 이미지
[ a2='0' s1='1' s0='0' : out1='0' ]

사용자 삽입 이미지
[ a2='1' s1='1' s0='0' : out1='1' ]

사용자 삽입 이미지
[ a3='0' s1='1' s0='1' : out1='0' ]

사용자 삽입 이미지
[ a3='1' s1='1' s0='1' : out1='1' ]

 

▶ 1선/4선 디멀티플렉서

① 1선/4선 디멀티플렉서의 동작을 VHDL로 기술

사용자 삽입 이미지

② TestBenchWaveform으로 시뮬레이션

사용자 삽입 이미지


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

사용자 삽입 이미지
[ in1='1' s1='0' s0='0' : d0='1']

사용자 삽입 이미지
[ in1='1' s1='0' s0='1' : d1='1']

사용자 삽입 이미지
[ in1='1' s1='1' s0='0' : d2='1']

사용자 삽입 이미지
[ in1='1' s1='1' s0='1' : d3='1']

◎ 실험 결과

▶ 이론에서 살펴본 3선/8선 디코더, 4입력 멀티플렉서, 8선/3선 인코더, 1선/4선 디멀티플렉서의 진리표대로 설계된 회로가 정확하게 동작함을 알 수 있었다.

 

<3선/8선 디코더의 진리표>

입 력

출 력

a2

a1

a0

d7

d6

d5

d4

d3

d2

d1

d0

0

0

0

0

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

0

1

0

0

0

1

1

0

0

0

0

1

0

0

0

1

0

0

0

0

0

1

0

0

0

0

1

0

1

0

0

1

0

0

0

0

0

1

1

0

0

1

0

0

0

0

0

0

1

1

1

1

0

0

0

0

0

0

0

 

<8선/3선 인코더의 진리표>

a7

a6

a5

a4

a3

a2

a1

a0

d2

d1

d0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

1

0

0

0

0

1

1

0

0

0

1

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

1

0

1

0

1

0

0

0

0

0

0

1

1

0

1

0

0

0

0

0

0

0

1

1

1

 

<4입력 멀티플렉서의 진리표>

입 력

데이터 선택 신호

출 력

a3

a2

a1

a0

s1

s0

out1

0

0

0

0

0

0

0 입력 a0

0

0

0

1

0

0

1 입력 a0

0

0

0

0

0

1

0 입력 a1

0

0

1

0

0

1

1 입력 a1

0

0

0

0

1

0

0 입력 a2

0

1

0

0

1

0

1 입력 a2

0

0

0

0

1

1

0 입력 a3

1

0

0

0

1

1

1 입력 a3

<1선/4선 디멀티플렉서의 진리표>

입력

데이터 선택신호

출력

in1

s1

s0

d3

d2

d1

d0

0

0

0

0

0

0

0 in1-입력

1

0

0

0

0

0

1 in1-입력

0

0

1

0

0

0 in1-입력

0

1

0

1

0

0

1 in1-입력

0

0

1

0

0

0 in1-입력

0

0

1

1

0

0

1 in1-입력

0

0

0

1

1

0 in1-입력

0

0

0

1

1

1

1 in1-입력

0

0

0

 

◎ 실험의 개선점

① 8선/3선 인코더와 1선/4선 디멀티플렉서의 회로 동작에 대한 이해가 조금 부족했다.

=> 3선/8선 디코더와 4입력 멀티플렉서는 예습을 통한 이해와 개념을 숙지했지만, 8선/3선 인코더와 1선/4선 디멀티플렉서의 동작을 정확히 이해하도록 하겠다.

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

=> Test Bench VHDL 코드 작성시 Loop 부분에 대한 이해가 부족했다.

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

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

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

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

Comments