論理回路2

第6章 順序回路の基礎(その5)
   −シフトレジスタ−

井澤 裕司  


1 はじめに
本章では、 シフトレジスタ やその応用事例について学習します。

このシフトレジスタは、 一般にエッジトリガークロックのあるフリップフロップを用いて構成され、
ネットワーク等で使用されます。

例えば、ネットワークを用いて、 8ビットや16ビットの文字情報を伝送することができます。
しかし、ネットワークで使用する回線は、 通常1本(双方向では2本)に制限されます。
このため、送信側では複数のビットを1ビットずつ取り出して、 順番にネットワークに送り出す回路が必要になります。
また、受信側ではネットワークから送られてきた1ビットずつの信号を、 再び8ビットや16ビットに並び替えます。

このような並び替えの操作を
  ( パラレル→シリアル変換 : 並直列変換
  ( シリアル→パラレル変換 : 直並列変換
と呼びます。

シフトレジスタは、このような並び替えの操作を行います。
この シフトレジスタ の設計自体は、同期式カウンタの手法がそのまま利用できます。

原理や仕組みが理解できない場合は、 もう一度、同期式カウンタの5章を復習して下さい。

2 シフトレジスタの構成

 2.1 D-FFを用いた8ビットシフトレジスタ

はじめに、 D-FFを用いた8ビットのシフトレジスタの例 を示します。

エッジトリガーD-FFでは、クロックの立ち上りで、 入力 D の値が取り込まれ出力 Q に表れます。
クロックの立ち上り以外では、出力 Q は変化しません。

このエッジトリガーD-FFを従属接続すると、 シフトレジスタを構成することが可能です。

8 ビットの シフトレジスタの回路図とタイムチャート を以下に示します。

なお、8個のデータがシフトを完了した時点で 8個のD-FF出力を同時に読み取れば、
(シリアル→パラレル変換)を実現することができます。

2.2 JK-FFを用いた8ビットシフトレジスタ

D-FFと同様に、 クロック入力のあるJK-FF を用いてシフトレジスタを構成することができます。

JK-FFを用いた8ビットシフトレジスタの例 を以下に示します。

クロックの立ち下り で、入力信号が右方向に1ビットずつシフトします。


3 リングカウンタ

上で説明したシフトレジスタの原理を応用した、 リングカウンタ について説明します。

シフトレジスタの入力と出力を接続すると、 フリップフロップのビットパターン
1クロック毎にリング状に回転する回路を構成することが可能です。

例えば、回転するビットパターンの すべてが1、あるいは0 では意味がありません。
通常ビットパターンの1つが1、その他をすべて0にします。
このとき、1の位置が1クロックごとに回転しながらシフトします。

下の回路図は、そのような 6個のD-FFを用いた リングカウンタ です。

最初に1クロック分だけ1になるReset(リセット)信号を入力すると、 1個のD-FF出力だけが1にセットされます。
その後は、1の位置がクロックに応じて回転シフトします。

これらの動作をしっかり理解して下さい。


4 パラレルロード付きシフトレジスタ
先で述べたシフトレジスタは
  (シリアル→パラレル変換:直並列変換)
であり、入力は1つ、出力は並列ビットです。

もう一方の
  (パラレル→シリアル変換:並直列変換)
を行う回路を設計してみましょう。

この場合の入力は、並列ビット(例えば8ビット)、出力は1ビットになります。
パラレルロード信号により、並列ビットが同時にシフトレジスタに取り込まれ、 その後1クロック毎にシフトします。

下に、4ビットの パラレルロード機能 を有する シフトレジスタの回路図とタイムチャート を示します。
エッジトリガーD-FFの各入力には、 2入力の一方を選択するマルチプレクサ回路が接続されています。

2入力の一方は、シフトレジスタの入力、 他方はパラレルロードされる並列入力に接続されています。
パラレルロード信号(LOAD)が1のとき並列入力が、 0のときシフトレジスタの入力が選択されます。


5 まとめ
本章では、 シフトレジスタの構成法 を中心に解説しました。

これまで、順序回路の基礎について解説してきました。
次章から、擬似乱数発生回路など、より高度な論理回路の構成法を紹介します。
論理回路2のトップページに戻る