next up previous
: 4.4 一般的な順序回路 : 4 演算(2): 組み合わせ論理回路と順序回路 : 4.2 組み合わせ論理回路

4.3 フリップフロップ -- 順序回路の基本要素

既に述べたように、原理上は組み合わせ論理回路だけでどんな論理演算でも実 現できるが、現実には次のような問題がある。

  1. 実現したい処理内容によっては非常に大規模8な回路が必要になる。
  2. 現在の入力だけで回路の出力が決まるので入力の履歴や記憶に関する処 理ができない。

1. を解決するためには、問題を初期入力から一度の関数計算で解を求めるの ではなく、ステップ毎に手順を分割して順次解いていくものに変更する必要が ある。

そのためには、演算をステップ毎に順次実行できる回路9が必要になる。このような回路を順序回路(sequential circuit)と 呼ぶ。

順序回路や2.の処理の実現には出力が現在の入力だけでなく過去の入力に依存 する素子、つまり「記憶」を扱える素子が必要になる。このような回路の基本 となる回路要素がフリップフロップ(Flip Flop, 以下FFと略記する)である。

RS-フリップフロップ




\begin{tabular}
% latex2html id marker 2497
{c}
\parbox[b]{.45\linewidth}{\setle...
...abic{section}.\arabic{fig}\relax}\quad RS-FFの論理ゲートによる実現
\end{tabular}

\begin{tabular}
% latex2html id marker 2503
{\vert c\vert c\vert\vert c\vert c\v...
...ne
1&0&0&1\\ \hline
1&1&\multicolumn{2}{c\vert}{入力禁止}\\ \hline
\end{tabular}


RS-フリップフロップは$R$, $S$というふたつの入力と $Q$, $\overline{Q}$ というふたつの出力をもつ回路である。R, S という端子はそれぞれ set 入力 と reset 入力という意味で付けられた名称である。$\overline{Q}$という名 称はこの出力が常に$Q$の否定になることから付けられている。

RS-フリップフロップはふたつの入力$R$または$S$のどちらか一方だけが`1'の 場合は入力に応じて$Q$は`0'または`1'を出力する。$R=0, S=0$ の場合は直 前の値を保持するがこれは、

i.
入力が $R=$`0', $S=$`1' で出力が $Q=$`1' の状態から入力が $R=$`0', $S=$`0' になった場合は出力も $Q=$`1' のまま、
ii.
入力が $R=$`1', $S=$`0' で出力が $Q=$`0' の状態から入力が $R=$`0', $S=$`0' になった場合は出力も $Q=$`0' のまま、
という意味である。

真理値表では時刻を表す整数変数$n$を導入し、現在の時刻と前の時刻をそれ ぞれ$n$$n-1$と記すことができる。上の真理値表で$R=$`0'、$S=$`0'での出 力 $Q(n)$$Q(n-1)$に等しいというのは、$Q$は前の値を保持していることを 意味する。

なお、$R$, $S$ がともに`1'となるような入力は禁止されているので、使用時はこ のような入力が発生しないように注意する必要がある。

RS-フリップフロップの回路記号を次に示す。



$\textstyle \parbox{\linewidth}{\setlength{\epsfxsize}{\linewidth}\epsfbox{RS-FF.ips}}$

図4.2    RS-FFの回路記号(a)、クロック入力付きRS-FF(b)、基本動作(c)


クロック入力10付きRS-フリップフロップは、クロック入力が `0'から`1'に変化 するときだけ出力を変化させる。クロック入力がそれ以外のときは値は保持さ れる。このようなクロック入力を有するものを同期式回路 (synchronous circuit) といい、クロック入力のないものを非同期式回 路(asynchronous circuit)という。

D-フリップフロップ




\begin{tabular}
% latex2html id marker 2539
{c}
\parbox[b]{.2\linewidth}{\setlen...
...ig}{\bf 図\arabic{section}.\arabic{fig}\relax}\quad D-FFの回路記号
\end{tabular}

\begin{tabular}
% latex2html id marker 2545
{\vert c\vert c\vert\vert c\vert}
\m...
...\epsfbox{RisingEdge.ips}}&1\\ \hline
$X$&0 or 1 &$Q(n-1)$\\ \hline
\end{tabular}


D-フリップフロップは、クロック入力が `0'から`1'に変化するときに$Q$の値 を$D$に変化させ、それ以外は値を保持し続ける。




% latex2html id marker 3373
\fbox{\bf 課題\thesection.\arabic{practice}\relax}     D-フリップフロップの入力$D$と出力$\overline{Q}$を結線し、ク ロック入力CLKに一定時間毎に`0' $\rightarrow$ `1' $\rightarrow$ `0' $\rightarrow$ `1' $\cdots$ と`0'と`1'が交互に切り替わる信号を入力する。 出力$Q$に現れる信号がどうなるかを時刻を横軸にとってCLK入力信号と$Q$ 出力との関係がわかるように図示せよ。


JK-フリップフロップ




\begin{tabular}
% latex2html id marker 2566
{c}
\parbox[b]{.2\linewidth}{\setlen...
...g}{\bf 図\arabic{section}.\arabic{fig}\relax}\quad JK-FFの回路記号
\end{tabular}

\begin{tabular}
% latex2html id marker 2572
{\vert c\vert c\vert c\vert\vert c\v...
...s}}&$\overline{Q(n-1)}$\\ \hline
$X$&$X$&0 or 1 &$Q(n-1)$\\ \hline
\end{tabular}


JK-フリップフロップ11は、クロック入力が `0'から`1'に変化するときに$Q$の値を $J$, $K$ の値に応じて、前の値を保持($J=K=$`0'のとき)、$J$入力を出力 ($J\ne K$のとき)、前の値を反転($J=K=$`1'のとき)という動作をする。




% latex2html id marker 3419
\fbox{\bf 課題\thesection.\arabic{practice}\relax}     JK-フリップフロップを用いてD-フリップフロップを作るには$D$ 入力となるべき信号を入力$J$$K$に与えればよいか。回路図で示せ。同様に、 JK-フリップフロップを用いてT-フリップフロップ(テキスト56ページ)を作り たいとすれば入力$J$$K$には何を入力すればよいか。


レジスタ

値を保持する機能を利用すればフリップフロップに 1bit の記憶をさせること ができる。D-フリップフロップをを複数ビット(たとえば8〜32ビット)並べて データを保持できるようにしたものをレジスタ (register)と呼ぶ。

スタティックRAMの原理

フリップフロップは1ビットの状態を記憶できるので、これを基本要素として 多数集積し、アドレスを指定してフリップフロップの状態を変化させたり、読 み出したりできるようにすれば読み書き可能なメモリー(random access memory, RAM)が実現できる。これはスタティックRAM (static RAM)の 基本原理になっている。



$\textstyle \parbox{.13\linewidth}{\setlength{\epsfxsize}{\linewidth}\epsfbox{D-FFs.ips}}$ $\textstyle \parbox{.8\linewidth}{\setlength{\epsfxsize}{\linewidth}\epsfbox{Memory.ips}}$

図4.3    レジスタの構造(左)と半導体メモリーの基本構成の例(右)





% latex2html id marker 3459
\fbox{\bf 課題\thesection.\arabic{practice}\relax}     ダイナミックRAM (dynamic RAM)は上で説明したスタティッ クRAMと基本記憶要素の記憶保持の原理が異なっている。ダイナミックRAMでは 半導体基板上に形成したコンデンサーを利用して電荷の有無で記憶を実現して いる。このダイナミックRAMの動作原理を各自調べよ。



next up previous
: 4.4 一般的な順序回路 : 4 演算(2): 組み合わせ論理回路と順序回路 : 4.2 組み合わせ論理回路
kuchi@mech.kumamoto-u.ac.jp