内部メモリーモデルのユースケースでは、現在、EPCQL1024 シリアル・コンフィグレーション・デバイスのフラッシュモデルを使用した、インテル® Arria® 10 および インテル Cyclone® 10 GX デバイスの ASMI インテル FPGA IPのシミュレーションのみをサポートしています。
「解決方法」セクションの手順に従って、内部 EPCQL モデルでシミュレーションを実行します (注: このシミュレーションは Mentor Graphics* ModelSim* SE シミュレーション・ソフトウェアでテストされました)。
- ASMI ブロックのシミュレーション・モデルを作成し、enable_sim・パラメーターをファイル内で true に設定します。
プロジェクト・ディレクトリー>/<ASMIIP 名>/<altera_asmi_parallel_<quartus_version>>/<sim>/<ip_name>altera_asmi_parallel_<quartus_version>_<unique_ip_id>.v を< - 次の例のように、ASMI ブロックの初期化を使用してテストベンチファイルを作成します。
<ip_name>_altera_asmi_parallel_<quartus_version>_<unique_ip_id> dut(
.clkin (clkin)、/clkin.clk
.fast_read (fast_read)、/fast_read.fast_read
.rden (rden)、/rden.rden
.addr (addr)、/addr.addr
.read_status (read_status)、/read_status.read_status
.write (書き込み)、// write.write
.datain (datain)、/datain.datain
.sector_protect (sector_protect)、/sector_protect.sector_protect
.sector_erase (sector_erase)、/sector_erase.sector_erase
.die_erase (die_erase)、/die_erase.die_erase
.wren (レン), // wren.wren
.read_rdid (read_rdid)、/read_rdid.read_rdid
.en4b_addr (en4b_addr)、/en4b_addr.en4b_addr
.ex4b_addr (ex4b_addr)、/ex4b_addr.ex4b_addr
リセット (リセット)、//reset.reset
.sce (sce)、/sce.sce
.dataout (データアウト)、/dataout.dataout
.busy (busy)、/busy.busy
.data_valid (data_valid)、/data_valid.data_valid
.status_out (status_out)、/status_out.status_out
.illegal_write (illegal_write)、/illegal_write.illegal_write
.illegal_erase (illegal_erase)、/illegal_erase.illegal_erase
.read_address (read_address)、/read_address.read_address
.rdid_out (rdid_out) // rdid_out.rdid_out
);
- シミュレーションを実行します。
外部メモリーモデルをシミュレートするには、次の手順に従います。
- ASMI ブロックのシミュレーション・モデルを作成し、ファイル内のenable_sim・パラメーターを false に設定します。
プロジェクト・ディレクトリー>/<ASMI IP 名>/<altera_asmi_parallel_<quartus_version>>/<sim>/<ip_name>altera_asmi_parallel_<quartus_version>_<unique_ip_id>.v を< - ASMI ブロックの初期化を使用してテストベンチファイルを作成します (前のコード例に示すように):
- 外部メモリーのラッパーを作成する
- シミュレーション・プロジェクトで、作業フォルダーに対して以下のファイルをコンパイルします。
- フラッシュ・シミュレーション・モデル
- asmi_sim_model デザインラッパー
- テストベンチ・ファイル
- シミュレーションを実行します。