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

20200833님의 프로필 이미지
20200833

작성한 질문수

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

[FPGA 12장] AXI4-Lite I/F 를 사용하여 Register 가 아닌 메모리에 Write / Read 해보기 - 코드리뷰편

BRAM의 동작 방식에 대해 궁금한 점이 있습니다.

작성

·

457

·

수정됨

1

- 강의 내용외의 개인 질문은 받지 않아요 (개별 과제, 고민 상담 등..)
- 저 포함, 다른 수강생 분들이 함께보는 공간입니다. 보기좋게 남겨주시면 좋은 QnA 문화가 될 것 같아요. (글쓰기는 현업에서 중요한 능력입니다!)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

일단 메모리 동작 방식에 대해 제가 아는건 Sequential와 Random Access가 있고, 말 그대로 순차적으로 메모리를 접근하는 방식과 임의의 위치에 바로 접근하는 방식으로 알고 있습니다.

BRAM을 소개하실 때 Random Access가 가능하다고 하셨는데, 이번 실습은 Sequential Access 방식인거같습니다.

간단하게 구현하기 위해 Sequntial 방식으로 구현하신 건가요???

 

그리고 mem_ce 신호는 Clock En 신호 같은데 신호를 계속 바꿔주는 이유가 있을까요?

답변 4

0

20200833님의 프로필 이미지
20200833
질문자

네 감사합니다!!

0

20200833님의 프로필 이미지
20200833
질문자

여기 slv_reg2에 cnt값을 저장하지 않고 따로 reg만들어서 cnt를 저장하는 이유가 있을까요>?

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

아하.

먼저 서두에 말씀드리고 싶은건.

제공해 드린 코드는 정답이 아닙니다. 설계자가 판단하는 거에요.

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

저의 의도가 궁금하신것이니 적습니다.

cnt 를 하려고 slv_reg2 를 만든것이 아닌, slv_reg2 번은 initial value 값이 저장 되어있고, 나중에 확인해보기위한 용도 였다. 생각하시면 될 것 같습니다. (큰 의미는 없어요 ㅎㅎ)

 

즐공하세요 :)

0

20200833님의 프로필 이미지
20200833
질문자

네 감사합니다!!

또 공부하다가 궁금한게 생겨서 하나 더 여쭤보겠습니다 ㅎㅎ,,

메모리의 위치를 나타내는 cnt를 사용할 때 Write Addr의 값을 'h8로 접근하여 사용하는데, 이 때 AXI4_Lite 내의 Reg2를 사용하지 않고 따로 F/F을 만들어서 cnt를 사용하는것이 특별한 의미가 있나요??

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

음..?; 어디 부분인지 상세히 알려주시면 감사하겠습니다 :)

질문이 정확하게 이해가 안되서... ㅠ

0

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 :)

간단하게 구현하기 위해 Sequntial 방식으로 구현하신 건가요???

맞습니다. Random Access 가능하세요. counter 기반의 addr 방식 대신 바꾸시면 됩니다 :)

그리고 mem_ce 신호는 Clock En 신호 같은데 신호를 계속 바꿔주는 이유가 있을까요?

Power saving 측면에서 ce 를 꺼두는 방식을 사용합니다.

동작만 보실꺼면, ce 를 '1' fix 하시면 됩니다. (현업에서 ASIC 하시면, ce 를 '1' 로 고정시키는 케이스는 거의 없으실 꺼에요)

즐공하세요 :)

20200833님의 프로필 이미지
20200833

작성한 질문수

질문하기