inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)

AXI 관련 질문 2가지

436

박종호

작성한 질문수 21

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이 맞고 제가 코드를 찾지 못 하는 것일 테지요 ,,, 해당 코드가 어디에 있는지 알려주시면 감사드리겠습니다 !

 

항상 수고에 감사드립니다.

fpga 임베디드

답변 1

0

설계독학맛비

안녕하세요 :)

  1. template 코드 관련

    1. FPGA 7 장 "[FPGA 7장] HW IP 를 제어하기 위한 AXI4-Lite Interface 이해하기 - 코드리뷰편" 영상에서 "2분" 부터 보시면 됩니다.

  2. strobe 관련

    1. WSTRB 는 Master 에서 할당하는 시그널입니다.

    2. 보고계신 코드는 Slave 코드입니다.

    3. 다음 내용의 질문의 답은, 제공해드린 HW (.v) 내에는 "WSTRB 신호 할당 부분"이 없는 것이 당연합니다.

    4. "하지만 WSTRB에 4'b1111 값을 할당하는 코드를 어디서도 찾질 못 하겠습니다,,"

=========

강의에서 다루지 못한 내용은 정확하게 답변드리기 어려운점 이해 부탁드립니다.
(제가 모든 것을 알고 있지 않아요 ㅠ 저도 같은 사람인지라 필요하면 찾아서 봅니다.)

strobe 관련 추가설명하면, Master 는 PS 의 Arm processor 이고, Master 에서 Slave 에 AXI4-Lite 로 데이터를 전달할 때,

WSTRB 를 전부 1로 주도록 디바이스 드라이버가 구성되었을 것이다 예상합니다.

코드의 어디 부분인가? 거기까지는 잘 모르겠습니다.

 

즐공하세요 :)

1

박종호

감사합니다 !!

UART0, 1 중 선택

1

58

2

datamoverbram모듈질문

1

66

2

vitis 설치엣 alveo kria versal 등 옵션을 끄고 설치를 했습니다.

1

101

2

vitis 설치 관련 질문 있습니다!

1

87

2

FPGA 공식문서 읽는법

1

99

2

보드 추가의 클릭창이 없습니다.

1

72

2

Edit in IP Packager에서 코드 수정 후 IP 수정하면 simulation에서 수정된 코드로 작동이 안됩니다

1

83

2

BRAM의 Read / Write를 다 수행했는지 확인할 때 사용되는 num_cnt / i_num_cnt 관련 질문

1

108

1

Vitis 코드 작성

1

130

2

vivado 및 vitis 리눅스 환경 설치 관련 질문드립니다.

1

295

3

[9장 led 점등 시간 제어 불가]

1

83

2

Platform Invalid 오류

1

153

3

WSL 설치 관련 문의드립니다!!

1

98

2

Vivado 툴, 파일 질문드립니다!

1

157

2

9장 LED 점등 안됨

1

113

3

Edit in IP Packager 이후에

1

88

1

Fpga 로직

1

92

2

pmu-fw is not running

1

128

2

Create Project에 대해서 궁금해요

1

91

2

장치관리자 USB 포트

1

102

2

FPGA 7장 AXI_LITE I/F질문

1

91

1

bram mover에서 합성할때

1

80

2

타이밍 위반 질문

1

81

2

rvalid 초기화

1

68

2