はじめに
XilinX VivadoのDiagramでBRAMを配置したものの、BRAMをダブルクリックしてサイズをカスタマイズしようとしても、Depthの項が灰色となりサイズが変更できないという現象にぶちあたりました。
ググったり資料を見たりしてもナカナカ判らなく、解決法を見つけるまでしばらく悩んだのでここに手順を記録しておきます。
結論
いきなりですが、まずは結論を書いておきます。
BRAMのサイズを設定するには、DiagramのBRAMモジュールではなく、AddressEditorでRangeの所で変える。
状況
Diagram画面で、Add IP(Ctrl+I)でBlock Memory Generaterを使ってBRAMを置きます。
ダブルクリックしてサイズを変更しようとしても
Rangeが変更できそうに見えても、灰色地で変更できません。
解決策
サイズは一旦忘れてともかく AXI BRAM Controllerなども配置し、一旦回路を作り上げます。Validate Design(F6) でエラーやワーニングが無い状態にします。
次に、Address Editorを開き、Network 0 を展開します。
そして Rangeの所で BRAMサイズを設定します。単位はByteです。32bitバスの場合は実際のBRAMの深さは1/4になります。
次に、再度 Diagramに戻り、Validate Design(F6) を行うと、自動的にBARMサイズが変更されています。