강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Thực chiến Verilog HDL Season 2 của 설계독학맛비 (Chinh phục hoàn toàn AMBA AXI4)

[Chương 34 HDL] AXI4-Stream I/F - Phần thực hành 1 (Giới thiệu môi trường kiểm tra để xác minh AXI4-Stream I/F)

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

Viết

·

75

·

Đã chỉnh sửa

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 스트림 구조만 사용하는지 좋을지 알려주시면 감사하겠습니다.

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

 

verilog-hdlfpga임베디드amba

Câu trả lời 2

1

위의 계획대로 실행했더니

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

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

감사합니다!

0

semisgdh님의 프로필 이미지
semisgdh
Người chia sẻ kiến thức

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

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

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Đặt câu hỏi