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

항상 감사하면 살기님의 프로필 이미지
항상 감사하면 살기

작성한 질문수

설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)

[HDL 38장-2부] Mem copy IP. DMA RDMA 설계 - 실습편 - 코드리뷰

RDMA 설계 질문

작성

·

251

1

맛비님 안녕하세요, 항상 바쁘신데 감사드립니다 !!

 

오늘 질문은 RDMA 관련 코드입니다.

RDMA 설계시 맛비님께서는 Byte 단위 처리가 아닌 한 사이클(8Byte)당 처리 방식으로 설계 하셨습니다.

 

그 예시로

r_num_total_stream_hs <= r_transfer_byte >> AXI_DATA_SHIFT;

아래 코드와 같이 3bit 비트 이동 연산은 곧 2^3=8 만큼 나눈것이기 때문에 이해가 어렵지 않았습니다.

 

하지만 이해가 가지 않는 부분은 아래 코드 입니다.

wire [12-AXI_DATA_SHIFT:0] last_addr_in_burst = (w_m_axi_gmem_ARADDR[11:AXI_DATA_SHIFT] + init_burst_len);

 

위의 hs의 수를 구하는 것은 말 그대로 크기에 대한 나누기 이기 때문에 적용이 문제가 없을 것이라고 생각합니다.

 

하지만 w_m_axi_gmem_ARADDR은 우리가 실제 AR Channel을 통해 보내줄 Physical address이므로 이것을 임의로 하위 3bit을 자르는 것이 가능한지 이해가 가질 않습니다.

ex ) 13'b1111_1111_1111_0000

13'b1111_1111_1111_0011

위의 두 개는 다른 값이지만 , 하위 3bit을 자르면 같은 값이 되기 때문입니다.

 

코드를 다시 들여봐도 이해가 가지 않아 죄송합니다...

오늘도 좋은 하루 되세요.

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

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

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

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

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

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

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

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

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

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

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

답변 1

0

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

안녕하세요 🙂

질문이 정확하게 이해는 안되는데, 현재 AXI 의 data bit width 는 64 bit 으로 8 byte 접근이 가능합니다.

8 byte align 된 address 접근 을 하고 있음 인지하시면, 코드가 이해가 되실 것 같아요.

(AXI 를 통해 발행되는 address 는 0, 8, 16, 24 .. 만 한다라고 가정하고 설계함)

즐공하세요 🙂

항상 감사하면 살기님의 프로필 이미지
항상 감사하면 살기

작성한 질문수

질문하기