Inflearn brand logo image

인프런 커뮤니티 질문&답변

유승재님의 프로필 이미지
유승재

작성한 질문수

설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)

[HDL 35장] AXI4-Stream I/F - 실습편 2 (AXI4-Stream Video 를 통해서 그라데이션 효과를 만드는 IP 를 설계하기)

[HDL 35장 AXI-Stream I/F 실습편] sync_fifo 사용 이유

작성

·

51

1

안녕하세요 🙂

[HDL 35장 AXI-Stream I/F 실습편] 내용 중 sync_fifo 사용의 이유에 대해서 궁금하여 질문 드립니다.

 

  • 제 짧은 생각으로는 현재 matbi_gradation.v 에서 sync_fifo를 없애고, 바로 AXI-stream output port로 연결해도 동일하게 동작할거라고 생각하였습니다.

  • 그럼에도 지금은 fifio가 depth 4로 선언이 되어 있습니다.

  • [질문 1] 혹시 sync_fifo를 굳이 중간에 두는 이유가 무엇인지 궁금합니다.

  • [질문 2] 현업에서 저런 식으로 output을 내보내기 전에 sync_fifo를 보통 두는 것이 일반적이기 때문이라서 그런 것인지, 맛비님의 의도가 궁금합니다..!!

  • [질문 3] 또한 만약 sync_fifo를 두는 것이 일반적이라고 하더라도, 그러면 fifo depth를 1 혹은 2로 두어도 충분할거 같은데, 4로 설정하신 특별한 이유가 있는지도 궁금합니다!

항상 좋은 강의 감사드립니다.

답변 1

0

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 🙂

sync fifo 를 중간에 두는 이유는 data 의 latency 을 보완하고 pipeline 을 유지하기 위함입니다.

그렇다면 왜 4 냐?

이 질문의 답은 예제 코드에서는 충분히 4로 준거고요. 알고계신대로 depth 값이 1 혹은 2가 충분하다면 그렇게 변경하셔도 되겠습니다. 모든 상황에서 고정으로 숫자를 가져가지는 않아서, 설계자의 생각이 반영된 자유도가 높은 값 선택이라고 생각하시면 되겠습니다.

실제 현업에서도 이런 fifo 의 depth 를 정하는 과정이 존재해요. 초반에 확정지어서 가지는 않습니다.

즐공하세요!

 

유승재님의 프로필 이미지
유승재

작성한 질문수

질문하기