20 / 20 · 概念
RTL統合レビューと拡張
学習モデルをRTLインターフェースと検証証拠につなげます。
レッスンは無料で読めます。受講登録すると進捗を保存できます。
コアとラッパの責任を分ける
アレイコアはレジスタ付きオペランド転送、符号付きMAC、valid/タグ、全体advanceを扱います。ラッパはstart/clear、行列寸法、タイル座標、スキュー付き境界供給、マスク付き結果回収、出力ハンドシェイクを扱います。各責任を信号名とエッジ契約で定義します。
簡単なラッパはIDLE、CLEAR、RUN、COLLECT、SENDを使います。CLEARはデータ前の1初期化エッジを保証します。RUNは論理ステップ0からK+2N−3を進めます。最後のRUNエッジ直後に結果が完成し、次のエッジでCOLLECTがコピーします。これにより最後のノンブロッキング更新と同じエッジで古いアキュムレータをコピーするのを避けます。
統合レイテンシの計算例
N=K=2では、クリアはE−1、計算はE0..E3です。E4で4結果を結果バッファへ並列コピーすると仮定します。常時readyの出力が1エッジ1結果なら、行優先で19、22、43、50をE5..E8に送ります。クリアから最終転送までの測定はE−1..E8の10立ち上がりエッジで、計算だけの4とは異なります。出力ブロックは完成値を変えずSENDを延長します。
結果ペイロードにはjob、全体座標、生値または量子化値の定義が必要です。結果を安全にコピーまたは消費するまでアキュムレータをクリアしてはいけません。次の計算をSENDと重ねるには、バッファ所有とジョブ分離が必要です。
拡張時は契約を見直す
パイプライン乗算器は累積、タグ、完了タイミングを変えます。縮約タイリングは部分和保持と新しい幅分析が必要です。ジョブの重ね合わせには別の累積状態が必要です。FIFOは値、valid、タグを1ペイロードとして保持し、オーバーフローとアンダーフロー検査が必要です。
Gemminiアーキテクチャ資料は、局所記憶とデータ移動がアレイに伴う一次資料例です。この状態機械とタイミング例は独自に定義した学習用契約です。
寸法、幅、境界スケジュール、完了定義、停止・リセット方針、出力順序、スコアボードログを提出します。Node検査は参照モデルの動作を示します。RTLシミュレーション、合成、タイミング収束、製品統合は、成功を主張する前にそれぞれの実行コマンドと証拠が必要です。
自分で考えてみましょう
統合例でE6後の2エッジ、readyをブロックします。最終転送エッジと総測定エッジ数は何になりますか。
解説を見る
E7とE8で待ち、残り2結果をE9とE10で送ります。最終転送はE10で、E−1..E10の測定は12エッジです。計算はE0..E3の4のままで、ブロック中のデータは保持する必要があります。