문서 ID: 000085111 콘텐츠 형태: 문제 해결 마지막 검토일: 2013-05-10

프로젝트 .qsf의 .qip/.sdc 파일은 Quartus II 소프트웨어 버전 12.1 SP1에서 프로젝트를 열거나 IP를 다시 생성할 때 재주문됩니다.

환경

  • 인텔® Quartus® II 구독 에디션
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    중요 문제

    설명

    Quartus® II 소프트웨어 버전 12.1 SP1의 문제로 인해 프로젝트\의 Quartus II 설정 파일(.qsf)의 주문이 예기치 않게 변경될 수 있습니다.

    이 동작은 기존 프로젝트를 열거나 IP 업그레이드 명령을 실행할 때 발생할 수 있습니다.

    프로젝트에 Synopsys Design Constraint(.sdc) 파일 순서 종속성이 있는 경우, 이 순서를 다시 정렬하면 예기치 않은 주파수 설정 또는 기타 타이밍 할당이 발생할 수 있습니다. 여러 레벨의 Quartus II IP(.qip) 파일이 있는 프로젝트를 사용할 수 있습니다. .qip 파일 내부에는 추가 .qip 또는 .sdc 파일에 대한 참조가 있을 수 있습니다. 예를 들어 아래 해결 방법 섹션을 참조하십시오. 잘못된 .sdc 설정으로 인해 잘못된 설계 동작이나 기능 오류가 발생할 수 있습니다.

    해결 방법

    Tcl 스크립트 파일을 사용하여 설계가 이 문제의 영향을 받는지 확인할 수 있습니다. qip_checker.tcl 을 다운로드하여 파일 주문 문제가 있는지 확인합니다. 다음 명령으로 이 스크립트를 실행할 수 있습니다.

    quartus_sh -t qip_checker.tcl [-force]

    이 스크립트에 대한 자세한 사용은 다음을 입력하십시오.

    quartus_sh -t qip_checker.tcl

    Quartus II 소프트웨어 버전 12.1 SP1에 대한 이 문제를 해결하기 위해 패치를 사용할 수 있습니다. 아래의 해당 링크에서 패치 1.33을 다운로드하고 설치하십시오.

    이 패치는 Quartus II 소프트웨어 버전 12.1 SP1(빌드 243)과 호환됩니다.

    패치 1.33은 Stratix® V, Arria® V 및 Cyclone® V 장치용 Quartus II 소프트웨어 버전 12.1 SP1 장치 패치(1.dp)와 호환되지 않습니다. 이러한 장치를 사용하는 경우 아래 관련 솔루션의 링크를 사용하여 장치 패치 1.dp6 이상으로 업그레이드하여 이 문제를 해결할 수 있습니다.

    이 패치를 사용할 수 없는 경우 프로젝트 디렉토리에 quartus.ini 라는 텍스트 파일을 생성하여 이 문제를 피할 수 있습니다(아직 존재하지 않는 경우). 파일 재주문을 방지하기 위해 텍스트 파일에 다음 줄을 추가합니다.

    disable_ip_regen=on

    이 옵션은 자동 IP 재생 기능 중 일부를 비활성화하므로 명령줄 작업을 사용하여 IP를 재생성해야 할 수도 있습니다.

    이 문제가 이미 실행된 경우 다음 단계를 수행해야 합니다.

    1. 패치를 적용하거나 ini 설정을 즉시 적용 disable_ip_regen=on 하십시오.
    2. .qsf에서 또는 -sip 인수가 있는 모든 할당을 -qip 제거합니다.
    3. .qsf 내에서 할당을 확인하고 QIP_FILE 최상위 수준에 속하지 않는 할당을 제거합니다.
    4. .sdc.qip 파일의 순서를 수동으로 수정하려면 .qsf를 수정합니다.

    아래는 설계에 영향을 받는 경우 수동으로 수정해야 하는 재주문 효과의 예입니다.

    예를 들어 Quartus II 소프트웨어 버전 12.1 SP1 이전에 디자인에는 프로젝트 .qsf 파일에 다음과 같은 .sdc.qip 파일이 나열되어 있습니다.

    a.qsf:

    set_global_assignment -name SDC_FILE a_before.sdc
    set_global_assignment -name QIP_FILE a.qip
    set_global_assignment -name SDC_FILE a_after.sdc

    a.qip:

    set_global_assignment -name SDC_FILE aqip_before.sdc
    set_global_assignment -name QIP_FILE asub.qip
    set_global_assignment -name SDC_FILE aqip_after.sdc

    asub.qip:

    set_global_assignment -name SDC_FILE asub.sdc

    다음은 메모리의 파일 순서입니다.

    set_global_assignment -name SDC_FILE a_before.sdc
    set_global_assignment -name QIP_FILE a.qip
    set_global_assignment -name SDC_FILE aqip_before.sdc # from qip a.qip
    set_global_assignment -name QIP_FILE asub.qip        # from qip a.qip
    set_global_assignment -name SDC_FILE asub.sdc        # from qip asub.qip
    set_global_assignment -name SDC_FILE aqip_after.sdc  # from qip a.qip
    set_global_assignment -name SDC_FILE a_after.sdc

    따라서 프로젝트는 다음 순서로 SDC_FILE 과제를 읽습니다.

    1. a_before.sdc
    2. aqip_before.sdc
    3. asub.sdc
    4. aqip_after.sdc
    5. a_after.sdc

    Quartus II 소프트웨어 버전 12.1 SP1에서 소프트웨어 문제(프로젝트 열기 또는 IP 업그레이드)를 트리거한 후 .qsf 는 다음과 같이 보입니다.

    a.qsf:

    set_global_assignment -name SDC_FILE a_before.sdc
    set_global_assignment -name SDC_FILE a_after.sdc
    set_global_assignment -name QIP_FILE a.qip
    set_global_assignment -name QIP_FILE asub.qip

    다음은 메모리의 파일 순서입니다.

    set_global_assignment -name SDC_FILE a_before.sdc
    set_global_assignment -name SDC_FILE a_after.sdc
    set_global_assignment -name QIP_FILE a.qip
    set_global_assignment -name SDC_FILE aqip_before.sdc  # from qip a.qip
    set_global_assignment -name QIP_FILE asub.qip         # from qip a.qip
    set_global_assignment -name SDC_FILE aqip_after.sdc   # from qip a.qip
    set_global_assignment -name QIP_FILE asub.qip
    set_global_assignment -name SDC_FILE asub.sdc         # qip asub.qip

    따라서 프로젝트는 다음 순서로 SDC_FILE 과제를 읽습니다.

    1. a_before.sdc
    2. a_after.sdc
    3. aqip_before.sdc
    4. aqip_after.sdc
    5. asub.sdc

    설계가 .sdc 순서에 따라 달라지는 경우, 이 변경된 순서는 설계 최적화 결과 및 타이밍 분석에 영향을 줄 수 있습니다. 문제를 해결하려면 위에서 설명한 대로 ini 설정을 추가한 다음 .qsf 를 수정하여 원래 올바른 할당 순서를 사용합니다. 주문이 변경되었는지 빠르게 확인하려면 Quartus II 소프트웨어 버전 12.1 SP1 이전에 생성된 .qsf 를 참조하십시오.

    이 문제는 Quartus II 소프트웨어 버전 13.0부터 해결되었습니다.

    관련 제품

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

    인텔® 프로그래밍 가능 장치

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