작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
21
·
수정됨
1
안녕하세요 맛비님! 개인 실습 중 질문이 있어 질문드리게 된점 양해부탁드립니다.
먼저 현재 실습 중인 내용 말씀드리겠습니다.
axi4-lite 를 통해서 텍스트에 입력되어 있는 input data를 인풋bram 에 입력시킵니다.
그 후, 개인적으로 만든 연산코어를 통해 연산하고 나서 연산결과를 연산코어 내의 레지스터에 저장합니다.
레지스터에 저장된 값을 output bram 에 입력합니다.
연산코어가 여러개여서 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 과정을 진행하다가 아래 사진과 같이
자원을 고려하지 않고 구현했음을 깨달았습니다. (보드는 zybo z7 10 입니다)
제 추측으로는 연산결과를 각 연산core 에서 레지스터에 저장했다가 bram 에 입력했던 점이 문제라고 생각됩니다.
연산결과가 32bit 가 쌓일 때마다 결과 bram 으로 입력하는 방안을 고민 중인데 그러려면 각 연산 코어에서 bram 에 입력할때 AXI4 stream 을 사용해야 하는게 맞는지, valid/ ready 스트림 구조만 사용하는지 좋을지 알려주시면 감사하겠습니다.
강의 외 내용이 많아서 죄송합니다 ㅜㅜ (답변 거부하셔도 괜찮습니다.)