inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

291

정기용

작성한 질문수 8

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 시키는 방법도 있을것 같은데 후자로 하는게 맞을까요?

fpga 임베디드

답변 1

0

설계독학맛비

안녕하세요 :)

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

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

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

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

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

즐공하세요 :)

0

정기용

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

HW가속기 설계에서 더 보완할 수 있는 방법이 있을까요?

1

57

2

UART0, 1 중 선택

1

90

2

datamoverbram모듈질문

1

85

2

vitis 설치엣 alveo kria versal 등 옵션을 끄고 설치를 했습니다.

1

121

2

vitis 설치 관련 질문 있습니다!

1

112

2

FPGA 공식문서 읽는법

1

115

2

보드 추가의 클릭창이 없습니다.

1

85

2

Edit in IP Packager에서 코드 수정 후 IP 수정하면 simulation에서 수정된 코드로 작동이 안됩니다

1

100

2

BRAM의 Read / Write를 다 수행했는지 확인할 때 사용되는 num_cnt / i_num_cnt 관련 질문

1

118

1

Vitis 코드 작성

1

139

2

vivado 및 vitis 리눅스 환경 설치 관련 질문드립니다.

1

320

3

[9장 led 점등 시간 제어 불가]

1

93

2

Platform Invalid 오류

1

167

3

WSL 설치 관련 문의드립니다!!

1

116

2

Vivado 툴, 파일 질문드립니다!

1

181

2

9장 LED 점등 안됨

1

129

3

Edit in IP Packager 이후에

1

98

1

Fpga 로직

1

106

2

pmu-fw is not running

1

149

2

Create Project에 대해서 궁금해요

1

102

2

장치관리자 USB 포트

1

117

2

FPGA 7장 AXI_LITE I/F질문

1

95

1

bram mover에서 합성할때

1

88

2

타이밍 위반 질문

1

88

2