ディジタル回路 8. 機能的な順序回路 五島 正裕
機能的な順序回路 これまでの内容 すべての順序回路 : 状態機械 順序回路の簡単化 ⇒ 状態機械の簡単化 しかし,実際は… ディジタル回路 機能的な順序回路 これまでの内容 すべての順序回路 : 状態機械 順序回路の簡単化 ⇒ 状態機械の簡単化 しかし,実際は… 大規模で複雑な回路に対しては困難: その状態機械を求める それを簡単化する
機能的な順序回路 階層化設計 (hierarchical design) ex) ソフトウェアのサブルーチン 機能的な順序回路 比較的単純 ディジタル回路 機能的な順序回路 階層化設計 (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] ディジタル回路 レジスタ 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: 書き込み ディジタル回路 レジスタ(ライト・イネーブル付き) n-bit レジスタ ≒ n 個の D-FF Write-Enable:we 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: 書き込み ディジタル回路 レジスタ(ライト・イネーブル付き) n-bit レジスタ ≒ n 個の D-FF Write-Enable:we 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 に ディジタル回路 非同期リセット付き D-FF 非同期リセット (asynchronous reset) クロックと関係なく(非同期に),出力を 0 に data D Q sync_reset’ clock R R async_reset’ D Q R
ディジタル回路 レジスタ・ファイル
レジスタ・ファイル n-bit×4-word レジスタ・ファイル n-bit レジスタ WD[n −1:0] 4-to-1 we セレクタ ディジタル回路 レジスタ・ファイル n-bit×4-word レジスタ・ファイル n-bit レジスタ WD[n −1:0] 4-to-1 セレクタ we 2-to-4 デコーダ we RD[n −1:0] WA[1:0] we RA[1:0] WE we clk
ディジタル回路 カウンタ
(バイナリ)カウンタ 二進数を保存 入出力: キャリー入力:Cin 1 : インクリメント Cin Q D Q[0] C0 Q D Q[1] ディジタル回路 (バイナリ)カウンタ Cin 二進数を保存 入出力: キャリー入力:Cin 1 : インクリメント Q D Q[0] C0 Q D Q[1] 桁上げ (carry) C1 1 1 Q D 1 1 1 Q[2] +) 1 1 1 C2 clk
ディジタル回路 (バイナリ)カウンタ カウンタ: アップ・カウンタ ダウン・カウンタ アップ/ダウン・カウンタ
ディジタル回路 シフト・レジスタ
シフト・レジスタ n-bit レジスタ 入出力: Serial-In : SI Parallel-Out : PO[n−1...0] Q D ディジタル回路 シフト・レジスタ n-bit レジスタ 入出力: Serial-In : SI Parallel-Out : PO[n−1...0] Q D SI PO[0] Q D PO[1] Q D PO[n−1] clk
シフト・レジスタ(並列ロード付き) n-bit レジスタ 入出力: Serial-In : SI ディジタル回路 シフト・レジスタ(並列ロード付き) 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) ディジタル回路 シフト・レジスタ 並列―直列,直列―並列変換 (parallel-serial, serial-parallel conversion) SI SI PI PO PI PO SO SO clk clk clock recovery
リング・カウンタ リング・カウンタ シフト・レジスタの FF のうち, 1つ: プリセット 残り: リセット P D Q D Q D Q D ディジタル回路 リング・カウンタ リング・カウンタ シフト・レジスタの FF のうち, 1つ: プリセット 残り: リセット P D Q D Q D Q D Q R R R clk reset’
ディジタル回路 まとめ
ディジタル回路 今日のまとめ 状態機械の簡単化 実際には困難 機能的な順序回路の例 レジスタ カウンタ シフト・レジスタ