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