Article ID: 000074853 Content Type: Product Information & Documentation Last Reviewed: 12/21/2019

How can I simulate the ASMI IP with internal and external memory models when using Intel® Arria® 10 and Cyclone® 10 GX devices?

Environment

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    For internal memory model use case, we currently only support simulation of the ASMI IP in Intel® Arria® 10 and Intel Cyclone® 10 GX devices with the flash model for the EPCQL1024 serial configuration device. 

    Follow the steps below to perform the simulation with the internal EPCQL model (Note: This simulation was tested with Mentor Graphics* ModelSim* SE simulation software). 

    1.       Create simulation model for ASMI block and set the enable_sim parameter to true in file:

        <project directory>/<ASMIIP    name>/<altera_asmi_parallel_<quartus_version>>/<sim>/<ip_name>altera_asmi_parallel_<quartus_version>_<unique_ip_id>.v

    2.       Create test bench file with initialization of ASMI block (example below):

        <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.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.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),          //          reset.reset

        .sce            (sce),            //            sce.sce

        .dataout        (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

        );

    3.       Run simulation.

     

    To simulate with an external memory model, follow these steps:

    1.       Create simulation model for ASMI block and set the enable_sim parameter to false in file:

        <project directory>/<ASMI IP name>/<altera_asmi_parallel_<quartus_version>>/<sim>/<ip_name>altera_asmi_parallel_<quartus_version>_<unique_ip_id>.v

    2.       Create test bench file with initialization of ASMI block (example in above section):

    3.       Create wrapper for external memory

    4.       In a simulation project make sure that you compile the following files for your working folder:

        o    flash simulation model

        o    asmi_sim_model design wrapper

        o    test bench file(s)

    5.       Run simulation.

    Related Products

    This article applies to 2 products

    Intel® Cyclone® 10 GX FPGA
    Intel® Arria® 10 FPGAs and SoC FPGAs

    Disclaimer

    1

    All postings and use of the content on this site are subject to Intel.com Terms of Use.