문서 ID: 000077043 콘텐츠 형태: 문제 해결 마지막 검토일: 2015-09-30

PCI Express용 하드 IP가 호스트 종료 후 2ms 이상 핫 리셋 상태로 유지되는 이유는 무엇입니까?

환경

BUILT IN - ARTICLE INTRO SECOND COMPONENT
설명

SRC(Soft Reset Controller)를 사용하는 PCI® Express 변형에 대한 Altera® 하드 IP의 문제로 인해 필요한 시간 내에 핫 리셋 상태를 벗어나지 않을 수 있습니다.

참고: Quartus 릴리스 13.1 이상의 Gen2 설계와 Stratix® V 및 Arria® V GZ 장치의 모든 Gen 3 설계에는 SRC를 사용해야 합니다. 다른 장치는 SRC를 사용하지 않습니다.

핫 리셋의 순서는 다음과 같습니다.

  • PCIe 호스트가 핫 리셋을 시작하고 핫 리셋 상태로 들어갑니다.
  • 하드 IP가 핫 리셋 상태로 들어갑니다.
  • PCIe 호스트가 핫 리셋 상태를 벗어나면 하드 IP는 추가로 2ms 동안 핫 리셋 상태를 유지한 다음 PCIe 사양에 따라 Detect.Quiet로 종료되어야 합니다.

그러나 SRC를 사용하는 설계에서는 수신기가 활성 레인에서 locked_to_data 전환하면 2ms 타임아웃이 다시 시작됩니다. 차선에 과도한 소음이 있는 경우 수신기가 locked_to_data 전환할 수 있습니다. locked_to_data 의 각 토글은 2ms 카운터가 잠재적으로 영구적으로 다시 시작되도록 하여 하드 IP를 지속적인 핫 리셋 상태로 만듭니다.

해결 방법

이 문제를 해결하려면 다음 단계를 수행합니다.

파일 altpcie_rs_serdes.v.를 열고,

아래 코드를 찾아 주석 처리하십시오.

dl_ltssm_r <= ltssm;
dl_ltssm_rr <= dl_ltssm_r;
if ((dl_ltssm_r == 5\'h14) && (rx_signaldetect_sync[7:0]==8\'h0) && (hotreset_cnt>20\'h0)) 시작
hotreset_cnt <= hotreset_cnt-20\'h1;

그렇지 않으면 시작

hotreset_cnt <= (test_sim==1\'b1)?20\'h10:(rc_inclk_eq_125mhz==1\'b1)?20\'h3D091:20\'h7A121;


hotreset_2ms <= (hotreset_cnt==20\'h1)?1\'b1:1\'b0;

다음 줄을 삽입합니다.

dl_ltssm_r <= ltssm;
dl_ltssm_rr <= dl_ltssm_r;
if((dl_ltssm_r == 5\'h14) && (dl_ltssm_rr != 5\'h14)) 시작

hotreset_cnt <= (test_sim==1\'b1)?20\'h10:(rc_inclk_eq_125mhz==1\'b1)?20\'h3D091:20\'h7A121;


if(hotreset_2ms == 1\'b1) 시작
exits_hotreset <= 1\'b0;

else if ((dl_ltssm_r == 5\'h14) && (rx_signaldetect_sync[7:0]==8\'h0)) 시작
exits_hotreset <= 1\'b1;

if ((exits_hotreset == 1\'b1) & & (hotreset_cnt > 20\'h0)) 시작
hotreset_cnt <= hotreset_cnt-20\'h1;

hotreset_2ms <= (hotreset_cnt==20\'h1)?1\'b1:1\'b0;

관련 제품

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

Arria® V GZ FPGA
Stratix® V GS FPGA
Stratix® V GT FPGA
Stratix® V GX FPGA

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