inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)

[AI HW Lab1] CNN Core C 코딩 (Golden Model 만들기)

Bit Width 설정 관련해서 질문합니다.!

해결된 질문

957

베릴로그

작성한 질문수 6

2

Unisigned Value의 곱셈에 대한 Bit Extension을 통해 16 Bit , 이 값을 32번 누적하게 되면 Overflow를 방지하기 위해 47비트가 필요한 것이 아닌가요? 24비트로 설정된 이유를 여쭤보고 싶습니다!

임베디드 cnn fpga verilog-hdl

답변 1

0

설계독학맛비

안녕하세요 :)

말씀하신대로 Unsigned type 의 fmap, weight 를 사용했다면 Overflow 가 발생합니다. :)

C 로는 HW 의 결과값과 동일한지의 matching 용도의 modeling 이고요.

HW 실습까지 보셨는지 모르겠지만, fmap, weight 의 bit width 는 8b 입니다.

image위 Parameter 들의 bit width 값을 고려해보시면, 필요한 bit 수가 계산이 되실 거에요.

즐공하세요 :)

0

베릴로그

답변 감사합니다.!

주석으로 달아 놓으신 Bit Width 부분이 이해가 잘 되지 않아 다시 여쭤보려고 하는데요.

fmap과 weight의 bit width는 각각 8bit로 이 둘의 곱셈을 하게되면 overflow를 방지하기 위해

총 16bit가 필요한 것이 아닌가요? 이 16bit Data를 총 OCH(32)만큼 누적을 하니까 총 31bit 만큼

비트를 늘려주어야해서 mac_result에 대해서는 총 47bit가 필요한 것이 아닌가 여쭤보고 싶습니다.

( mac_result 부분에서 16 + 4 + 4 = 24bit로 계산된 부분이 잘 이해가 되지 않습니다. )

 

0

설계독학맛비

헷갈리신 부분을 이해했습니다. 다음 내용만 설명드리면 되겠네요.

16bit 가 32 개 누적이면 31bit 이 아닙니다.

16bit + 5bit (2^5) 인 21b 이 필요하겠네요. (저의 예제는 OCH 는 16 개 이니까, 20b 입니다.)

생각해보시면,

unsigned 16 bit 의 max 값은 65536 (2^16) - 1 인 65535 입니다.

이를 32 번 더했다고 생각해보셔요.

그러면 65535 * 32 가 Max value 가 되겠죠? (2097120 입니다.)

이는 21bit 면 충분히 표현가능하죠.

2^21 = 2097152

위 내용을 이해하신다면, 해결이 되실 것 같아요. 이후 내용은 스킵할께요.

즐공하세요 :)

0

베릴로그

아하 이해됐습니다. 감사합니다!!

[AI HW Lab2] CNN Verilog HDL Practice 1 (Simulation) - 문제설명편 ppt

1

109

2

[AI HW Lab1] CNN Core C 코딩 (Golden Model 만들기)

1

95

2

spartan7 fgga484보드

1

79

1

soft reset관련 질문드립니다!!

1

62

2

예제 코드 환경설정

1

77

2

HW 언어 for loop 해석

1

60

3

수업자료 관련 질문드립니다.

1

76

2

FPGA 기반 ASIC 설계 검증 시 다차원 배열 처리 방식 및 강의 수강 순서 고민

1

107

2

Fpga에 ai 가속기를 사용하는 이유

2

428

2

AI HW 11장 관련 질문드립니다.

1

114

2

소프트 맥스 관련 질문드립니다.

1

204

1

Data형태에 따른 AI가속기 구현 질문

1

223

1

cnn_core simulaiton

2

283

3

zynq z7 10 parameter 크기

1

209

2

ip 패키징 질문

1

289

1

Image 인식 가속 모델을 설계하려면

1

311

2

이 강의 수강을 위해 fpga 구입이 필요할까요?

2

369

2

혹시 AI 관련 강의도 Zybo Board가 필요한가요?

1

297

2

cnn_kernel.v 코드질문입니다.

1

199

1

6장2부 15분 12초 왜 feature map size가 변경되지 않나요?

1

257

2

zybo z7 케이블 관련 질문

1

365

1

CNN layer별 연산

1

274

2

CNN Core에 weight 와 input feature map 관련해서 질문있습니다!

1

263

1

Linux 및 외장 하드 사용에 관한 질문

1

271

2