論理回路デザイン
ホーム
パイプライン
テクニック
テスト
設計例 ⇒
FIFO
浮動小数点
FFT
CICフィルタ
DDR制御(論理)
DDR制御(実装)
キャッシュ
クロスバス
パイプラインとは
ステージの構造
ステージの連結
結合
スループット制御
調停
同期
メモリ接続
リソースシェアリング
パラメータ
ステージの連結
各ステージの処理時間をtS
n
{n=0,1,… N-1}とすると、パイプラインの最大スループットは1/max(tS
0
, tS
1
,… tS
N-1
)です。tSが全て等しい場合に、最大効率化します。
ステージ間の論理段数分の遅延と、FFのセットアップ時間等の合計は、tS
n
(動作周波数に依存)以下にする必要があります。とりわけ、data間のパスの数に注意し、バランスよくステージ分配します。
ステージは任意の型どうし自由に接続可能です。無秩序に接続するのではなく、キューイング性能、タイミング制約、回路規模制約を考慮して選択します。
代表的な接続例を示します。通常、
バッファ型(S
?
)の連結
を使い、状況に応じてその他を使うようにします。
原始型(S
O
)
の連結
Stall制御を行うため、
FIFO
を終端に配置。
制御揺らぎを一旦排除したい場合、またハンドシェークできないRAWデバイスを制御したい場合に使用。
始端のiStallのゆらぎを吸収するため、Stall制御不必要のステージ段数分を受け止めることができるバッファ(通常FIFO)を用意する。
バッファの前述した段数分の空きを示す信号を用意し、始端部分の制御を行う。
例えば、FIFOのbusy信号(not emptyもしくはthreshold over)がアサートされる時は以下を実施する。
Stall制御不要のステージへのValidをマスク(0にする)
前段にはそのままStall信号として出力
基本型(S
I
)
の連結
パイプライン全体がStallに連動するため、クロックゲーティングやリソースシェアリングの制御が比較的容易
Stallはステージ段数分のセレクタとFFを駆動するため高負荷に注意。
バッファ型(S
?
)
の連結
緩衝バッファとしてパイプライン長N分のStallの揺らぎを吸収。
Stallには遅延が蓄積していくため、上流ステージほど論理段数に対する制約が厳しい方向へ。段数が同じなら
基本型(S
I
)の連結
より厳しい。
パス型(S
?
)
の連結
バッファ型(S
?
)
を終端に配置することで、動作はFIFOと等価。
FIFO動作でありながら多段ステージによるデータ加工が可能。
Valid, Stallともこの系でタイミグアークは切断するが、パイプライン長Nが大きいと系内の論理段数に対する制約が厳しい方向へ。通常、N=2程度で使用。
回路デザイン
>
パイプライン
> ステージの連結
次のページ(結合)
このページのTOP ▲