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

김상현님의 프로필 이미지
김상현

작성한 질문수

설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)

[FPGA 12장] AXI4-Lite I/F 를 사용하여 Register 가 아닌 메모리에 Write / Read 해보기 - 코드리뷰편

Read latency에 대한 질문 드립니다.

작성

·

335

1

=================

현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)

  1. 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)

  2. 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)

    1. 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..

  3. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)

    1. 서로 예의를 지키며 존중하는 문화를 만들어가요.

    2. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )

  4. 먼저 유사한 질문이 있었는지 검색해보세요.

  5. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

==================

맛비님. 안녕하세요. 강의 잘 보고 있습니다.

Read latency에 대한 질문이 있어 글 남깁니다.

커뮤니티에서 latency와 관련된 질문에 대한 답을 보아도 이해가 안되는 부분이 있습니다.

문서를 보면 AXI4 BRAM Controller IP는 Read Command 최적화로 Read latency를 줄인 것으로 보입니다.

이러한 이유인지 강의에서 1 cycle 미만이라고 하셨고 그림에서도 1 cycle 미만으로 보입니다만 Read latency에 대한 글을 보면 무조건 1 cycle 미만이라는 보장도 없는 것 같습니다.

문서만 보고 드는 생각은 상황에 따라 BRAM의 Read Latency가 변한다는 것(온도?)인데, 이러한 상황이 있을 수가 있나요?

답변 4

0

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

안녕하세요 🙂

(user 가 address 와 read en 을 셋팅한 이후) 바로 data 를 read 할 수 는 있습니다.

다만 그렇게 하면 timing 에서 문제가 있을 수 있기 때문에, 설계자가 RAM 의 R data 를 F/F 을 쳐서 1 cycle delay 를 만들고, 안정적인 timing 을 보장해서 설계하는 것이 (국) 룰 입니다.

RAM 의 delay 까지 포함해서 설계하겠다는.. 설계자가 보장을 해줘야겠죠?

결론은 케바케 입니다.

즐공하세요 🙂

0

김상현님의 프로필 이미지
김상현
질문자

지금 다시 생각해보니 저희는 BRAM Controller IP를 사용하는건 아니지 않나요?

myip_v1_0_S00_AXI가 BRAM Controller 역할을 하고 있는건데 그러면 최적화 이야기는 아닌거 같은 생각이드네요. ㅠㅠ

0

안녕하세요, 인프런 AI 인턴입니다.

김상현님, FPGA와 AXI BRAM Controller IP에 관한 Read Latency에 대해 궁금해하시는군요.

질문하신 내용에 대해 유사한 상황을 다룬 기존의 질문과 답변이 있어 이를 추천해드립니다.

  1. BRAM의 1cycle delay에서는 BRAM을 통해서 read된 data가 valid해지는 시점이 1 cycle 뒤인 이유에 대한 설명이 담겨 있습니다. 이는 Internal Memory(BRAM)의 Latency가 일반적으로 1cycle이기 때문이라는 설명과 함께, 해당 세부사항에 대한 문서 링크를 포함하고 있습니다. 문서에 따르면, primitive BRAM의 Read latency는 기본적으로 1 cycle입니다. 이는 AXI BRAM Controller의 문서에서 더 자세히 확인할 수 있습니다.

  2. BRAM latency 질문에서는 Total Port B Read Latency가 2 clock cycle이라고 표시된 경우에 대한 설명이 이루어졌습니다. 이는 BRAM IP를 통해 테스트 벤치를 작성하면서 발생한 궁금증에 대해 처리하는 과정입니다. 답변에서는 read latency가 일반적으로 1 cycle 뒤에 유효한 값을 가짐을 설명하고 있으며, registered output이 있는 경우 2 cycle이 될 수 있음을 언급합니다.

위의 내용 및 문서 상에서 Read Latency는 디자인, 설정 또는 특정 조건(예: ECC 사용 유무)에 따라 변할 수 있음을 나타냅니다. 이와 같이 AXI BRAM Controller 내에서 Read Latency를 처리하는 방법은 다양하며 상황에 따라 달라질 수 있습니다. 실제 환경에서의 온도 같은 물리적 조건 변화가 Latency에 직접적으로 영향을 줄 수 있는지는, 특정한 경우에 따라 결정될 수 있으며, 일반적으로 내부 로직과 구성에 의한 영향이 더 중요합니다.

이와 관련하여 궁금한 점이 더 있으시면 추가 질문을 해주시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

김상현님의 프로필 이미지
김상현
질문자

혹시 이 그림이 하나의 BRAM인가요?

그러면 BRAM 사이즈에 따라 저렇게 생성이 되는건가요?

김상현님의 프로필 이미지
김상현

작성한 질문수

질문하기