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 BRAM0x1: Phase Correction BRAM0x2: Output Mask BRAM
- Controller BRAM は更に 3 つのセクションに分かれている. これらは,
0x1: Modulation BRAM0x2: Pulse Width Encoder Table BRAM0x3: 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 | ページ拡張あり |