Inflearn brand logo image

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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

[HDL 34장] AXI4-Stream I/F - 실습편 1 (AXI4-Stream I/F 를 검증하기 위한 검증환경 소개)

valid/ready 스트림 구조 관련 질문이 있습니다!

작성

·

21

·

수정됨

1

안녕하세요 맛비님! 개인 실습 중 질문이 있어 질문드리게 된점 양해부탁드립니다.

 

먼저 현재 실습 중인 내용 말씀드리겠습니다.

 

  1. axi4-lite 를 통해서 텍스트에 입력되어 있는 input data를 인풋bram 에 입력시킵니다.

  2. 그 후, 개인적으로 만든 연산코어를 통해 연산하고 나서 연산결과를 연산코어 내의 레지스터에 저장합니다.

  3. 레지스터에 저장된 값을 output bram 에 입력합니다.

  4. 연산코어가 여러개여서 1-3 과정을 반복했습니다.

     

정리하면,
input txt -> data_mover_bram -> bram0 -> 연산core -> data_mover_bram -> bram1 -> 연산core -> data_mover_bram -> bram2 ...
-> 연산 core -> 매 clk 마다 연산결과 출력

과 같은 구조를 만들었습니다.

testbench simulation 상에서는 원하는 결과를 얻었습니다.

 

하지만, fpga 에 올리기 위해 generate bitstream 과정을 진행하다가 아래 사진과 같이

image.png


자원을 고려하지 않고 구현했음을 깨달았습니다. (보드는 zybo z7 10 입니다)

 

제 추측으로는 연산결과를 각 연산core 에서 레지스터에 저장했다가 bram 에 입력했던 점이 문제라고 생각됩니다.

 

연산결과가 32bit 가 쌓일 때마다 결과 bram 으로 입력하는 방안을 고민 중인데 그러려면 각 연산 코어에서 bram 에 입력할때 AXI4 stream 을 사용해야 하는게 맞는지, valid/ ready 스트림 구조만 사용하는지 좋을지 알려주시면 감사하겠습니다.

강의 외 내용이 많아서 죄송합니다 ㅜㅜ (답변 거부하셔도 괜찮습니다.)

 

답변 2

1

위의 계획대로 실행했더니

LUT 수치 기존 1462 → 수정 236 으로 많이 줄었습니다.

맛비님 강의 덕에 실력이 많이 늘었습니다.

감사합니다!

0

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

오... 셀프 해결 좋습니다.

이러면서 노하우가 쌓이는거죠. 계속 트라이 해보세요. 매우 훌륭합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기