문서 ID: 000085872 콘텐츠 형태: 문제 해결 마지막 검토일: 2017-11-08

사용되지 않는 BusSlave 블록에서 쓰기를 활성화하지 않는 이유는 무엇입니까?

환경

  • 인텔® Quartus® Prime Pro Edition
  • DSP Builder for 인텔® FPGAs Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    설명

    DSP Builder Advanced Blockset 버전 17.1 이전의 문제로 인해 Simulink®가 BusStimulus 블록 앞에서 다른 버스 블록을 실행하는 경우 다음 오류가 나타날 수 있습니다.

    • 사용되지 않는 BusSlave 블록에 대한 쓰기 활성화는 절대로 주장하지 않습니다.
    • 모든 버스 블록의 다른 출력은 나중에 한 번의 클럭 주기로 발생합니다.

    DSP Builder에서 버스 블록(예: RegField 블록)은 BusStimulus 블록에 따라 달라집니다. 따라서 Simulink는 다른 버스 블록 앞에서 BusStimulus 블록을 실행해야 합니다. 그러나 Simulink는 이러한 종속성에 대해 알지 못하므로 Simulink는 임의 순서로 이러한 블록을 자유롭게 실행할 수 있습니다.

    설계와 관련이 없는 변경으로 인해 버스 블록의 실행 순서가 변경될 수 있습니다. 예를 들어, 추가 범위 블록을 추가했기 때문에 자동 검증을 위해 버스 지연 시간에 의존한 설계가 실패하기 시작할 수 있습니다. 추가 블록은 BusStimulus 블록 앞에 RegField 블록을 배치하여 실행 순서를 변경하여 실행 순서를 변경할 수 있습니다.

    해결 방법

    이 문제를 해결하려면 BusStimulus 블록의 우선 순위를 DSP Builder 설계가 포함된 하위 시스템 블록보다 낮은 값으로 설정합니다. 예를 들어 BusStimulus 블록 우선순위를 0으로 설정하고 DSPBA 하위 시스템 블록을 1로 설정합니다. Simulink는 일관된 버스 작동을 보장하는 하위 시스템의 모든 것 앞에서 BusStimulus 블록을 실행해야 합니다.

    실행 순서를 보려면 주 메뉴 표시줄에서 표시 -> 블록 -> 정렬 실행 순서를 선택합니다.

    블록의 우선 순위를 설정하려면: 블록을 마우스 오른쪽 버튼으로 클릭하고 속성: 우선 순위 필드가 일반 탭에 있습니다

    참고: 우선 순위 값은 낮은 값이 먼저 실행된다는 의미의 실행 순서와 유사합니다. 그러나 우선 순위 값은 하위 시스템에 걸쳐 있지 않다는 점에서 실행 순서와 다르며, 이 이유는 해당 시스템에 포함된 버스 블록이 아닌 DSP Builder 하위 시스템에 우선 순위를 설정해야 하는 이유입니다.

    관련 제품

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

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

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