Transcript 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
ディジタル回路
まとめ
ディジタル回路
今日のまとめ
状態機械の簡単化
実際には困難
機能的な順序回路の例
レジスタ
カウンタ
シフト・レジスタ