8. 順序回路の簡単化,機能的な順序回路 五島 正裕.

Slides:



Advertisements
Similar presentations
論理回路 第 12 回 TkGate 実習 - 順序回路 38 号館 4 階 N-411 内線 5459
Advertisements

VLSI設計論第4回 アキュムレータマシンと 仮遅延シミュレーション
第12回 順序回路の解析方法 瀬戸 順序回路から,以下を導き、解析を行えるようにする タイムチャート 状態遷移関数・出力関数 状態遷移表
マイコン入門実践教育プロセス説明 第4システム部 ES443 塩島秀樹.
計算機システムⅡ 主記憶装置とALU,レジスタの制御
5.3 各種カウンタ 平木.
CPU実験 第1回中間発表 4班 瀬沼、高橋、津田、富山、張本.
第2回 真理値表,基本ゲート, 組合せ回路の設計
テープ(メモリ)と状態で何をするか決める
4. 順序回路 五島 正裕.
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
計算機システムⅡ 命令セットアーキテクチャ
ロジック回路学習ボード MLCTB-BASE 説明書 NAND 7400 NOT 7404 AND 7408 OR 7432
4.2.2 4to1セレクタ.
第4回 カルノー図による組合せ回路の簡単化 瀬戸 目標 ・AND-OR二段回路の実現コスト(面積、遅延)が出せる
第10回 Dフリップフロップ ディジタル回路で特に重要な D-FF 仕組みを理解する タイミング図を読み書きできるようにする 瀬戸
基本情報技術概論(第3回) 埼玉大学 理工学研究科 堀山 貴史
7. 順序回路 五島 正裕.
2005年11月2日(木) 計算機工学論A 修士1年 No, 堀江準.
第7回 2006/6/12.
5. 機能的な組み合わせ回路 五島 正裕.
論理回路 第7回
論理回路 第8回
ハードウェア記述言語による 論理回路設計とFPGAへの実装 2
6. 順序回路の基礎 五島 正裕.
第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路
アルゴリズムとチューリングマシン 「もの」(商品)としてのコンピュータ 「こと」(思想)としてのコンピュータ アルゴリズム
高速剰余算アルゴリズムとそのハードウェア実装についての研究
ディジタル回路 3. 組み合わせ回路 五島 正裕 2018/11/28.
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
2. 論理ゲート と ブール代数 五島 正裕.
5 テスト技術 5.1 テストとは LISのテスト 故障診断 fault diagnosis 故障解析 fault analysis
ディジタル回路 2. ブール代数 と 論理ゲート 五島 正裕.
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
ディジタル回路 6. 順序回路の実現 五島 正裕.
第6回 6/4/2011 状態遷移回路とシングルサイクルCPU設計
ディジタル回路 5. ロジックの構成 五島 正裕.
ディジタル回路の設計と CADによるシステム設計
3. 論理ゲート の 実現 五島 正裕.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
9. 演算回路 五島 正裕.
コンピュータアーキテクチャ 第 7 回.
コンピュータアーキテクチャ 第 7 回.
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
VLSI設計論第3回 順序回路の記述と論理合成
7. 機能的な組み合わせ回路 五島 正裕.
ディジタル回路 7. 機能的な組み合わせ回路 五島 正裕.
長さの制限付きギャップと 文字クラスを含むパタンに対する 照合アルゴリズムの改善
第11回 よく使われる順序回路 複数のFFを接続した回路を解析する際の考え方を学ぶ カウンタ回路の仕組みを理解し,設計できるようにする 瀬戸.
コンピュータアーキテクチャ 第 10 回.
09. メモリ・ディスアンビギュエーション 五島 正裕.
ディジタル回路 9. 演算回路 五島 正裕.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
論理回路 第12回
  第3章 論理回路  コンピュータでは,データを2進数の0と1で表現している.この2つの値,すなわち,2値で扱われるデータを論理データという.論理データの計算・判断・記憶は論理回路により実現される.  コンピュータのハードウェアは,基本的に論理回路で作られている。              論理積回路.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
計算機工学特論 スライド 電気電子工学専攻 修士1年 弓仲研究室 河西良介
コンピュータアーキテクチャ 第 10 回.
コンピュータアーキテクチャ 第 3 回.
コンピュータアーキテクチャ 第 5 回.
8. 順序回路の実現 五島 正裕.
メカトロニクス 12/15 デジタル回路 メカトロニクス 12/15.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
9. 演算回路 五島 正裕.
コンピュータアーキテクチャ 第 3 回.
計算機工学論A P46~P49 クロック、リセット、クロック・イネーブルのセット 状態の出力値の指定 ステート・トランジョンの指定
コンピュータアーキテクチャ 第 5 回.
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
ディジタル回路 8. 機能的な順序回路 五島 正裕.
信号伝搬時間の電源電圧依存性の制御 による超伝導単一磁束量子回路の 動作余裕度の改善
Presentation transcript:

8. 順序回路の簡単化,機能的な順序回路 五島 正裕

前回の復習

順序回路の例 Q 自動販売機 使える硬貨は100円のみ 200円の商品1種のみ 100円が 2個投入されると,商品を送り出す その順序機械: 入力 x:100円が投入されると,1サイクルの間だけ 1 出力 z:1 のとき,商品が送り出される

順序回路の例 x 1 z time clock x z

(state transition table) 順序回路の例 time x 1 z 0 / 0 1 / 0 S(t) S(t +1), z(t) x = 0 x = 1 A A, 0 B, 0 B A, 1 A B 1 / 1 0 / 0 x / z 状態遷移図 (state diagram) 状態遷移表 (state transition table)

順序回路の例 D Q clock 状態 A と B (たとえば)D-FF 1個で 状態割り当て A : Q = 0 B : Q = 1

順序回路の例 S(t) S(t+1), z x = 0 x = 1 A A, 0 B, 0 B A, 1 Q D x = 0 x = 1 1 1 Q z x = 0 x = 1 1 A : Q = 0 B : Q = 1 状態遷移表 次状態関数 (next state function) の真理値表 出力関数 (output function) の真理値表 D = Q’x + Qx’ z = Qx

順序回路の例 D Q x z clock time x Q z

順序回路の例 その2 Q 自動販売機 使える硬貨は100円のみ 200円の商品1種のみ 100円が 2個投入されると,次のサイクルに 商品を送り出す その順序機械: 入力 x:100円が投入されると,1サイクルの間だけ 1 出力 z:1 のとき,商品が送り出される

順序回路の例 その2 D Q x Q D z clock time x Q z

Mealy 機械 と Moore 機械 D Q D Q x x Q D z z clk clk Mealy 機械 Moore 機械

Mealy 機械 と Moore 機械 出力関数 出力関数 出力 出力 入力 次状態関数 入力 次状態関数 Q D Q D 現状態 次状態 clk clk Mealy 機械 Moore 機械

順序回路の簡単化

順序回路の簡単化 状態の削除 不要な状態の削除 重複した状態の削除 状態割り当ての「最適」化

不要な状態の削除 a D Q x ad aq Q D z bd bq clk b A 00 0 / 1 B 01 0 / 0 1 / 0 初期状態 clk b A 00 0 / 1 B 01 0 / 0 1 / 0 1 / 0 1 / 1 1 / 1 C 10 D 11 0 / 0 0 / 1

不要な状態の削除 S(t) S(t+1), z(t) x = 0 x = 1 A:00 A:00, 0 C:10, 0 B:01 x : don’t care aqbq ad x = 0 x = 1 00 1 01 11 x 10 aqbq bd x = 0 x = 1 00 01 11 x 10 1 aqbq z x = 0 x = 1 00 01 1 11 x 10 ad = aq’x + aqx’ bd = aqx z = bq

不要な状態の削除 a D Q x ad aq Q D z bd bq clock b ad = aq’x + aqx’ bd = aq x z = bq

重複した状態の削除 D Q x Q D z clock b a Q D Q D x z clock

重複した状態の削除 次状態と出力が同じ状態は,同じ状態 S(t+1), z(t) S(t) : a b x = 0 x = 1 A : 00 C : 10, 0 B : 01 B : 01, 0 D : 11, 0 C : 10 D : 11 A : 00, 1 C : 10, 1 S(t+1), z(t) S(t) : a b x = 0 x = 1 A : 00 A : 00, 0 B : 10, 0 B : 01 B : 01, 0 D : 11, 0 D : 11 A : 00, 1 B : 10, 1 b a Q D Q D x z clock

重複した状態の削除 次状態と出力が同じ状態は,同じ状態 S(t+1), z(t) S(t) : a b x = 0 x = 1 A : 00 C : 10, 0 B : 01 B : 01, 0 D : 11, 0 C : 10 D : 11 A : 00, 1 C : 10, 1 S(t+1), z(t) S(t) : a b x = 0 x = 1 A : 00 A : 00, 0 B : 10, 0 B : 01 B : 01, 0 D : 11, 0 D : 11 A : 00, 1 B : 10, 1 A 00 B 01 A 00 1 / 0 B 01 0 / 0 0 / 0 0 / 0 0 / 0 1 / 1 1 / 0 1 / 0 1 / 0 0 / 0 0 / 1 0 / 1 1 / 0 C 10 D 11 D 11 1 / 1

状態割り当ての「最適」化 状態割り当て A:00, B:01, C:10, D:11 A:00, B:01, C:11, D:10 ... n 個の状態を k 個のFFで表すとき,異なる割り当て (2k − 1)! / (2k − n)! k! 通り n = 3, k = 2 ⇒ 3 通り n = 5, k = 3 ⇒ 140 通り n = 10, k = 4 ⇒ 27億+ 通り 効率のよいアルゴリズムは知られていない! 仕様どおり,素直に設計したほうがよい(?)

機能的な順序回路

機能的な組み合わせ回路 これまでの内容 すべての組み合わせ回路 : 論理関数(完全集合) 論理回路の簡単化 ⇒ 最小の積和形(和積型)回路 しかし,実際は… 大規模で複雑な回路に対しては困難: その論理関数を求める それを簡単化する

機能的な組み合わせ回路 階層化設計 (hierarchical design) ex) ソフトウェアのサブルーチン 機能的な組み合わせ回路 比較的単純 頻繁に使われる

機能的な組み合わせ回路の例 非演算回路 セレクタ デコーダ エンコーダ 演算回路 ALU シフタ 浮動小数点演算器

機能的な順序回路 これまでの内容 すべての順序回路 : 状態遷移 順序回路の簡単化 ⇒ 状態遷移の簡単化 しかし,実際は… 大規模で複雑な回路に対しては困難: その状態,遷移を求める それを簡単化する

機能的な組み合わせ回路 階層化設計 (hierarchical design) ex) ソフトウェアのサブルーチン 機能的な順序回路 比較的単純 頻繁に使われる

機能的な順序回路の例 機能的な順序回路の例: レジスタ カウンタ シフト・レジスタ

レジスタ n-bit レジスタ ≒ n 個の D-FF Q D D[0] Q[0] Q D D[1] Q[1] Q D D[n−1] Q[n−1] clk

レジスタ(ライト・イネーブル付き) n-bit レジスタ ≒ n 個の D-FF Write-Enable:we 0: 保持 1: 書き込み 0: 保持 1: 書き込み Q D Q[0] D[0] Q D Q[1] D[1] Q D Q[n−1] D[n−1] we clk

レジスタ(ライト・イネーブル付き) n-bit レジスタ ≒ n 個の D-FF Write-Enable:we 0: 保持 1: 書き込み 0: 保持 1: 書き込み クロック・ゲーティング Q D D[0] Q[0] Q D D[1] Q[1] Q D D[n−1] Q[n−1] we clk

クロック・ゲーティング Q D we clk c time 下げるのが遅いと... clk we c 失敗!

リセット フリップ・フロップ 初期状態(電源投入直後の状態):不定 (unknown) 1 1

非同期リセット付き D-FF 非同期リセット (asynchronous reset) クロックと関係なく(非同期に),出力を 0 に data D Q sync_reset’ clock R R async_reset’ D Q R

(バイナリ)カウンタ Cin 二進数を保存 入出力: キャリー入力:Cin 1 : インクリメント Q D Q[0] C0 Q D Q[1] 1 : インクリメント Q D Q[0] C0 Q D Q[1] 桁上げ (carry) C1 1 1 1 Q D +) 1 1 1 Q[2] 1 1 C2 clk

(バイナリ)カウンタ カウンタ: アップ・カウンタ ダウン・カウンタ アップ/ダウン・カウンタ

シフト・レジスタ n-bit レジスタ 入出力: Serial-In : SI Parallel-Out : PO[n−1...0] Q D clk

シフト・レジスタ(並列ロード付き) n-bit レジスタ 入出力: Serial-In : SI Parallel-Out : PO[n−1...0] Parallel-In : PI[n−1...0] Load:l 0: シフト 1: ロード SI Q D PO[0] PI[0] Q D PO[1] PI[1] Q D PO[n−1] PI[n−1] l clk

シフト・レジスタ 並列―直列,直列―並列変換 (parallel-serial, serial-parallel conversion) PI PO PI PO SO SO clk clk clock recovery

リング・カウンタ リング・カウンタ シフト・レジスタの FF のうち, 1つ: プリセット 残り:リセット P D Q D Q D Q D 1つ: プリセット 残り:リセット P D Q D Q D Q D Q R R R clk reset’

今日のまとめ

今日のまとめ 順序回路の簡単化 機能的な順序回路 レジスタ カウンタ シフト・レジスタ

今後の予定 12/22 演算回路 1/12 3/ 2 試験 (9:00~10:30)