シフトレジスタ (Shift Register)

5月 7, 2009

説明:

前回のフリップフロップの応用、シフトレジスタです。

本来はもっとシンプルなロジック(D-FF 4つの縦続など)で良いのですが、QC では動作しないため、クロックの立ち上がりと立ち下がりのそれぞれで動作するMaster-Slave 方式で組んでみました。

Logic で組んだ4bit のシフトレジスタ2段と、Mathematical Expression による8bit シフトレジスタを比較しています。

シフトレジスタとは

bit 列をシフト(横にずらす)します。シフトの方向によって右シフト、左シフトがあります。

シフトによって最下位のbit が空白になりますが、0 をつめる算術シフトと、外部Data をつめるものがあります。

シフトによって溢れた最上位bit を次段のシフトレジスタの最下位に接続することで、多bit 化することができます。

シフトレジスタによって、シリアルデータをパラレルデータに変換(またはその逆)を行うことができます。また、bit 列を2進数と見た場合、左シフトは2倍、右シフトは1/2倍となり、2nの乗算器になります。

動作:

上下2段の動作は同じです。(上がMathematical、下がLogic)

・Shift をON にして、左シフトを開始します

・Data をON/OFF すると、シフトレジスタに取り込まれます

・Load をON にすると、下段の8bit DIP SW からデータを取り込みます(シフト停止)

・Load をOFF にすると、DIP SW から取り込んだデータをシフトします

・Ring をON にすると、最上位bit から溢れたデータが最下位bit に戻ります

・Shift をOFF にすると、シフトを停止します

見所:

これまでの応用になります。

option -クリックで QTZ をダウンロード(ブラウザ内では動作しません)

option -クリックで QTZ をダウンロード(ブラウザ内では動作しません)

コメントを残す