• 카테고리

    질문 & 답변
  • 세부 분야

    반도체

  • 해결 여부

    미해결

[10장 8분 질문]

23.01.11 20:45 작성 조회수 200

1

- 강의 내용외의 개인 질문은 받지 않아요 (개별 과제, 고민 상담 등..)
- 저 포함, 다른 수강생 분들이 함께보는 공간입니다. 보기좋게 남겨주시면 좋은 QnA 문화가 될 것 같아요. (글쓰기는 현업에서 중요한 능력입니다!)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요 맛비님 언제나 좋은 강의 제공해주셔서 감사합니다.

-질문-

445~454 ff은 456~465의 "i_done의 1틱을 캐치 못 함"을 보완하기 위해 만들어졌다고 이해했는데요.

그렇다면 둘의 센시티비티 리스트가 같아도 되는 건가요??(둘 다 캐치하는 순간이 같을 것이라고 생각하는데 잘 이해가 가지 않습니다.)

 

언제나 좋은 하루 되세요.

답변 1

답변을 작성해보세요.

1

안녕하세요 :)

AXI4-Lite를 통해서, PS 에서 PL 의 Register 값을 Write 혹은 Read 할 수 있습니다.

여기까지는 이해가 되셨으리라 믿고 설명을 이어가 보겠습니다.

AXI4-Lite 를 통해서 PS 에서 PL 의 done 값을 Read 해야하는 상황입니다.

AXI4-Lite 의 Read 과정을 생각해보면,

  1. address req

  2. data read

이렇게 두개의 step 으로 나눌 수 있습니다.

그리고 각 step 은 System 의 현재 환경에 따라 수 cycle, 수십, 수백 cycle 이상의 편차가 발생합니다.

즉, 정확한 시점을 catch 할 수 없습니다.

그런상황에서,

done 신호를 1 tick 으로 만 알려주게되면,

AXI4-Lite 로 read 해야하는 입장에서는 1 tick / 수십,수백 cycle 의 확률로 알아채게 되는 것이죠.

done 신호를 놓치면, HW 는 종료했지만, PS 입장에서는 종료된 것을 모릅니다.

그렇기 때문에, 1 tick 의 done 신호를 보고 reg 에 '1' 로 띄워놓게 만듭니다.

그러면 PS 입장에서는 done 을 언제든지 100% 확률로 읽을 수 있죠.

그 다음 그리고 PS 에서 새로운 run 을 주게 되면 '1' 로 유지되던 신호를 '0' 으로 초기화 하였습니다.

image

즐공하세요 :)

 

 

채널톡 아이콘