Skip to content

Memory

This content is not available in your language yet.

このモジュールは BRAM を集めたモジュールである.

FPGA 内部の BRAM は 4 つに分かれている. 書き込み時は CPU_ADDR () の内, 上位 (BRAM_SELECT) でこれを区別する.

  • 0x0: Controller BRAM
    • Controller BRAM は更に 3 つのセクションに分かれている. これらは, CPU_ADDR 下位 のうち, 上位 によって区別される.
      • 0x0: Controller Main BRAM
      • 0x1: Phase Correction BRAM
      • 0x2: Output Mask BRAM
  • 0x1: Modulation BRAM
  • 0x2: Pulse Width Encoder Table BRAM
  • 0x3: Emission BRAM

Modulation / Emission BRAM はそのままだと書き込みアドレスが足りないので, Controller Main BRAM 内の特定のアドレスに書き込まれたページ番号をアドレスの上位に付加することでアドレスを拡張している. また, Modulation / Emission BRAM は, 書き込むバンクの選択も Controller Main BRAM 内の特定のアドレスに書き込まれたバンク番号により行う.

BRAM 書き込み幅 読み出し幅 バンク 備考
Controller Main 16 16 - 制御フラグ・各種設定値
Phase Correction 16 8 - 振動子毎の位相補正値
Output Mask 16 256 2 振動子毎の出力マスク
Modulation 16 8 2 ページ拡張あり
Pulse Width Encoder Table 16 9 - 強度 → パルス幅の変換テーブル
Emission 16 64 2 ページ拡張あり