記事 ID: 000078264 コンテンツタイプ: 製品情報 & ドキュメント 最終改訂日: 2021/08/27

メモリー初期化ファイル (.mif) を使用して RAM をシミュレーションする方法

環境

  • シミュレーション
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    詳細 メモリー初期化ファイル (.mif) で RAM をシミュレーションする方法
    解決方法

    一部のサードパーティー製シミュレーション・ツールではメモリー初期化ファイル (.mif) 形式がサポートされていません。回避策は以下の通りです。

    まず、.mif を 16 進数 (インテル形式) に変換します。..

    次に、HDL コードを変更してメモリーファイル名の参照を変更します。

    altsyncram altsyncram_component (
    .clock0 (inclock)
    .wren_a (wren_a)
    .address_b (address_b)
    .clock1 (アウトクロック)
    .data_b (data_b)
    .wren_b (wren_b)
    .address_a (address_a)
    .data_a (data_a)
    .q_a (sub_wire0)
    .q_b (sub_wire1)
    .aclr0 (1\'b0)
    .aclr1 (1\'b0)
    .addressstall_a (1\b0)
    .addressstall_b (1\b0)
    .byteena_a (1\b1)
    .byteena_b (1\b1)
    .clocken0 (1\'b1)
    .clocken1 (1\'b1)
    .clocken2 (1\'b1)
    .clocken3 (1\'b1)
    .ecc彼方 ()
    .rden_a (1\b1)
    .rden_b (1\'b1));
    defparam
    altsyncram_component.address_reg_b = "CLOCK0"、
    altsyncram_component.clock_enable_input_a = "BYPASS"、
    altsyncram_component.clock_enable_input_b = "BYPASS"、
    altsyncram_component.clock_enable_output_a = "BYPASS"、
    altsyncram_component.clock_enable_output_b = "BYPASS"、
    altsyncram_component.indata_reg_b = "CLOCK0"、
    altsyncram_component.init_file = "test.mif"、
    altsyncram_component.intended_device_family = "Cyclone IV GX"、
    altsyncram_component.lpm_type = "altsyncram"、
    altsyncram_component.num num num_a = 32、
    altsyncram_component.num num num_b = 32、
    altsyncram_component.operation_mode = "BIDIR_DUAL_PORT"、
    altsyncram_component.outdata_aclr_a = "NONE"、
    altsyncram_component.outdata_aclr_b = "NONE"、
    altsyncram_component.outdata_reg_a = "CLOCK1"、
    altsyncram_component.outdata_reg_b = "CLOCK1"、
    altsyncram_component.power_up_uninitialized = "FALSE"、
    altsyncram_component.read_during_write_mode_mixed_ports = "OLD_DATA"、
    altsyncram_component.read_during_write_mode_port_a = "OLD_DATA"、
    altsyncram_component.read_during_write_mode_port_b = "OLD_DATA"、
    altsyncram_component.widthad_a = 5
    altsyncram_component.widthad_b = 5
    altsyncram_component.width_a = 8
    altsyncram_component.width_b = 8
    altsyncram_component.width_byteena_a = 1、
    altsyncram_component.width_byteena_b = 1、
    altsyncram_component.wrdress_wraddress_reg_b = "CLOCK0";

    宛先

    altsyncram altsyncram_component (
    .clock0 (inclock)
    .wren_a (wren_a)
    .address_b (address_b)
    .clock1 (アウトクロック)
    .data_b (data_b)
    .wren_b (wren_b)
    .address_a (address_a)
    .data_a (data_a)
    .q_a (sub_wire0)
    .q_b (sub_wire1)
    .aclr0 (1\'b0)
    .aclr1 (1\'b0)
    .addressstall_a (1\b0)
    .addressstall_b (1\b0)
    .byteena_a (1\b1)
    .byteena_b (1\b1)
    .clocken0 (1\'b1)
    .clocken1 (1\'b1)
    .clocken2 (1\'b1)
    .clocken3 (1\'b1)
    .ecc彼方 ()
    .rden_a (1\b1)
    .rden_b (1\'b1));
    defparam
    altsyncram_component.address_reg_b = "CLOCK0"、
    altsyncram_component.clock_enable_input_a = "BYPASS"、
    altsyncram_component.clock_enable_input_b = "BYPASS"、
    altsyncram_component.clock_enable_output_a = "BYPASS"、
    altsyncram_component.clock_enable_output_b = "BYPASS"、
    altsyncram_component.indata_reg_b = "CLOCK0"、
    altsyncram_component.init_file = "test.mmc"、
    altsyncram_component.intended_device_family = "Cyclone IV GX"、
    altsyncram_component.lpm_type = "altsyncram"、
    altsyncram_component.num num num_a = 32、
    altsyncram_component.num num num_b = 32、
    altsyncram_component.operation_mode = "BIDIR_DUAL_PORT"、
    altsyncram_component.outdata_aclr_a = "NONE"、
    altsyncram_component.outdata_aclr_b = "NONE"、
    altsyncram_component.outdata_reg_a = "CLOCK1"、
    altsyncram_component.outdata_reg_b = "CLOCK1"、
    altsyncram_component.power_up_uninitialized = "FALSE"、
    altsyncram_component.read_during_write_mode_mixed_ports = "OLD_DATA"、
    altsyncram_component.read_during_write_mode_port_a = "OLD_DATA"、
    altsyncram_component.read_during_write_mode_port_b = "OLD_DATA"、
    altsyncram_component.widthad_a = 5
    altsyncram_component.widthad_b = 5
    altsyncram_component.width_a = 8
    altsyncram_component.width_b = 8
    altsyncram_component.width_byteena_a = 1、
    altsyncram_component.width_byteena_b = 1、
    altsyncram_component.wr customization_wraddress_reg_b = "CLOCK0";

    関連製品

    本記事の適用対象: 1 製品

    インテル® プログラマブル・デバイス

    このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。