논리회로설계실습 디코더 엔코더설계 결과보고서
- 최초 등록일
- 2018.01.10
- 최종 저작일
- 2017.05
- 9페이지/ 한컴오피스
- 가격 1,500원
목차
1. 실험 목표
2. 실험 결과
3. 고찰
본문내용
1. 실험 목표
해밍코드의 엔코더의 패리티 비트 생성과 디코더의 Checker와 Correction logic에 대해서 이해한다. 이를 통해 (7,4)해밍 엔코더와 디코더의 코드를 작성해 본다. 작성된 소스코드를 테스트 벤치 코드를 작성하여 시뮬레이션을 해보아 해밍 엔코더가 패리티 비트를 정확히 생성하였는지 와 해밍 디코더가 오류를 수정하였는지를 확인해 본다.
<중 략>
(1) 조원1의 고찰
먼저 설계할 인코더의 기능은 보내려는 4비트 크기의 원신호 Dataword[3:0]를 입력으로 받아 오른쪽 끝에 3비트의 패리티비트를 추가시켜 최종적으로 7비트의 Codeword[6:0]를 만드는 것이다. Codeword의 좌측에서부터 4비트까지는 Dataword를 그대로 받기 때문에 Codeword[6:3]은 Dataword[3:0]과 값이 동일하다. 그 과정을 다음과 같이 loop문을 이용하여 다음과 같이 나타내었다.
<중 략>
디코더의 기능은 오류 비트가 섞여있는 7비트 오류 신호 Codeword[6:0]을 입력으로 받아 앞서 인코더에서 추가해준 패리티 비트(CW[2:0])와 비교하여 오류 비트의 위치를 파악하고 그 정보를 Syndrome[2:0]에 담아 최종적으로 오류 신호를 기존의 원신호인 Dataword[3:0]로 수정하는 것이다. 출력 Syndrome[2:0]는 현재 신호(Signal)로 정의되어 있으므로 동일 기능을 수행하는 변수(variable) Synd[2:0]를 별개로 정의한다.
그림 3 이렇게 하는 이유는 이후에 최종적으로 오류비트를 원신호로 수정할 때 Syndrome에 우선적으로 값이 정의되어 있어야하기 때문이다. Dataword[3:0]가 최종적으로 출력되기 이전에 Syndrome[2:0]이 사용되어 그 값이 먼저 정의되어야 한다. 그러나 Syndrome[2:0]은 현재 출력 Signal로서 디코더 하드웨어 내부에서 다시 입력처럼 쓰일 수 없다. 때문에 출력되기 이전에 내부변수 Synd[2:0] 값만 동일하게 할당한다.
참고 자료
없음