내부 메모리 모델 사용 사례의 경우, 인텔은 현재 EPCQL1024 직렬 구성 장치용 플래시 모델을 사용하여 인텔® Arria® 10 및 인텔 Cyclone® 10 GX 장치의 ASMI 인텔 FPGA IP 시뮬레이션만 지원합니다.
해상도 섹션의 단계에 따라 내부 EPCQL 모델로 시뮬레이션을 수행합니다(참고: 이 시뮬레이션은 Mentor 그래픽* 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.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), // reset.reset
.sce (sce), // sce.sce
.dataout(dataout), // dataout.dataout
.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 디자인 래퍼
- Testbench 파일
- 시뮬레이션을 실행합니다.