Document

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