본문 바로가기
도전

패리티 발생기/검사기 논리회로도

by oncerun 2023. 2. 27.
반응형

 

2진 정보를 주고받다 보면 잡음이나 회로상의 문제 등 다양한 이유로 에러가 발생할 수 있다.

이러한 에러 검출을 위해 전송되는 정보에 에러 검출용 비트를 추가해 전송한다.

 

이때 송신자는 패리티 비트를 추가해서 전송하고 수신자는 패리티 검사기를 통해 검사하여 에러 여부를 확인한다.

 

패리티 비트는 에러 검출용 비트라고 생각하자. 

 

방식은 두 가지가 존재하지만 홀수 패리티검출 방식을 주로 사용한다.

 

이는 2진 정보 속에 1의 개수가 패리티 비를 포함하여 홀수가 되도록 패리티 비트를 부가하는 방식이다.

 

홀수 방식인 경우 다음과 같이 표현할 수 있다. 

10진수 BCD 코드 패리티 비트
0 0000 1
1 0001 0
2 0010 0
3 0011 1
4 0100 0
5 0101 1
6 0110 1
7 0111 0
8 1000 0
9 1001 1

 

따라서 총 전송 비트는 4비트에 패리티 비트를 추가한 5비트가 된다.

 

다만 2개의 에러가 발생하면 정상으로 처리되기에 이중 패리티 검출방식을 사용하기도 한다.

 

패리티 발생기 설계 예시

 

3비트 데이터 비트에 하나의 패리티 비트를 부가하는 홀수 패리티 발생기 설계를 해보자

 

홀수 패리티 발생기는 데이터 비트의 개수에 따라 패리티 비트를 생성하는 방식으로 동작한다.

이때 홀수 패리티 비트는 데이터 비트들의 합이 홀수가 되도록 생성된다.

3비트 데이터 비트에 하나의 패리티 비트를 부가하는 홀수 패리티 발생기 설계를 해보자.

먼저, 3비트 데이터 비트 중 첫 번째 비트를 a, 두 번째 비트를 b, 세 번째 비트를 c로 정의하자. 이때, 홀수 패리티 비트 p는 다음과 같이 생성된다.

  1. a, b, c의 합을 구한다.
  2. 합이 홀수인 경우 p는 1이 되고, 합이 짝수인 경우 p는 0이 된다.

따라서, 홀수 패리티 비트 발생기의 진리표는 다음과 같다.

a b c p
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0

따라서, 위의 진리표를 참고하여 카르노 도표를 만들어보자.

 

A\BC 00 01 11 10
0 1   1  
1   1   1

 

이제 부울 함수를 간소화해보자. 

 

$$ \overline{A} \overline {B} \overline{C} + \overline{A}BC + A\overline{B}C + AB\overline{C} $$

$$ = \overline{A \oplus B \oplus C} $$

 

이를 토대로 논리회로를 작성하면 다음과 같다. 

논리회로도 작성 온라인 사이트 (https://circuitverse.org/simulator)

 

 

검사기를 위와 같은 방식으로 진리표 -> 간소화 -> 부울 함수를 도출하여 논리회로도를 작성하면 다음과 같다.

 

에러가 검사되면 1, 에러가 없으면 0으로 출력한다.

 

 

4비트인 이유는 하나의 패리티 비트가 추가됐다고 가정했다.

 

 

반응형

'도전' 카테고리의 다른 글

순서논리회로 (1)  (0) 2023.03.07
조합논리회로 (2)  (0) 2023.03.06
BCD- 3초과 코드변환기  (0) 2023.02.27
조합논리회로(1)  (0) 2023.02.26
부울함수의 간소화(2)  (0) 2023.02.23

댓글