inflearn logo
강의

講義

知識共有

設計独学マッビ(Matbi)の「実践FPGAを利用したHWアクセラレータ設計(LED制御からFully Connected Layerアクセラレータ設計まで)」

[FPGA 10章] FSM基本コア IDLE -> RUN -> DONE モジュールを FPGA に実装してみる HW Sleep 関数実装 (PS <-> PL 間の通信方法を学ぶ2) - 実習編

bram에 관련해서 질문있습니다!

175

cgh9326254

投稿した質問数 4

1

안녕하세요 맛비님, 강의 잘 시청하고 있습니다! 강의를 보며 직접 ANN을 설계해보는 중에 궁금한 점이 있어 질문 드립니다.

질문: Fully Connected Layer에서 제가 알기론 각 코어의 출력값이 순차적으로 나오는 것이 아니라 병렬로 나오는 것으로 알고 있습니다. 이 출력값들을 다음 층의 입력으로 전달하기 위해 메모리를 사용하려고 하는데, 이러한 상황에서 출력값을 메모리에 저장하는 가장 효율적인 방법이 무엇인지 궁금합니다.

 

fpga 임베디드

回答 2

1

cgh9326254

답해주셔서 감사합니다! FPGA21 장의 질문을 올렸어야 하는데 실수로 10장의 올렸네요 ..ㅎㅎ
21장에서 맛비님이 설계하신 코드를 보면 fully connected core를 4개로 설계 하셨는데 이 4개에서 나오는 출력값들을 메모리에 저장 후 다음 layer로 전달하고 싶습니다. 이때 메모리에 주소를 하나 씩 변경하면서 저장하고 싶은데 각 각 다른 코어에서 값들이 나와서 메모리에 input을 어떻게 줘야 될지 궁금합니다.

0

semisgdh

concatenation 문법을 통해서 4개의 data 를 하나의 data 처럼 메모리에 넣어두면 될 것 같아요.

0

semisgdh

안녕하세요 🙂

FPGA10 장의 질문이라.. 답변이 맞는지 모르겠네요.

질문이 모호한 부분이 있는데요.

먼저 아키텍처를 어떻게 잡느냐에 따라서 코어의 출력값이 순차적으로 나오게 할 수 있고, 병렬로도 나오게 할 수 있어요. 병렬이라고 가정할께요.

효율적? 이 어떤 관점인지는 모르겠는데요. (PPA)

Performance 관점에서만 설명드리면,

출력을 다음 Layer 의 입력으로 전달한다 하시면, 최소 Cycle 을 원하시면 현 Layer 의 결과를 저장할 수 있는 최대 bit width 로 설정하시면, 한 cycle 에 많은 data 양을 R/W 할 수 있으니 performance 관점에서는 좋을 것 같아요.

이런 식으로 질문자님께서 아키텍쳐를 고려해보시면 좋을 것 같아요.

UART0, 1 중 선택

1

51

2

datamoverbram모듈질문

1

63

2

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

1

96

2

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

1

84

2

FPGA 공식문서 읽는법

1

95

2

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

1

71

2

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

1

81

2

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

1

106

1

Vitis 코드 작성

1

130

2

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

1

291

3

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

1

81

2

Platform Invalid 오류

1

150

3

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

1

96

2

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

1

151

2

9장 LED 점등 안됨

1

110

3

Edit in IP Packager 이후에

1

82

1

Fpga 로직

1

89

2

pmu-fw is not running

1

127

2

Create Project에 대해서 궁금해요

1

89

2

장치관리자 USB 포트

1

98

2

FPGA 7장 AXI_LITE I/F질문

1

89

1

bram mover에서 합성할때

1

77

2

타이밍 위반 질문

1

78

2

rvalid 초기화

1

66

2