문서 ID: 000085927 콘텐츠 형태: 문제 해결 마지막 검토일: 2015-12-15

인텔® MAX® 10 FPGAs 특정 구성에 대해 부동 소수점 제곱근 Nios® II 사용자 지정 명령이 작동하지 않는 이유는 무엇입니까?

환경

  • 인텔® Quartus® II 구독 에디션
  • 부동 소수점
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    설명

    부동 소수점 하드웨어 2 구성 요소의 모든 버전에서 사전 채워진 조회 ROM/RAM 테이블 요구 사항으로 인해 부동 소수점 제곱근에 대한 Nios® II 사용자 지정 명령이 "듀얼 압축 이미지", "단일 코프레싱 이미지", "단일 압축되지 않은 이미지"를 포함하는 RAM 사전 초기화 구성 모드를 사용하여 10개의 FPGA 설계를 인텔® MAX® 실패합니다.

    이러한 모드에서는 플래시가 RAM의 사전 초기화를 지원할 만큼 크지 않으므로 sqrt 명령이 실패합니다. Quartus® II 소프트웨어 버전 15.1 이상은 FPCI2가 인스턴스화되고 인텔 MAX 10개 FPGA 또는 기타 이유로 설정된 구성 모드로 인해 메모리 초기화가 비활성화된 경우 컴파일 오류가 발생할 수 있습니다.

    오류(16031): 현재 내부 구성 모드는 메모리 초기화 또는 ROM을 지원하지 않습니다. ERAM을 사용하는 내부 구성 모드 선택.

    해결 방법

    Quartus II 소프트웨어 버전 15.0 이전의 이 문제를 해결하려면 다음 단계를 따르십시오.

    1. fpoint2_multi_datapath.vhd로 이동하여 168~174선에서 FPSqrt 인스턴스화를 설명합니다.

    sqrt: FPSqrt 포트 맵(
    x => dataa,
    r => fsqrts,
    clk => clk,
    reset_req => reset_req,
    areset => 재설정
    );

    1. Quartus II 소프트웨어에서 디자인을 다시 컴파일합니다.
    2. bsp의 HAL 폴더에 있는 altera_nios_custom_instr_floating_point_2.c이동합니다. "#undef sqrtf"가 C 코드에 포함된 직후에 "altera_nios_custom_instr_floating_point_2 #undef sqrtf"를 추가하여 소프트웨어의 sqrtf 사용자 지정 명령 사용을 비활성화합니다.

    코드:

    #include "altera_nios_custom_instr_floating_point_2.h"
    #undef sqrtf

    1. 이러한 변경 사항을 적용하여 모든 응용 프로그램 소프트웨어 및 라이브러리를 다시 빌드합니다.

    Quartus II 소프트웨어 버전 15.0 이상에서 이 문제를 해결하려면 다음 단계를 따르십시오.

    1. 플랫폼 디자이너 GUI의 FPH2에서 sqrt 사용자 지정 명령을 제거하려면 확인란을 사용합니다 .

    이 문제는 Quartus II 소프트웨어 v16.0에서 해결되었습니다.

    관련 제품

    이 문서는 다음 항목에 적용됩니다. 1 제품

    인텔® MAX® 10 FPGA

    이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.