Altifigence Academy
AIハードウェア無料 · 上級

RTL設計:シストリックアレイ

符号付きMAC演算、入力のスキュー、処理要素からパラメータ化した行列乗算アレイを構築し、タイリング、フロー制御、エッジごとの厳密な動作を検証します。

行列乗算MACデータフロー
マイラーニング

このコースで学ぶこと

  • 行列の添字と内積を処理要素に割り当てる
  • 符号付きの積、アキュムレータ、固定小数点出力のビット幅を選択する
  • 入力をずらして出力固定の2×2およびN×Nアレイをスケジュールする
  • 厳密なエッジの契約でvalid、タグ、ストール、リセットを定義する
  • スコアボードでタイル境界、帯域幅、総合課題を検証する

はじめる前に

ブラウザー演習は教育用モデルで、HDLのコンパイルや実行は行いません。配布ソースを別途実行する場合は、OSに合ったDigital Design Studioの手順に従い、必要な操作ではログインしてください。

インストールと初回起動 ↗ · ダウンロード ↗

カリキュラム

  1. 行列と算術の契約
    • 内積を処理要素に割り当てる概念

      行、列、縮約の添字を区別し、小さな参照行列を計算します。

    • 符号付きの積とアキュムレータのビット幅概念

      最悪のオペランド範囲からアキュムレータの幅を導きます。

    • 固定小数点出力の方針概念

      入力スケール、負数の丸め、飽和、折り返しを区別します。

    • 算術の契約を確認する理解度チェック

      縮約全体の長さからアキュムレータの幅を選びます。

  2. 処理要素と有効トークン
    • 1つの立ち上がりエッジでの契約概念

      エッジ番号、レジスタによる転送、累積、初期化の優先順位を確定します。

    • 実習:符号付きMAC処理要素実習

      独立したモデルで有効なオペランド、ストール、クリアを検査します。

    • Validフラグ、タグ、フラッシュ概念

      数値のゼロ、バブル、別ジョブのトークンを区別します。

    • 処理要素の制御を確認する理解度チェック

      停止中に保持すべき状態を特定します。

  3. アレイと入力スケジュール
    • 出力固定とその他のデータフロー概念

      PEに何が留まるかを特定して、記憶と転送を比較します。

    • 実習:入力をずらした2×2アレイ実習

      1エッジの転送遅延をモデル化し、すべての中間アキュムレータを検査します。

    • N×Nへ拡張し、完了エッジを数える概念

      空間サイズNと縮約長Kを別々にパラメータ化します。

    • スケジュールと完了を確認する理解度チェック

      最終投入と最終結果が利用可能になる時点を区別します。

  4. タイリング、帯域幅、フロー制御
    • タイリングと境界パディング概念

      大きな行列を小さな格子へ割り当て、ゼロパディングと出力マスクを扱います。

    • 帯域幅と有用な利用率概念

      ピークMAC能力を、充填、排出、パディング、メモリのコストと区別します。

    • 実習:バックプレッシャーとリセット実習

      全体停止、結果保持、中断ジョブのリセットを実行します。

    • パディングと帯域幅を確認する理解度チェック

      オペランドの有効性と結果アドレスの有効性を区別します。

  5. 検証と総合課題
    • スコアボードと不変条件概念

      最終行列に加えて、項、タグ、エッジ、出力転送を検査します。

    • 符号付きと境界のテストを設計する概念

      正常例1つを超え、算術、形状、制御の境界を組み合わせます。

    • 総合課題:タイル化N×N検証モデル実習

      任意のNとKにパディングと停止を組み合わせ、独立した参照モデルと比較します。

    • RTL統合レビューと拡張概念

      学習モデルをRTLインターフェースと検証証拠につなげます。

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