inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)

38장2부 4k boundary

331

sunchoi

작성한 질문수 7

1

안녕하세요 다름이 아니라 이런식으로 4096이 넘어갈때만 4kboundary규칙을 적용하게 코드를 작성했는데 왜 강의에서 case5에서 transfer byte가 10240일때를 보면 4k바운더리 규칙이 적용되는 구간이 여러번 등장하게 되는데 그러면 8192인 값에서도 4k boundary 규칙이 적용된다는 것인데 왜 적용되는 지 모르겠습니다..!

wire [12:0] addr_4k = 13'h1000;
assign is_4k_boundary_burst = (last_addr_in_burst > addr_4k[12:AXI_DATA_SHIFT]);

verilog-hdl fpga 임베디드 amba

답변 1

0

설계독학맛비

안녕하세요 🙂

4K boundary rule은 "read request address + burst_size 가 4096 byte align 을 넘어서면 안된다." 입니다.

일부러 4K boundary 로직이 잘 동작하는지 확인하기 위한 case 5의 경우,

max burst 는 7개 입니다. (원래드렸던 것은 16 개 였죠.) 즉, 4096 bytes 에 align 되지 않는 burst size 를 발행하기 위해서 바꾼거였어요.

만약에

  1. max burst 가 16 이라면 한번의 transaction 에 8 byte 가 가고요. 8*16 = 128 bytes 씩 read request 가 발행됩니다. 즉 4096 % 128 == 0 으로 시작 address 가 4Kbytes align 이었다면, 4K boundary 내에서 burst 가 넘어가지 않아요. 마찬가지로 10240 % 128 ==0, 8192 % 128 == 0 으로 4K boundary 가 넘어가는 경우가 재현되지 않습니다.

  2. max burst 가 7 이라면 (case 5), 한번의 read request 는 8*7 = 56 bytes 씩 발행됩니다.
    따라서 4096 % 56 == 8 입니다. 즉 8 bytes 가 4K boundary 를 벗어나게 되버립니다.
    따라서 8*6 을 통해서 4K boundary 에 align 시켜야 해요. 이것을 재현해보고자 했던게 case 5 였습니다.

 

결국 한번의 transaction 에 해당하는 size 는, 4K boundary 를 넘어가면 안됩니다. 넘어가면 transaction 횟수를 분할해서 보내야 해요.

[HDL 32장-2부] 참고 링크 관련

1

38

2

[HDL 22장] F/F CE 관련 질문

1

47

2

13강에 언급된 강의 내용 질문

1

62

2

22장 vaild/ready

1

99

1

output, reg 선언

1

82

3

gvim

1

65

1

fifo의 stall과 퍼포먼스 드랍

1

60

2

Design Valid I/F

1

75

2

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

1

93

2

IDLE state의 시점관련

1

65

2

skid buffer의 handshake 방향이 반대로 되어 있는 이유

1

110

3

[wdma] AWLEN_w의 값이 1일 경우 r_burst_cnt_w와 AWLEN_w의 async 인한 bready 발행X 이슈?

1

72

2

system verilog 사용이유.

1

133

2

AXI_VIP 사용 시 glitch 발생

1

96

1

왜 배속이 안되요?

1

115

2

다이어그램 이해

1

74

2

27.[프로젝트-1] Mem copy IP를 FPGA에 올려보기

1

76

2

27.[프로젝트-1] Mem copy IP를 FPGA에 올려보기

1

91

3

[HDL 38장: RDMA 코드 실습편] MOR fifo에서 "ARLEN_r" 존재의 이유가 궁금합니다

1

115

2

[HDL 35장 AXI-Stream I/F 실습편] sync_fifo 사용 이유

1

130

1

예외처리 관련 질문

1

79

2

AXI의 ID의 역할은?

1

191

2

28장 강의 AXI 이론편관련질문

0

113

1

37장 Data bit width 질문

1

60

2