このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

目次

パリティ発生回路(パリティジェネレータ)

  • ソフトウェアでも実現できるが、ハードウェアの論理演算回路の応用としても作れる。
  • パリティビット(パリティチェック方式用のビット)を生成する回路。

パリティ発生回路のブロック図

(4ビット入力の)偶数パリティ発生回路のブロック図

  • 入力:IN[3:0]
    • 4ビット
  • 出力:EVEN_OUT
    • 1ビット
    • 偶数パリティビット
      • IN[3:0]における1の個数が偶数⇒EVEN_OUT=0
      • IN[3:0]における1の個数が奇数⇒EVEN_OUT=1

(4ビット入力の)奇数パリティ発生回路のブロック図

  • 入力:IN[3:0]
    • 4ビット
  • 出力:ODD_OUT
    • 1ビット
    • 奇数パリティビット
      • IN[3:0]における1の個数が奇数⇒ODD_OUT=0
      • IN[3:0]における1の個数が偶数⇒ODD_OUT=1

パリティ発生回路の真理値表

(2ビット入力の)偶数パリティ発生回路の真理値表

A1A0Pe
110
101
011
000

 論理式は次の通り。

Pe
=A_1~\cdot~\bar{A_0}~+~\bar{A_1}~\cdot~A_0
=A_0~\oplus~A_1

(4ビット入力の)偶数パリティ発生回路の真理値表

IN3IN2IN1IN0EVEN_OUT
00000
00011
00101
00110
01001
01010
01100
01111
10001
10010
10100
10111
11000
11011
11101
11110

(4ビット入力の)奇数パリティ発生回路の真理値表

IN3IN2IN1IN0ODD_OUT
00001
00010
00100
00111
01000
01011
01101
01110
10000
10011
10101
10110
11001
11010
11100
11111

パリティ発生回路のカルノー図

(4ビット入力の)偶数パリティ発生回路のカルノー図

 単純に論理式を求めると次のようになる。

EVEN\,OUT=~IN_3~IN_2~IN_1~\bar{IN_0}~+~IN_3~IN_2~\bar{IN_1}~IN_0~+~IN_3~\bar{IN_2}~IN_1~IN_0~+~IN_3~\bar{IN_2}~\bar{IN_1}~\bar{IN_0}~+~\bar{IN_3}~IN_2~IN_1~IN_0~+~\bar{IN_3}~IN_2~\bar{IN_1}~\bar{IN_0}~+~\bar{IN_3}~\bar{IN_2}~IN_1~\bar{IN_0}~+~\bar{IN_3}~\bar{IN_2}~\bar{IN_1}~IN_0
=\(~IN_3~IN_2~IN_1~\oplus~IN_0~\)~+~\(~IN_3~\oplus~IN_2~IN_1~IN_0~\)~+~\(~IN_1~\oplus~IN_3~IN_2~IN\0~\)~+~\(~IN_2~\oplus~IN_3~IN_1~IN_0~\)
=IN_0~\oplus~\(~IN_1~\oplus~\(~IN_2~\oplus~IN_3~\)~\) ←(*)

 カルノー図が市松模様の場合、出力の論理式はすべての入力をExORまたはExNORしたものである。カルノー図の左上角が0なので、ExORを用いる。この方法を使えば、上記の方法よりも簡単に論理式を得られる。

EVEN\,OUT=IN_3~\oplus~IN_2~\oplus~IN_1~\oplus~IN_0 ←(**)

 (*)の括弧を取れば、(**)と同値である。

(4ビット入力の)奇数パリティ発生回路のカルノー図

ODD\,OUT=\bar{IN_3~\oplus~IN_2~\oplus~IN_1~\oplus~IN_0}

パリティ発生回路の回路図

(4ビット入力の)偶数パリティ発生回路の回路図

 論理式(*)から得られる回路図は次の通り。

 論理式(**)から得られる回路図は次の通り。

 この回路図の方が結線が少ないので作りやすい。

(4ビット入力の)奇数パリティ発生回路の回路図

 上と下は同値の回路図である。

参考文献

  • 『レジスタと演算回路』