ブロックラム推論をテストするために、小さなデバイスを合成しました。
XSTからメッセージが届きました:
パフォーマンスを最大化し、ブロックRAMリソースを節約するために、小さなRAMがLUTに実装されます。ブロックでの実装を強制する場合は、 option /constraintram_styleを使用します。
ただし、ISE(私の場合は11.1)または制約ファイルのいずれかでこのオプション/制約を見つける場所がわかりません...
コードでVHDL属性を直接使用したくありません。
プロジェクトディレクトリには、「your-design.xst」というファイルがあります。リストの最後(または「実行」後の任意の場所)に以下を追加できます。
-ram_style block # ( | auto | distributed )
-rom_style block # ( | auto | distributed )
これらは、分散RAM(つまり、LUTベースのメモリ)の代わりにBRAMマッピングを取得することを確認する必要があります。
このオプションも便利です。
-auto_bram_packing yes # ( | no )
それらのそれぞれが独自の行にある必要があり、「#」とその後に続くものをすべて削除する必要があることを忘れないでください。
ISE GUIを使用している場合は、
Synthesis -> Process Properties -> HDL options
そこで上記のオプションを選択します。
(ところで、FPGA専用のSEサイトを開始しようとしています...サポートを検討してください... http://area51.stackexchange.com/proposals/20632/programmable-logic-and-fpga-design?referrer = YmxhQ2OJUo-FAaI1gMp5oQ2)
run -ram_style BLOCKは、コマンドラインでトリックを実行できます。