この操作を行うには、トップレベルのデザインで ROM または RAM の各インスタンスの MegaWizard®生成されたファイルに初期化ファイル名をパラメーターとして渡します。これを行うには、次の手順を使用して MegaWizard プラグイン・マネージャーによって生成されたラッパーファイルを編集し、デザインのインスタンスをインスタンス化します。次の例では、ROM メモリーブロックに Verilog HDL を使用しています。
- MegaWizard が生成したラッパー・ファイルに、パラメーター・init_fileの定義を次のように追加します。
parameter init_file = "";
- ラッパー・ファイル内のメガファンクションのインスタンス化を変更して、新しいインスタンスを割り当てます。
init_file
パラメーターをaltsyncram_component.init_file
パラメーター値は以下の通りです。この変更により、MegaWizard が生成したカスタマイズされた ROM モジュールはパラメーター化可能になり、カスタマイズされた ROM のインスタンス化により初期化ファイルの値を定義できます。defparam
altsyncram_component.init_file = init_file, - 既存の値を削除します。
altsyncram_component.init_file
パラメーター (ラッパー・ファイルにパラメーターが存在する場合)。変更されたラッパー・ファイルの例を以下に示します。module my_rom (address, clock, q);
input [2:0] address;
input clock;
output [7:0] q;
parameter init_file = "";
wire [7:0] sub_wire0;
wire [7:0] q = sub_wire0[7:0];
altsyncram altsyncram_component (
...
defparam
altsyncram_component.init_file = init_file, ... - トップレベル・デザインの各 ROM インスタンスについて、
init_file
パラメーターを希望の初期化ファイル名に指定します。次の例は
my_rom
、.mif 初期化ファイルをパラメーターに渡すために defparam が使用されているモジュールのインスタンス化を示していますinit_file
。このデザインには、defparam を設定することで、それぞれ異なる初期化ファイルを使用して、この ROM の多くのインスタンス化を含めることができます。module top_level_roms (addr, clk, q);
output [7:0] q;
input clk;
input [2:0] addr;my_rom u1 (.address(addr),.clock(clk),.q(q));
defparam u1.init_file = "rom_test.mif";
endmodule