Altifigence Academy

43 / 63 · 理解度チェック

設計確認:遅延・整列・入力の保存

シフト方向に加え、有効データの移動回数と観測基準を確認します。

遅延を数える基準を固定します

3 ビットレジスタレジスタ 複数ビットの状態を記憶する回路です。このコースの同期式レジスタは、クロックエッジで定められた入力を記憶します。 詳しく見るは有効入力のときだけ q <= {q[1:0], din} を実行し、valid=0 なら q を保持します。リセットリセット 状態を仕様で定めた初期値に戻す制御です。同期式か非同期式か、他の制御より優先されるかを合わせて定めます。 詳しく見る直後の 0 から、異なる立上りエッジ立上りエッジ クロックが 0 から 1 に変わる瞬間です。CLK=1 の区間全体を指すレベルとは区別します。 詳しく見るに (valid,din) = (1,1), (0,0), (1,0), (1,1) を順に与えます。

総エッジ数は 4 ですが、実際の移動は 3 回です。状態追跡と「何サイクル遅延」という説明が矛盾しないか確認してください。

下の各列は立上りエッジの記録です。入力はエッジ直前、「更新後」の状態は更新直後です。並びはサンプル順で、物理的な伝搬遅延伝搬遅延 入力が変わってから、出力が正しい値に安定するまでの時間です。論理式の等価性と時間特性は別の性質です。 詳しく見るではありません。問題の入力列を展開しています。valid=0 の二列目では状態を保持します。q の更新回数とクロック列数を混同しないでください。

四エッジと三回の受入
波形データを表示
波形データ:各文字は一つの区間、ドットは前の状態の保持、p はクロック 1 周期を表します。
信号波形バスの値
エッジ2345E0 → E1 → E2 → E3
valid101.
din10.1
受入数2.341 → 2 → 3
更新後 q2.34001 → 010 → 101

追加の設計問題

入力ごとに 8 ビットを受け取るパイプラインパイプライン 計算をレジスタで区切った段に分け、複数入力を重ねて処理する構造です。データ・valid・制御信号の段をそろえる必要があります。 詳しく見るへ広げるなら、データレジスタだけ 3 段、valid の遅延を 1 段にする実装は誤りです。データと valid に同じ移動規則を適用するか、停止可能なバッファの受付・転送規則を一緒に設計する必要があります。

自分で考えてみましょう

回路を valid に関係なく毎エッジ移動させると、この入力列の最後の q はどう変わりますか。

解説を見る

invalid サイクルの din=0 も記憶するため、001 → 010 → 100 → 001 になります。最後は 001 で、有効入力だけを移動する元の設計の 101 と異なります。invalid データを無視する取り決めを実装が守る必要があります。

本文の valid 付き入力列を適用した後、最後の q と実際の移動回数は何ですか。

答えを選択

選択はこのブラウザに適用されます。フッターからいつでも変更できます。