인프런 커뮤니티 질문&답변
AXI 관련 질문 2가지
작성
·
425
2
지금까지는 맛비님이 제공해주신 코드를 활용하여 인터페이스를 이해하는데만 집중했습니다.
하지만 문득 제가 직접 디자인이 가능할까 싶어 처음 단계부터 시도 해봤는데요.
AXI4-LITE IP를 생성하는 것까지는 알겠는데, Verilog 코드로 작성된
-myip_v1_0.v
-- myip_v1_0_S00_AXI.v
이 형태의 템플릿은 어떻게 생성하는지를 모르겠습니다,, 혹시 강의에서 이미 설명해주신 내용이라면 몇 강에서 말씀해주셨는지 알려주시면 감사드리겠습니다. (일단 저는 찾지 못 했습니다,,)
추가로
for ( byte_index = 0; byte_index <= (C_S_AXI_DATA_WIDTH/8)-1; byte_index = byte_index+1 )
if ( S_AXI_WSTRB[byte_index] == 1 ) begin
// Respective byte enables are asserted as per write strobes
// Slave register 0
slv_reg0[(byte_index*8) +: 8] <= S_AXI_WDATA[(byte_index*8) +: 8];
end여기서 S_AXI_WSTRB 관련해서 궁금한 점이 있습니다.
AXI4-LITE IP로 인가된 DATA를 reg에 4byte을 모두 write 하려면, WSTRB가 4'b1111 이어야 하는 것으로 알고 있습니다.
하지만 WSTRB에 4'b1111 값을 할당하는 코드를 어디서도 찾질 못 하겠습니다,,
HW, SW 모두 찾아봤지만 못 찾았습니다 ,,
코드는 잘 작동하고 있고 실습에서도 이상은 없었습니다. WSTRB는 4'b1111이 맞고 제가 코드를 찾지 못 하는 것일 테지요 ,,, 해당 코드가 어디에 있는지 알려주시면 감사드리겠습니다 !
항상 수고에 감사드립니다.
답변 1
0
안녕하세요 :)
template 코드 관련
FPGA 7 장 "[FPGA 7장] HW IP 를 제어하기 위한 AXI4-Lite Interface 이해하기 - 코드리뷰편" 영상에서 "2분" 부터 보시면 됩니다.
strobe 관련
WSTRB 는 Master 에서 할당하는 시그널입니다.
보고계신 코드는 Slave 코드입니다.
다음 내용의 질문의 답은, 제공해드린 HW (.v) 내에는 "WSTRB 신호 할당 부분"이 없는 것이 당연합니다.
"하지만 WSTRB에 4'b1111 값을 할당하는 코드를 어디서도 찾질 못 하겠습니다,,"
=========
강의에서 다루지 못한 내용은 정확하게 답변드리기 어려운점 이해 부탁드립니다.
(제가 모든 것을 알고 있지 않아요 ㅠ 저도 같은 사람인지라 필요하면 찾아서 봅니다.)
strobe 관련 추가설명하면, Master 는 PS 의 Arm processor 이고, Master 에서 Slave 에 AXI4-Lite 로 데이터를 전달할 때,
WSTRB 를 전부 1로 주도록 디바이스 드라이버가 구성되었을 것이다 예상합니다.
코드의 어디 부분인가? 거기까지는 잘 모르겠습니다.
즐공하세요 :)






감사합니다 !!