動画の解説を参照
(テキスト147ページ)
復習 : ポジティブエッジトリガ型 D-FF (クリア機能つき) の動作
- \(CLR=0\)
- \(CLR=1\)
- \(CK\) の立ち上がり : \(Q\) は \(D\) と同じ値になる
- それ以外 : \(Q\) は直前の値を保持する
この素子を使ってこういう回路を作ると、信号を一時記憶する機能を持たせられる。
回路1
- \(CLR=0\)
- \(CLR=1\)
- \(CK\) の立ち上がり
- \(W=1\) : \(Q\) は \(A\) と同じ値になる
- \(W=0\) : \(Q\) は 0 になる
- それ以外
※ \(CLR\) と \(W\) の違い
- \(CLR\) は 0 にした瞬間に \(Q\) が0になる
- \(W\) は 0 にした状態で \(CLK\) が立ち上がると \(Q\) が0になる
回路1 (1ビットレジスタ) について、以下のタイミングチャートを完成させてください。
スクリーンショットや印刷したものをベースにして描き加えるのは構いませんが、Excelによる作図は不可です。
課題1のヒント
動画の解説を参照
(テキスト147, 148ページ)
回路1の構成を4つを横に並べると、4つの入力に対して同様の出力を出す回路ができる
回路2 (4ビットレジスタ)
- \(CLR=0\)
- \(CLR=1\)
- \(CK\) の立ち上がり
- \(W=1\) : \(Q_A\)~\(Q_D\) は \(A\)~\(D\) と同じ値になる
- \(W=0\) : \(Q_A\)~\(Q_D\) は 0 になる
- それ以外
- \(Q_A\)~\(Q_D\) は直前の値を保持する
※ 回路1と比べて、入力と出力のペアが \(A\) と \(Q_A\), \(B\) と \(Q_B\), \(C\) と \(Q_C\), \(D\) と \(Q_D\) に増えただけで、\(A\)~\(D\)
どうしは無関係。
回路2 (4ビットレジスタ) について、以下のタイミングチャートを完成させてください。
スクリーンショットや印刷したものをベースにして描き加えるのは構いませんが、Excelによる作図は不可です。
(初期状態では \(Q_A\), \(Q_B\), \(Q_C\), \(Q_D\) は 1, 1, 0, 0 で、\(B\), \(D\) は最初から最後までそれぞれ 1, 0
のままです。手描きの場合はこれも間違えないように注意)
課題2のヒント
動画の解説を参照
(テキスト148~150ページ)
復習 : ネガティブエッジトリガ型 JK-FF (プリセット・クリア機能つき) の動作
- \(PR=0\), \(CLR=1\)
- \(PR=1\), \(CLR=0\)
- \(PR=1\), \(CLR=1\)
- \(CK\) の立ち下がり
- \(J, K\) が 0, 0 : \(Q\) は直前の値を保持する
- \(J, K\) が 0, 1 : \(Q\) は 0 になる
- \(J, K\) が 1, 0 : \(Q\) は 1 になる
- \(J, K\) が 1, 1 : \(Q\) は直前と逆の値になる
- それ以外 : \(Q\) は直前の値を保持する
この素子を図のように配線したものがシフトレジスタ
回路3 (4ビットシフトレジスタ)
- \(S_{in}\) が入力
- \(Q_A\)~\(Q_D\) がパラレル出力 (parallel:並列)
- \(S_{out}\) がシリアル出力 (serial:連続)
- \(Q_D\) と \(S_{out}\) は同じもの
\(PR=1\), \(CLR=1\) では、\(CK\) の立ち下がりで
- \(S_{in}\) → \(Q_A\)
- \(Q_A\) → \(Q_B\)
- \(Q_B\) → \(Q_C\)
- \(Q_C\) → \(Q_D\)
のように値がコピーされる。
そのため、たとえば \(PR\), \(CLR\), \(CK\), \(S_{in}\) を次のように変えると、出力は表の右側の値のように変わる。
(「↓↑」は0になって1に戻ることを表わす。出力の変化は立ち下がりのタイミング)
\(PR\) |
\(CLR\) |
\(CK\) |
\(S_{in}\) |
\(Q_A\) |
\(Q_B\) |
\(Q_C\) |
\(Q_D\) |
1 |
1 |
1 |
\(x\) |
\(x\) |
\(x\) |
\(x\) |
\(x\) |
1 |
↓↑ |
1 |
\(x\) |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
↓↑ |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
↓↑ |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
↓↑ |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
↓↑ |
1 |
1 |
1 |
1 |
1 |
\(x\) : don't care
もしも途中で \(S_{in}\) の値を0に変えれば
\(PR\) |
\(CLR\) |
\(CK\) |
\(S_{in}\) |
\(Q_A\) |
\(Q_B\) |
\(Q_C\) |
\(Q_D\) |
1 |
1 |
1 |
\(x\) |
\(x\) |
\(x\) |
\(x\) |
\(x\) |
1 |
↓↑ |
1 |
\(x\) |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
↓↑ |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
↓↑ |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
↓↑ |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
↓↑ |
0 |
0 |
0 |
1 |
1 |
\(x\) : don't care
のように、そこから先はまた 0 の値が \(Q_A\) → \(Q_B\) → \(Q_C\) → \(Q_D\) に移っていく。
回路3 (4ビットシフトレジスタ) について、以下のように \(PR\), \(CLR\), \(CK\), \(S_{in}\) が変化する場合の表を完成させてください。
\(PR\) |
\(CLR\) |
\(CK\) |
\(S_{in}\) |
\(Q_A\) |
\(Q_B\) |
\(Q_C\) |
\(Q_D\) |
1 |
1 |
1 |
\(x\) |
\(x\) |
\(x\) |
\(x\) |
\(x\) |
1 |
↓↑ |
1 |
\(x\) |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
↓↑ |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
|
1 |
1 |
↓↑ |
0 |
|
|
|
|
1 |
1 |
↓↑ |
0 |
|
|
|
|
↓↑ |
1 |
1 |
0 |
|
|
|
|
1 |
1 |
↓↑ |
0 |
|
|
|
|
1 |
1 |
↓↑ |
0 |
|
|
|
|
\(x\) : don't care
課題3のヒント
動画の解説を参照
(テキスト151ページ)
リングカウンタ
シフトレジスタに以下の変更を加えたもの
- \(S_{in}\), \(S_{out}\) は使わない
- 先頭の JK-FF の \(PR\) にだけ \(PR\) の入力を入れ、残りの JK-FF には \(V_{CC}\) を入れる
- 最後の JK-FF の \(Q\) を先頭の JK-FF の \(J\) に入れる
- 最後の JK-FF の \(\overline{Q}\) を先頭の JK-FF の \(K\) に入れる
要するに、先頭の JK-FF を 最後の JK-FF の「1つ右」として扱い、循環させたもの
回路4 (4ビットリングカウンタ)
\(PR=1\), \(CLR=1\) では、\(CK\) の立ち下がりで
- \(Q_A\) → \(Q_B\)
- \(Q_B\) → \(Q_C\)
- \(Q_C\) → \(Q_D\)
- \(Q_D\) → \(Q_A\)
のように値がコピーされる。
そのため、たとえば \(PR\), \(CLR\), \(CK\) を次のように変えると、出力は表の右側の値のように変わる。
(「↓↑」は0になって1に戻ることを表わす。出力の変化は立ち下がりのタイミング)
\(PR\) |
\(CLR\) |
\(CK\) |
\(Q_A\) |
\(Q_B\) |
\(Q_C\) |
\(Q_D\) |
1 |
1 |
1 |
\(x\) |
\(x\) |
\(x\) |
\(x\) |
1 |
↓↑ |
1 |
0 |
0 |
0 |
0 |
↓↑ |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
↓↑ |
0 |
1 |
0 |
0 |
1 |
1 |
↓↑ |
0 |
0 |
1 |
0 |
1 |
1 |
↓↑ |
0 |
0 |
0 |
1 |
1 |
1 |
↓↑ |
1 |
0 |
0 |
0 |
1 |
1 |
↓↑ |
0 |
1 |
0 |
0 |
\(x\) : don't care
回路4 (4ビットリングカウンタ) について、以下のように \(PR\), \(CLR\), \(CK\) が変化する場合の表を完成させてください。
\(PR\) |
\(CLR\) |
\(CK\) |
\(Q_A\) |
\(Q_B\) |
\(Q_C\) |
\(Q_D\) |
1 |
1 |
1 |
\(x\) |
\(x\) |
\(x\) |
\(x\) |
1 |
↓↑ |
1 |
0 |
0 |
0 |
0 |
↓↑ |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
↓↑ |
0 |
1 |
0 |
0 |
1 |
1 |
↓↑ |
0 |
0 |
1 |
0 |
↓↑ |
1 |
1 |
|
|
|
|
1 |
1 |
↓↑ |
|
|
|
|
1 |
1 |
↓↑ |
|
|
|
|
1 |
1 |
↓↑ |
|
|
|
|
\(x\) : don't care
課題4のヒント
動画の解説を参照
(テキスト151~153ページ)
ジョンソンカウンタ
シフトレジスタに以下の変更を加えたもの
- \(S_{in}\), \(S_{out}\) は使わない
- 最後の JK-FF の \(Q\) を先頭の JK-FF の \(K\) に入れる
- 最後の JK-FF の \(\overline{Q}\) を先頭の JK-FF の \(J\) に入れる
リングカウンタとの違い
- 最後の JK-FF から先頭の JK-FF に入れるものが逆
- 先頭以外の JK-FF の \(PR\) にも \(PR\) の入力を入れる
回路5 (4ビットジョンソンカウンタ)
\(PR=1\), \(CLR=1\) では、\(CK\) の立ち下がりで
- \(Q_A\) → \(Q_B\)
- \(Q_B\) → \(Q_C\)
- \(Q_C\) → \(Q_D\)
- \(\overline{Q}_D\) → \(Q_A\)
のように値がコピーされる。
そのため、たとえば \(PR\), \(CLR\), \(CK\) を次のように変えると、出力は表の右側の値のように変わる。
(「↓↑」は0になって1に戻ることを表わす。出力の変化は立ち下がりのタイミング)
\(PR\) |
\(CLR\) |
\(CK\) |
\(Q_A\) |
\(Q_B\) |
\(Q_C\) |
\(Q_D\) |
1 |
1 |
1 |
\(x\) |
\(x\) |
\(x\) |
\(x\) |
1 |
↓↑ |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
↓↑ |
1 |
0 |
0 |
0 |
1 |
1 |
↓↑ |
1 |
1 |
0 |
0 |
1 |
1 |
↓↑ |
1 |
1 |
1 |
0 |
1 |
1 |
↓↑ |
1 |
1 |
1 |
1 |
1 |
1 |
↓↑ |
0 |
1 |
1 |
1 |
1 |
1 |
↓↑ |
0 |
0 |
1 |
1 |
1 |
1 |
↓↑ |
0 |
0 |
0 |
1 |
1 |
1 |
↓↑ |
0 |
0 |
0 |
0 |
\(x\) : don't care
回路5 (4ビットジョンソンカウンタ) について、以下のように \(PR\), \(CLR\), \(CK\) が変化する場合の表を完成させてください。
\(PR\) |
\(CLR\) |
\(CK\) |
\(Q_A\) |
\(Q_B\) |
\(Q_C\) |
\(Q_D\) |
1 |
1 |
1 |
\(x\) |
\(x\) |
\(x\) |
\(x\) |
↓↑ |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
↓↑ |
|
|
|
|
1 |
1 |
↓↑ |
|
|
|
|
1 |
1 |
↓↑ |
|
|
|
|
1 |
1 |
↓↑ |
|
|
|
|
1 |
1 |
↓↑ |
|
|
|
|
1 |
1 |
↓↑ |
|
|
|
|
1 |
1 |
↓↑ |
|
|
|
|
1 |
1 |
↓↑ |
|
|
|
|
\(x\) : don't care
課題5のヒント
ノート・紙に解いた課題を撮影したものを以下のフォームから送信してください。
課題提出用フォーム
※ 締切は12/24(火) 正午です。提出によって出席・点数がつきます。
※ 再提出の締切も同じ時刻です。