해결된 질문
작성
·
269
2
bram data width : 32 / depth:4096
bram에 write 할때 나오는 clock cycle에 대해 질문드립니다. 위의 예를들어 bram0에 write 할때 641000 cycle이 나옵니다. 641000/4096 = 156.5 정도 나오는데,
data 1개 (32bit) AXI4-interface에서 write address- write data- hand shake - response 과정까지 약 156.5 cycle이 소모된다는 의미라고 해석하면 될까요? (4096*156.5 = 6410000)
그러나 axi4-lite 1cylce에 32bit access 가능하다고 들었습니다. hand shake channel에서의 cycle을 고려하더라도 오차가 크다고 생각합니다.
문득 궁금하여 질문드립니다.
답변 1
0
안녕하세요 :)
작성해주신 내용중에 다음 내용만 수정되면 될 것 같아요.
나머지는 동의합니다.
그러나 axi4-lite 1cylce에 32bit access 가능하다고 들었습니다. hand shake channel에서의 cycle을 고려하더라도 오차가 크다고 생각합니다.
PL 만 생각하면 1 cycle 이 맞습니다. (F/F 에 R/W 하기 때문)
하지만 PS 에서 AXI4-Lite 를 통해서 R/W 하면, 다음 그림의 빨간선의 path 를 지나게 됩니다.
1 cycle 이 아니며, 정확한 cycle 은 저도 모릅니다.
정확한 cycle 을 모른다고 한 이유는, PS 의 상태 (온습도도 영향있음) 에 따라 random factor 가 들어가서 그렇습니다.
대략적인 Average 는 실제 질문자님께서 R, W 를 해보시면서 짐작 하실 수 있습니다. (eg. 대략 150 cycle 정도구나? 이런식으로요.)
AXI4-Lite 로 32 bit 엑세스하는데 대략 (예를들어) 100 cycle 정도 소모하는 I/F 였습니다.
그래서 저속(low-speed) 었습니다. (23년 6월달에 나올) Verilog HDL Season2 에서 고속의 I/F 를 사용하는 방법 (DMA 설계) 을 다루었고요. (구매하라는거 아닙니다)
AXI4-Lite 가 아닌, AXI4 를 공부하시면 고속 전송에 도움이 되실 겁니다.
위 그림에서 High-Performance AXI port 를 사용할 수 있습니다.
즐공하세요 :)