Title 論理回路 九州大学 工学部 電気情報工学科 01/28 講義内容 第1回:アナログとディジタル 第2回:論理代数と論理関数 第3回:論理関数の表現 第4回:MOSトランジスタの機能とCMOS論理と基本論理ゲート 第5回:論理式の最小化 第6回:組み合わせ論理回路の設計 第7回:組み合わせ回路と順序回路 第8回:フリップフロップとメモリ 第9回:有限状態機械 第10回:有限状態機械の状態数の最小化 第11回:一般化した次状態関数・出力関数 第12回:同期式順序回路による有限状態機械の実現 第13回:同期式順序回路の設計 02/28 講義日程 •「論理回路」と「コンピュータアーキテクチャI」はペア 科目として,学期の前後半にそれぞれ週2コマずつ実施 「論理回路」再試験 「論理回路」本試験@教場 Title 論理回路 第13回 —同期式順序回路の設計— 九州大学 工学部 電気情報工学科 04/31 組み合わせ 論理回路 … 記憶 … 入力 … 2値符号順序回路の構成 出力 … クロック 05/31 2値符号順序回路の構成 { 0, 1 }q f: { 0, 1 }p+r →{ 0, 1 }r g: { 0, 1 }p+r →{ 0, 1 }q … { 0, 1 }r … … { 0, 1 }p … クロック 05/31 同期式順序回路の設計手順 ① 「問題」を理解し順序機械を定義する ② 状態数を最小化する ③ 入力,出力,状態に対して符号を割り当てる ④ 状態遷移関数と出力関数を構成する ⑤ 組み合わせ回路を設計し順序回路を構成する ⑥ クロック信号を設計する 06/31 【確認】「系列の検出器」 • 連続して入力される0と1の系列に対して,3個連続 する0または1を検出する順序回路を設計せよ M = (I, O, S, δ, λ) -I: {0, 1} -O: {φ, 検出} -S: {s0, s1, s2, s3, s4} 07/31 状態遷移表 0 1 初期状態 s0 s 1, φ s 3, φ 0が1つ入力 s1 s 2, φ s 3, φ 0が連続して2つ入力 s2 s0, 検出 s3, φ 1が1つ入力 s3 s 1, φ s 4, φ 1が連続して2つ入力 s4 s1, φ s0, 検出 08/31 ② 状態数の最小化 0 1 s0 s0 s 1, φ s 3, φ s1 × s1 s 2, φ s 3, φ s2 × × s2 s 0, D s 3, φ s3 × × × s3 s 1, φ s 4, φ s4 × × × s4 s 1, φ s 0, D × s0 s1 s2 s3 s4 09/31 ③ 符号の割り当て I x O z S y0 y1 y2 0 0 φ 0 s0 0 0 0 1 1 D 1 s1 0 0 1 s2 0 1 0 s3 1 0 1 s4 1 1 0 10/31 状態遷移表 入力x 状態 y 0y 1y 2 000 001 010 101 110 0 001, 0 010, 0 000, 1 001, 0 001, 0 次状態 Y0Y1Y2 1 101, 0 101, 0 101, 0 110, 0 000, 1 出力 z 11/31 ④ 状態遷移関数 Y0 の構成 y 1y 2 xy0 00 01 11 10 00 0 0 * 0 01 * 0 * 0 11 * 1 * 0 10 1 1 * 1 Y0 = xy1’ + xy0’ 12/31 ④ 状態遷移関数 Y1 の構成 y 1y 2 xy0 00 01 11 10 00 0 1 * 0 01 * 0 * 0 11 * 1 * 0 10 0 0 * 0 Y1 = xy0y1’ + x’y0’y2 13/31 ④ 状態遷移関数 Y2 の構成 y 1y 2 xy0 00 01 11 10 00 1 0 * 0 01 * 1 * 1 11 * 0 * 0 10 1 1 * 1 Y2 = x’y0 + xy0’ + y1’y2’ 14/31 ④ 出力関数 z の構成 y 1y 2 xy0 00 01 11 10 00 0 0 * 1 01 * 0 * 0 11 * 0 * 1 10 0 0 * 0 z = x’y0’y1 + xy0y1 15/31 ⑤ 組み合わせ回路の構成 x z = x’y0’y1 + xy0y1 Y0 = xy1’ + xy0’ Y1 = xy0y1’ + x’y0’y2 Y2 = x’y0 + xy0’ + y1’y2’ y 0y 1y 2 z Y0Y1Y2 クロック 16/31 同期式順序回路の設計手順 ① 「問題」を理解し順序機械を定義する ② 状態数を最小化する ③ 入力,出力,状態に対して符号を割り当てる ④ 状態遷移関数と出力関数を構成する ⑤ 組み合わせ回路を設計し順序回路を構成する ⑥ クロック信号を設計する 17/31 クロック(クロックパルス) • クロック:論理値0と1とを一定周期で繰り返す信号 -同期式順序回路では,外部入力や内部状態はクロッ クパルスに同期して一斉に変化する -クロックパルスの周期は,組み合わせ回路部での計 算時間よりも長く,一周期以内に出力変数の値や次時 刻での状態変数の値が計算される -時間の単位はクロックパルスの周期で規定される 18/31 クロック信号の生成 • リング発振回路:NOTゲートを奇数個接続する 入力 出力 1 → 0 → 1 → 0 → 1 → 0 0 0 → 1 → 0 → 1 → 0 → 1 1 1 → 0 → 1 → 0 → 1 → 0 0 0 → 1 → 0 → 1 → 0 → 1 1 -ゲートの個数を調整することでクロック周期を制御可能 クロック信号の導入 入力 組み合わせ 論理回路 出力 クロック 20/31 クロック信号の導入 入力 組み合わせ 論理回路 出力 Q D クロック 20/31 ⑥ クロック信号の設計 x z = x’y0’y1 + xy0y1 Y0 = x Y1 = xy0 + x’y0’y2 + x’y0’y1 Y2 = x’y0 + xy0’ + y1’y2’ z QD QD y 0y 1y 2 Clock QD Y0Y1Y2 21/31 入出力のクロック制御 x QD z = x’y0’y1 + xy0y1 Y0 = x Y1 = xy0 + x’y0’y2 + x’y0’y1 Y2 = x’y0 + xy0’ + y1’y2’ z QD QD QD y 0y 1y 2 Clock QD Y0Y1Y2 22/28 クロック信号の周期 • セットアップ時間: -Clockが変化する前にdataが確定しているべき時間 • ホールド時間: -Clockの変化後にdataが有効状態を維持すべき時間 data setup hold Clock クロック周期 T > d1 + d2 + D(回路自体の遅延時間) 【確認】クロック周期の決定 2 x • 遅延時間: -インバータ→2ns -2入力素子→3ns -3入力素子→4ns -FF@d1+d2→3ns Clock 2 2 2 4 4 3 3 4 4 3 3 3 4 Q Q D z 4 3 Q Q D Y0 3 Y1 Y2 Q D Q 3 24/31 クロック周期の制御 • 分周回路:クロック周期を整数倍(n 倍)に変換する 入力 s 0, 0 状 s 1, 1 態 … sn-1, 0 0 s0 s1 … sn-1 1 s1 s2 … s0 -入力が0のときは停止,入力が1のときに分周 -状態がs1の場合に限り1を出力 →n クロックごとに1を出力(=クロック周期がn 倍)25/31 クロック T → 2T 入力 クロック2T (出力) クロックT -クロックT の立ち上がりで入力1を「取り込み」 -クロックT の立ち下がりで入力を「保持」し1を出力 クロック T → 2T 入力 クロック2T 00 「カウンタ」→ (出力) クロックT 01 10 11 -クロックT の立ち上がりで入力1を「取り込み」 -クロックT の立ち下がりで入力を「保持」し1を出力 【確認】クロック T → 3T • 以下のとおり定義される3倍周期の分周回路に ついて,組み合わせ論理回路を設計し,同期式 順序回路を構成せよ. 入力 M = (I, O, S, δ, λ) -I: {0, 1} -O: {0, 1} -S: {s0, s1, s2} -δ: S × I →O -λ: S →O 状 態 0 1 s 0, 0 s0 s1 s 1, 1 s1 s2 s 2, 0 s2 s0 ※ 第13回参照 27/31 符号割当済み状態遷移図 入力x 0 1 s0 00 00 01 状態 s1 01 01 10 y 0y 1 s 3 11 ** ** s2 10 10 00 次状態 Y0Y1 28/31 状態遷移関数の導出 x y 0y 1 x Y0 0 1 Y1 0 1 00 0 0 00 0 1 01 0 1 01 1 0 11 * * 11 * * 10 1 0 10 0 0 Y0 = x’y0 + xy1 y 0y 1 Y1 = x’y1 + xy0’y1’ 分周回路(T → 3T )の構成 Y0 = x’y0 + xy1 Y1 = x’y1 + xy0’y1’ 入力 x クロック3T (出力) クロックT y0 Y0 y1 Y1 30/31 次回予定 論理回路 第14回 —演習問題— 九州大学 工学部 電気情報工学科 31/31
© Copyright 2024 ExpyDoc