인프런 커뮤니티 질문&답변
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 접근 자체를 못하도록 설계하시면 됩니다.
즐공하세요 :)






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