강의

멘토링

로드맵

Inflearn Community Q&A

cgh9326254's profile image
cgh9326254

asked

Design Self-Study Matbi's Practical HW Accelerator Design Using FPGA (From LED Control to Fully Connected Layer Accelerator Design)

[FPGA Chapter 10] Uploading a basic FSM core IDLE -> RUN -> DONE module to FPGA, implementing a HW Sleep function (Learning PS <-> PL communication method 2) - Practical Guide

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

Written on

·

171

1

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

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

 

fpga임베디드

Quiz

AXI4-Lite 인터페이스는 하드웨어 IP 제어 시 주로 어떤 목적으로 사용될까요?

대용량 데이터의 고속 스트리밍 전송

하드웨어 IP의 내부 레지스터 설정 및 상태 확인

메모리 간의 복잡한 데이터 전송 프로토콜 구현

여러 칩 간의 동기화되지 않은 통신

Answer 2

1

cgh9326254님의 프로필 이미지
cgh9326254
Questioner

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

semisgdh님의 프로필 이미지
semisgdh
Instructor

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

0

semisgdh님의 프로필 이미지
semisgdh
Instructor

안녕하세요 🙂

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

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

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

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

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

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

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

cgh9326254's profile image
cgh9326254

asked

Ask a question