順序回路 テキスト

第5回
順序回路
1.実験目的
フリップフロップ回路,ラッチ,カウンタなど,順序回路の動作原理を学ぶことを目的とする。
論理回路は大きく分けて2つの種類がある。1つは多数決回路や全加算器のように入力の組み合わ
せだけで出力が決まる「組み合わせ回路」である。他方は入力の組み合わせだけではなく,入力の
順序により出力が変化する「順序回路」である。組み合わせ回路は ROM と等価であり,RAM やレ
ジスタ,プログラムカウンタなどの回路を実現することはできない。本実験では,SRAM やレジス
タの基本となるフリップフロップ回路(FF 回路),AD 変換器や入力データの同期を取るために用い
る D-ラッチ(Delayed-Latch),プログラムカウンタや分周器などで用いるカウンタの3つの順序回路
について取り上げる。
2.使用器具
・ ブレッドボード(サンハヤト社製 IC トレーナー CT-311R,単三型 Eneloop 電池×4 取付済)
・ ロジック IC(ブレッドボードに取付済)
・ ジャンプワイヤー(黒,赤,黄,青,白,各 6 本計 30 本,IC トレーナーケース内に同梱)
・ 4 現象オシロスコープ(Pico Technology 社製 PicoScope4424)
3.
【実験 1】RS-FF 回路
3-1 フリップフロップ回路
論理回路で状態を維持する回路を実現するために,図 1(a)に示すラッチ回路が考えられた。ラッ
チとは留め金という意味がある。図 1(b)に示す論理値 1 の入力が生じた時から図 1(c)の出力状態を
維持する回路である。しかし図 1(b)に示すように入力が再び 0 に戻っても図 1(c)の出力は 1 のまま
であるので状態を 0 にすることが出来ない。つまり留め金が外せないままの状態である。
図 1 単純なラッチ回路
そこで,
図 2(a)のようにリセット端子をつける。
図 2(a)を NAND と NOT で表すと図 2(b)になる。
� の 2 つの出力端子が設けられ,互いに逆の信号を出力する。つまり Q=1 の
RS-FF 回路には Q とQ
� =0,Q=0 ときはQ
� =1 になる。RS-FF 回路は 2 つの入力信号によってその出力状態をリセ
ときはQ
ット(Reset)された状態またはセット(Set)された状態に保持する。すなわち論理値 0 か 1 のいずれか
を安定状態(双安定状態という)として持つ 1 ビットのメモリである。なお flip-flop とは元々,パタパ
タという擬音やトンボ返りという意味をもった英語である。
1
図2
状態の Set と Reset を備えたフリップフロップ回路
3-2 RS-FF 回路の動作理論
図 3 に RS-FF 回路を示す。図 3(a)は NAND による回路,図 3(b)は NOR による回路である。両
� の位置が異なるので注意されたい。
者とも同じ動作をする。対称に見えるが Q とQ
図 3 RS フリップフロップ回路
表 1 に RS-FF 回路の真理値表(一部未完成)を示す。出力 Q の説明であるが,Qn+1 は Qn の次の
状態という意味である。つまり(SR)=(00)ならば,次の状態も前の状態だから Qn+1=Qn である。
(SR)=(01)ならば前の状態が 0 であれ 1 であれ次の出力 Qn+1 は 0,(SR)=(10)ならば前の状態が 0 で
あれ 1 であれ次の出力 Qn+1 は 1 である。なお(SR)=(11)は,回路構成により出力が異なる。通常の
RS-FF の動作には用いられない。図4は入力によって状態が移り変わる様子を示したものであり,
状態遷移図と呼ぶ。[準備1]表1および図4の空欄を実験前に記入すること。
表1
RS-FF 回路の真理値表(未完成)
入力
出力(NAND 回路)
S R
0
0
0
1
1
0
1
1
Q 𝑛𝑛+1
Q 𝑛𝑛
0
1
� 𝑛𝑛+1
Q
� 𝑛𝑛
Q
1
( )( )
( )( )
出力(NOR 回路)
Q 𝑛𝑛+1
� 𝑛𝑛+1
Q
( )
q0
q1
Q=0
Q=1
(SR)
( )
図 4 RS-FF 回路の状態遷移図(未完成)
3-3 実験
図 3(a)をブレッドボード上のゲート IC を使って配線しなさい。なお Set はパルス発生スイッチ
�は
DB(PSW2)を, Reset はパルス発生スイッチ DA(PSW1)に接続しなさい。また Q は LED0 を,Q
2
LED1 に接続しなさい。配線が終わったら,状態遷移図通りに動作するか確認しなさい。確認した
結果や配線した回路は,実験ノートや写真に記録し,レポートに掲載すること(他の実験でも同様)
。
またレポートに状態遷移図を示し RS-FF の動作を説明を記載すること。
DA, DB 端子
DA, DB スイッチ
図5
(参考) RS-FF 回路の実体配線
4.
【実験 2】D-ラッチ回路
4-1 ゲート付き RS-FF と D-ラッチ
図 6 はゲート付き RS-FF の回路図である。CPU のレジスタやメモリは,クロックパルスの周期
に同期して動作している。そのため,実験 1 の RS-FF 回路のように入力(SR)が定まると直ちに状態
Qn が決定する回路は,入力を出力に反映させるタイミングを調整できず,レジスタなどの用途には
不向きである。ゲート付き RS-FF 回路はクロックパルスが 1 の時のみ状態 Qn が変化する。つまり
クロックパルスが 0 である時は変化せず,1 になっている時だけ入力値が反映される。この特性を利
用して,入力を出力に反映させるタイミングを調整できる。例えばクロックパルス(CK)が 1 の時に
� =0 となる。ゲート付き RS-FF では,通常利用されない(SR)=(11)が入力で
(SR)=(10)なら Q=1,Q
きる。また 1 ビットメモリでありながら S と R の 2 入力が必要で使いにくい。図 7 に示す D-Latch
は,これを改善した回路である。入力が1つの Data(D)のみとなり,(SR)=(11)に相当する入力は起
こらない。
クロックパルスが 0 の状態では変化が反映されず 1 になった時に変化が反映されるため,
入力に対する状態変化の「遅れ(Delay)」が生じる。これが D-ラッチと呼ばれる理由である。
図 7 NAND4 ゲートの D-ラッチ回路
図 6 ゲート付き RS-FF 回路
3
4-2 D-ラッチ回路の動作理論
� =1,D=1
表 2 に D-ラッチの真理値表を示す。クロックパルス(CK)が 1 の時に D=0 なら Q=0,Q
� =0 となる。ところで真理値表によれば D-ラッチの静的な動作は分かるが,時間的な
なら Q=1,Q
変化は理解しにくい。そこで D-ラッチの動作を分かりやすくするため横軸に時間を,縦軸にラッチ
の入力と出力の状態をとって表したタイムチャートを使う。D-ラッチの動作を示すタイムチャート
を図 8(a)に示す。
①で D=1 となるが CK が 1 となるまで D は読み込まれないから Q は変化しない。
� =0 となる)。③で D=0 となるが
②で CK が 1 となるのに同期して D=1 が読み取られ Q=1 となる(Q
CK が 0 なので D は読み込まれないから Q は変化しない。④で CK が 1 になるのに同期して D=0
� =1 となる)。図 8(b)は D-ラッチの動作を理解するための演習用のタイ
が読み取られ Q=0 となる(Q
(Q を記入する。)
ミングチャートである。[準備 2] 図 8(b)のを実験前に完成させること。
表2
D-FF の真理値表
出力
入力
CK
D
Q
0
0/1
Q (保持)
1
0
0
1
1
1
① ②
�
Q
� (保持)
Q
1
0
③ ④
図 8(a) D-ラッチのタイミングチャート(解説用)
D
CLK
Q
1
0
1
0
1
0
図 8(b) D-ラッチのタイミングチャート(演習用)
4
4-3 実験
図 7 をブレッドボード上のゲート IC を使って配線しなさい。入力と出力の関係と接続は以下のと
おりである。図 9 を参考画像とする。配線した回路は撮影しレポートに掲載すること。
・D-ラッチの D ← SW9(データスイッチ)
・D-ラッチの D → LED0
・D-ラッチの CLK ← クロック出力端子・・・・(注意)
・クロック出力端子 → LED1
・・・・・・(注意)
・D-ラッチの Q → LED2
� → LED3
・D-ラッチのQ
(注意) クロック出力端子から NAND ゲート IC までは遠く 1 本のジャンプワイヤーでは
届かないので,2 本のジャンプワイヤーを使い,使われていないブレッドボードの穴を中継
して接続しなさい。クロック回路用電源入力端子に Vcc(+5V)を接続しなさい。クロック周
波数は Hz 切り替えスイッチで「1Hz」に設定しなさい。さらに,クロック出力端子(残り
の 2 つの端子のいずれか)から LED1 に接続しなさい。
クロック(CK)は NAND ゲートま
で届かないので中継する
1Hz に設定
SW9
図9
(参考)NAND4 ゲートの D-FF 回路の実体配線
動作確認方法を説明する。 ブレッドボードの電源を入れると,LED1 が 1 秒周期で点滅する(これ
はクロックパルスを示す)。データスイッチ(SW9)を ON/OFF すると LED0 が点灯/消灯する(これは
D-ラッチへの入力を示す)。データスイッチを ON にすると LED1 点灯(クロック立ち上がり)に同期
して LED2 が点灯する。LED1(クロックパルス)が消灯している間にデータスイッチを ON/OFF す
5
ると分かりやすい。
LED で動作が確認できたら,オシロスコープでタイミングチャートを計測しなさい。プローブを
4 本用意してそれぞれ倍率を「×1」にして,以下の端子にクリップしなさい(図 10,図 11)。端子の
クリップ状況とオシロスコープ接続状態がわかる写真を撮影しておくこと。
・I0(LED0) ← プローブ 1 ・・・・・D-ラッチの D を観察するため
・I1(LED1) ← プローブ 2 ・・・・・クロック(CK)を観察するため
・I2(LED2) ← プローブ 3 ・・・・・D-ラッチの Q を観察するため
� を観察するため
・I3(LED3) ← プローブ 4 ・・・・・D-ラッチのQ
・ブレッドボードの GND 端子 ← 各プローブの GND クリップ,ワイヤーで引き出す
(a)LED 端子との接続位置
(b)GND から引き出したワイヤーとのクリップ
図 10 プローブのクリップ位置
図 11 (参考)オシロスコープとブレッドボードの接続図
6
次に,オシロスコープ(PicoScope4424)を PC の USB 端子に接続してからソフトウェア「Picosope
6」を起動する。マウスを使って上部メニューの中の時間軸を 1s/div(1 目盛 1 秒)に,チャンネル
A,B,C,D の電圧感度を±5V に設定する(図 12)。次にメニューの[Views]-[Auto-arrange axes]を選択
すると波形表示が上から順に整列される。
図 12 オシロスコープの時間軸と電圧感度の設定
ブレッドボードの電源を入れ,波形が表示されたら,データスイッチ(SW9)を操作して D-ラッチ
の動作を確認しなさい。確認できたら D 入力 ON から OFF までの過程を 1 画面に収まるように操
作してその画面を取り込みなさい(図 13)。手順としては 1 過程が収まったら,画面左下の停止ボタ
ンを押して画面を停止させ,[File]→[Save current wave as…]とすれば,現在の画面を保存するこ
とができる。保存の形式はビットマップ(BMP)とすること。ファイル保存用の USB メモリなどを事
前に準備すること。レポートには図 13 の画像のような画像の上に,各波形に何の信号か名前を書き
入れ,さらに図 8 の①~④のようにタイミングを記入して各信号の動作の意味を説明すること。
図 13 (参考)オシロスコープで計測した D-ラッチのタイミングチャート
7
5.
【実験 3】カウンタ回路
5-1 nビットカウンタ回路
カウンタ回路とは入力されたパルスの数を数える回路(計数回路)である。一般に n ビットカウンタ
とは 0 から 2n-1 まで数え,その数を 2 進数で出力する回路である。カウンタ回路はこの他,時間
を測る回路やパルスを発生させる回路としても用いられ,順序回路の応用回路として有名かつ重要
な回路である。
5-2 D-FF 回路
D-FF 回路は,クロックパルス(CK)の立ち上がり(0→1 の変化)の瞬間のみ入力を読み取り,その
他の時間では出力を保持する回路である。D-FF は,図 14(a)に示すように 2 つの D ラッチ(図 7)で
構成できる。動作原理を解説する。はじめに CK が 0 である間は,D ラッチ A は NOT によりラッ
チが外れた状態にあり X がそのまま Q(Y)に伝わる。しかし D ラッチ B はラッチ状態(掛け金が入
った状態)であり,Z は更新されず前の出力状態のまま保持される。CK が 1 に変化すると,D ラッ
チ A はラッチ状態となり,CK が 1 になる直前の状態を Q(Y)として保持する。一方 D ラッチ B は
ラッチが外れた状態なので Y をそのまま Z に出力する。
ここで D ラッチ B は非ラッチ状態であるが,
Y が D ラッチ A によりラッチされているため Z は変化しない。再度 CK が 0 に変化すると,D ラッ
チ B は CK が 0 に変化する直前の Z(=Y)の状態を保持するため変化しない。一方 D ラッチ A は,ラ
ッチが外れ Y が変化する状態に戻る。以上が,CK が 0 から 1 に変化する瞬間(厳密には,変化す
る直前の状態)を保持する回路となる理由である。図 14(b)は演習用のタイミングチャートである。
[準備 3] 図 14(b)のを実験前に完成させること。
(Y と Z を記入する。)
D ラッチ A
X
D
Q
CK
Y
D ラッチ B
D
Q
Z
CK
CK
図 14(a) D-FF 回路の構成(D ラッチ2個利用)
X
CK
1
0
1
0
Y
1
0
Z
1
0
図 14(b) D-FF 回路のタイミングチャート
8
5-3 D-FF (74LS74)を使った 2 ビットカウンタ回路
2 個の D-FF を備える IC(74LS74)を使って 2 ビットカウンタ回路を作る。図 15 に 74LS74 のピ
PRはプリセット端子,�����
CLRはクリア端子と呼ぶ。これらは D-FF
ン配置を,図 16 に真理値表を示す。����
�����となっている
����,CLR
を強制的に安定状態にさせるための信号入力である。PR, CLR にバーが付きPR
のは負論理で動作することを示している。負論理は L で真,H で偽となる。図 16 の真理値表で説明
� =0)にす
�����=H で D-FF の出力を強制的に Q=1 (Q
����=L,CLR
すると,CK, D がどんな状態であってもPR
� =1)にする。PR
�����=L で D-FF の出力を強制的に Q=0 (Q
�����=L は不定と
����=H,CLR
����=L,CLR
る。同様にもPR
�����=H の場合に CK, D に従う通常動作となる。
PR=H,CLR
する。 ����
図 17 に 2 ビットカウンタ回路を示す。OUT_D0, OUT_D1 により 2 進数 2 桁の出力を行う。
OUT_D0 が最下位桁である。CLK が立ち上がるたびに 00, 01, 10, 11, 00, 01, … のようにカウント
を繰り返していく。
図 15 74LS74(D-FF)のピン配置
図 16 74LS74(D-FF)の真理値表
図 17 2 ビットカウンタ回路
5-4 実験
図 17 をブレッドボード上の IC を使って配線しなさい。74LS74 はブレッドボードの右上に配置
してある。電源は近くまで配線されていないので,ジャンプワイヤーを使って適宜配線すること。
さらに以下の配線も行いなさい。図 18 に参考までに実体配線を示す。
�������(1 番ピン) → 2CLR
�������(13 番ピン)
・ データスイッチ SW0(D0) → 1CLR
1PR(4 番ピン) → �����
2PR(10 番ピン)
・ Vcc(+5V) → �����
・ 1 段目の D-FF の Q(OUT_D0) → 7 セグメント LED 端子’A’
9
・ 2 段目の D-FF の Q(OUT_D1) → 7 セグメント LED 端子’B’
・ Vcc(+5V) → 7 セグメント LED 電源入力(+5V IN)
・ CK → LED0(I0)
・ Vcc(+5V) → クロック(CK)の電源入力 (+5V IN)
配線が終わったら,ブレッドボードの電源を入れる。クロック周波数を 1Hz にする。SW0 を上に
倒す。7 セグメント LED には 1 秒周期で 0,1,2,3 と表示が繰り返される。配線した回路と正常に表
示が切り替わることがわかる写真を撮影しレポートに掲載すること。またレポートには,これらの
過程をタイミングチャートで示しその動作を説明すること。タイミングチャートは計測ではなく模
式図とすること。信号と動作タイミングは説明に必要なだけタイミングチャートに書き入れること。
図 18 (参考)2 ビットカウンタ回路の実体配線
6.注意事項
6-1 事前準備
・[準備 1~3]を実施し,印刷した指導書などに記載すること。記載が無い場合,実験開始を許可しない。
・指導書を良く読み,各実験での回路の動作原理を事前に理解しておくこと。
・予想される結果をまとめておくこと。これを怠ると,結果が正しいかどうか判断できない。
6-2 レポートの内容について
・指導書を良く読むこと。特にレポート掲載の必須項目(強調文)をよく確認すること。
・レポートを見て同じ実験を同じ条件で再度行い,同じ結果か得られるか確認できる形で書くこと。
・オリジナルの内容(自分で撮った写真,自分で記録したデータ,考察など)を多く記述すること。
10