강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

dentist141님의 프로필 이미지
dentist141

작성한 질문수

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

[FPGA 16장] FSM 을 이용한 BRAM Data Mover 모듈 설계 - 실습편

datamoverbram모듈질문

작성

·

14

0

안녕하세요 🙂

[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요. chapter 15,16 datamoverbram모듈입니다.

[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂

맛비님, data_mover_bram 코드에서 pipeline 부분을 보다가 궁금한 점이 생겼습니다.

BRAM read latency 때문에 mem_data와 r_valid는 같은 cycle에 유효해지는 것으로 이해했습니다.
그런데 r_core_data[0]은 mem_data를 바로 받아서 cycle N+1에 저장되고,
r_core_delay는 r_valid를 한 번 더 거쳐서 cycle N+2에 반영되는 구조라서
data와 valid가 1 cycle 어긋나는 것처럼 보입니다.

이 경우 data와 valid가 정확히 같은 stage에서 정렬되지 않는것으로 보이는데 제 생각이 틀린건지 궁금합니다.

[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.)

 

================ 다음 내용은 읽어보시고 지우시면 됩니다.=================

질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!

현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)

  1. 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)

  2. 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)

    1. 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..

  3. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)

    1. 서로 예의를 지키며 존중하는 문화를 만들어가요.

    2. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )

  4. 먼저 유사한 질문이 있었는지 검색해보세요.

  5. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

==================

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. dentist141님께서 질문하신 내용에 대해 안내드리겠습니다.

질문하신 data_mover_bram 모듈에서 데이터와 valid 신호의 동기화 문제에 대해 설명하자면, 이 부분은 여러 수강생분들이 혼란스러워했던 부분이기도 하지요.

데이터와 Valid 신호의 동기화

  • r_core_data[0]: 이는 mem_data를 바로 받아서 cycle N+1에 저장됩니다.
  • r_core_delay: 이는 r_valid를 한 번 더 거쳐서 cycle N+2에 반영되기 때문에, 데이터와 valid 신호가 1 cycle 어긋나 있는 듯 느껴질 수 있습니다.

이와 관련된 질문이 이미 여러 번 있어, 자세한 답변이 기존에 존재합니다. 아래 링크들을 통해 해당 내용을 더욱 깊이 이해하실 수 있습니다.

관련 질문과 답변 링크

  1. dat_mover_bram 모듈에서의 데이터 타이밍 관련 문제

    • 이 게시물에서 r_core_delay와 r_core_data의 타이밍 차이에 대한 설명을 참고하시면 도움이 될 것입니다.
  2. BRAM Data Mover에서의 딜레이 문제

    • 데이터 이동 간의 딜레이 관련 문제를 다루고 있습니다.

기본적으로 BRAM에서 데이터가 읽어질 때 발생하는 레이턴시와 관련하여 valid 신호와 데이터가 항상 정확하게 맞물리도록 설계되었는지를 확인하는 것이 필요합니다. 신호의 처리 순서나 상태 머신 논리를 재검토하면 좋겠습니다.


질문하신 부분에 대해 유사한 맥락의 답변 링크를 준비해드렸습니다. 참조하시면서, 혹시 추가적으로 궁금한 점이 생기면 주저하지 마시고 추가 질문해 주세요. 지식공유자께서도 곧 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

dentist141님의 프로필 이미지
dentist141

작성한 질문수

질문하기