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

satreci-sta님의 프로필 이미지
satreci-sta

작성한 질문수

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

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

BRAM의 1cycle delay

해결된 질문

작성

·

513

2

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 d운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
"BRAM을 통해서 read된 data가 valid해지는 시점이 1 cycle 뒤이다."
 
의 이유가
 
Internal Memory(BRAM)의 Latency가 일반적으로 1cycle이기 때문인가요??

답변 1

1

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

안녕하세요 :)

문서에 자세히 나와있어요. 

요약해 드리면, primitive BRAM 의 Read latency 는 1 cycle 입니다.

즐공하셔요 :)

satreci-sta님의 프로필 이미지
satreci-sta
질문자

강의에서 메모리 종류별 비교 표를 보여주시면서 Latency가 1cycle로 짧은 편이다고 말씀하셨던게 생각나서 여쭤봤는데 더 상세하게 보여주셔서 감사합니다

덕분에 잘 이해했어요 :)

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

BRAM 을 생성할때, Primitive cell (Read latency 1) 에 추가로 F/F 을 사용해서 Latency 를 키워서 생성가능합니다. 이는 혹시 BRAM I/F 상에서 Timing Violation 이 발생하면 추가 latency 를 사용하여 생성가능합니다. (다음 그림은 큰 size 의 primitive bram 보다 큰  BRAM 을 사용할때, 중간에 mux 가 붙게 됩니다. 이때, Timing Violation 의 발생원인이 됨으로, F/F 을 추가하여 latency 를 늘리게 됩니다.)

또한 BRAM 모듈 생성시 Latency 부분을 수정할 수 있습니다. (몇 Cycle 로 할지)

참고문서 : https://www.xilinx.com/support/documentation/ip_documentation/blk_mem_gen/v8_3/pg058-blk-mem-gen.pdf 

대신 latency 를 늘리신 만큼, BRAM Controller 모듈에 늘린 latency 를 제어하기 위한 부분은 설계자가 추가해 줘야겠죠?!

즐공하세요 :)

satreci-sta님의 프로필 이미지
satreci-sta
질문자

와 덕분에 많은 지식 배워갑니다!

정말 감사드려요 :D

satreci-sta님의 프로필 이미지
satreci-sta

작성한 질문수

질문하기