강의

멘토링

커뮤니티

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

정기용님의 프로필 이미지
정기용

작성한 질문수

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

dpBRAM 에서 data 를 읽어올 때, 2개의 row 를 한꺼번에 읽어와도 되나요?

작성

·

283

1

안녕하세요 맛비님. 강의에서 나왔던 data_mover_bram 을 기반으로 maxpooling layer 를 만들어 보려고 하고 있습니다.
 
BRAM 안에 14 * 14 짜리(각 숫자는 8 BIT) Feature map 이 한장 있다고 가정하고 이것에 대해 (2*2 짜리 filter 로 stride = 2) maxpooling 을 하고 싶어서 pooling 을 해주는 모듈은 만들고 이 core 7 개를 data mover 에 박아서 pooling 을 하려고 하였습니다.
 
그런데 생각해보니 위와같이 pooling 을 하기 위해서는 14 * 14 의 output 피쳐맵의 row 2 개를 동시에 읽어와야 하더라구요 dpBRAM 이 dual port 니 코드를 좀 수정하면 두 row를 동시에 읽어오는 것이 가능은 할 것 같은데 뭔가 해서는 안되는 짓을 하는 것 같아서 여쭙습니다. 만약 안되면 한줄 읽어온걸 잠시 reg 에 저장해뒀다가 1 clk delay 시키는 방법도 있을것 같은데 후자로 하는게 맞을까요?

답변 1

0

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

안녕하세요 :)

개인 과제 질문은 제가 답변드리기 어려운점 참고 부탁드립니다.

https://www.inflearn.com/news/312951

질문내용을 다 이해하진 못했고요. bram 에 관한 내용만 적어드릴께요.

true dual port bram 은 두 port 동시에 read/write 가능합니다.

다만 두 포트가 동시에 같은 Address 를 접근할때, 어떻게 처리해줄지 (우선순위의 규약) 는 문서를 참고해서 해결하셔야 합니다. 혹은 동일 Address 접근 자체를 못하도록 설계하시면 됩니다.

즐공하세요 :)

정기용님의 프로필 이미지
정기용
질문자

음 가능하긴 하군요 알겠습니다 감사합니다!

정기용님의 프로필 이미지
정기용

작성한 질문수

질문하기