1
第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)になる。
RS-FF回路にはQとQ�の2つの出力端子が設けられ,互いに逆の信号を出力する。つまりQ=1の ときはQ�=0,Q=0ときはQ�=1になる。RS-FF回路は2つの入力信号によってその出力状態をリセ ット(Reset)された状態またはセット(Set)された状態に保持する。すなわち論理値0か1のいずれか を安定状態(双安定状態という)として持つ1ビットのメモリである。なおflip-flopとは元々,パタパ タという擬音やトンボ返りという意味をもった英語である。
2
図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回路の真理値表(未完成)
入力 S R
出力(NAND回路) Q𝑛𝑛+1 Q�𝑛𝑛+1
出力(NOR回路) Q𝑛𝑛+1 Q�𝑛𝑛+1 0 0 Q𝑛𝑛 Q�𝑛𝑛
0 1 0 1 1 0 1 1 1
図4 RS-FF回路の状態遷移図(未完成)
3-3 実験
図 3(a)をブレッドボード上のゲート IC を使って配線しなさい。なお Setはパルス発生スイッチ DB(PSW2)を, Resetはパルス発生スイッチDA(PSW1)に接続しなさい。またQはLED0を,Q�は
q0 Q=0
q1 Q=1
(SR)
( ) ( ) ( ) ( )
( )
( )
3
LED1 に接続しなさい。配線が終わったら,状態遷移図通りに動作するか確認しなさい。確認した 結果や配線した回路は,実験ノートや写真に記録し,レポートに掲載すること(他の実験でも同様)。 またレポートに状態遷移図を示しRS-FFの動作を説明を記載すること。
図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の時に (SR)=(10)ならQ=1,Q�=0 となる。ゲート付きRS-FFでは,通常利用されない(SR)=(11)が入力で きる。また1ビットメモリでありながらSとRの2入力が必要で使いにくい。図7に示すD-Latch は,これを改善した回路である。入力が1つのData(D)のみとなり,(SR)=(11)に相当する入力は起 こらない。クロックパルスが0の状態では変化が反映されず1になった時に変化が反映されるため,
入力に対する状態変化の「遅れ(Delay)」が生じる。これがD-ラッチと呼ばれる理由である。
図6 ゲート付きRS-FF回路 図7 NAND4ゲートのD-ラッチ回路 DA, DB端子
DA, DBスイッチ
4 4-2 D-ラッチ回路の動作理論
表2にD-ラッチの真理値表を示す。クロックパルス(CK)が1の時にD=0ならQ=0,Q�=1,D=1 なら Q=1,Q�=0となる。ところで真理値表によれば D-ラッチの静的な動作は分かるが,時間的な 変化は理解しにくい。そこでD-ラッチの動作を分かりやすくするため横軸に時間を,縦軸にラッチ の入力と出力の状態をとって表したタイムチャートを使う。D-ラッチの動作を示すタイムチャート を図8(a)に示す。①でD=1となるがCKが1となるまでDは読み込まれないからQは変化しない。
②でCKが1となるのに同期してD=1が読み取られQ=1となる(Q�=0となる)。③でD=0となるが CKが0なのでDは読み込まれないからQは変化しない。④でCKが1になるのに同期してD=0 が読み取られQ=0 となる(Q�=1となる)。図8(b)はD-ラッチの動作を理解するための演習用のタイ ミングチャートである。[準備2] 図8(b)のを実験前に完成させること。(Qを記入する。)
表2 D-FFの真理値表
入力 出力
CK D Q Q�
0 0 / 1 Q (保持) Q� (保持)
1 0 0 1
1 1 1 0
図8(a) D-ラッチのタイミングチャート(解説用)
図8(b) D-ラッチのタイミングチャート(演習用)
D CLK Q
1 0
1 0 1 0
① ② ③ ④
5 4-3 実験
図7をブレッドボード上のゲートICを使って配線しなさい。入力と出力の関係と接続は以下のと おりである。図9を参考画像とする。配線した回路は撮影しレポートに掲載すること。
・D-ラッチのD ← SW9(データスイッチ)
・D-ラッチのD → LED0
・D-ラッチのCLK ← クロック出力端子・・・・(注意)
・クロック出力端子 → LED1 ・・・・・・(注意)
・D-ラッチのQ → LED2
・D-ラッチのQ� → LED3
(注意) クロック出力端子からNANDゲートICまでは遠く1本のジャンプワイヤーでは 届かないので,2本のジャンプワイヤーを使い,使われていないブレッドボードの穴を中継 して接続しなさい。クロック回路用電源入力端子にVcc(+5V)を接続しなさい。クロック周 波数は Hz 切り替えスイッチで「1Hz」に設定しなさい。さらに,クロック出力端子(残り の2つの端子のいずれか)からLED1に接続しなさい。
図9 (参考)NAND4ゲートのD-FF回路の実体配線
動作確認方法を説明する。ブレッドボードの電源を入れると,LED1が1秒周期で点滅する(これ はクロックパルスを示す)。データスイッチ(SW9)をON/OFFするとLED0が点灯/消灯する(これは D-ラッチへの入力を示す)。データスイッチをONにするとLED1点灯(クロック立ち上がり)に同期 してLED2が点灯する。LED1(クロックパルス)が消灯している間にデータスイッチをON/OFFす
クロック(CK)はNANDゲートま で届かないので中継する
1Hzに設定 SW9
6 ると分かりやすい。
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 (参考)オシロスコープとブレッドボードの接続図
7
次に,オシロスコープ(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-ラッチのタイミングチャート
8 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を記入する。)
図14(a) D-FF回路の構成(Dラッチ2個利用)
図14(b) D-FF回路のタイミングチャート
X CK Y Z
1 0 1 0
1 0 1 0
D CK
Q D
CK Q X
CK
Z DラッチA
Y DラッチB
9 5-3 D-FF (74LS74)を使った2ビットカウンタ回路
2個のD-FFを備えるIC(74LS74)を使って2ビットカウンタ回路を作る。図15に74LS74のピ ン配置を,図16に真理値表を示す。PR����はプリセット端子,CLR�����はクリア端子と呼ぶ。これらはD-FF を強制的に安定状態にさせるための信号入力である。PR, CLRにバーが付きPR����,CLR�����となっている のは負論理で動作することを示している。負論理はLで真,Hで偽となる。図16の真理値表で説明 すると,CK, Dがどんな状態であってもPR����=L,CLR�����=HでD-FFの出力を強制的にQ=1 (Q�=0)にす る。同様にもPR����=H,CLR�����=LでD-FFの出力を強制的にQ=0 (Q�=1)にする。PR����=L,CLR�����=Lは不定と する。 PR����=H,CLR�����=Hの場合にCK, Dに従う通常動作となる。
図 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に参考までに実体配線を示す。
・ データスイッチSW0(D0) → 1CLR�������(1番ピン) → 2CLR�������(13番ピン)
・ Vcc(+5V) → 1PR�����(4番ピン) → 2PR�����(10番ピン)
・ 1段目のD-FFのQ(OUT_D0) → 7セグメントLED端子’A’
10
・ 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 レポートの内容について
・指導書を良く読むこと。特にレポート掲載の必須項目(強調文)をよく確認すること。
・レポートを見て同じ実験を同じ条件で再度行い,同じ結果か得られるか確認できる形で書くこと。
・オリジナルの内容(自分で撮った写真,自分で記録したデータ,考察など)を多く記述すること。