inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Thực hành Verilog HDL Season 2 của Seolgye Dokhak Matbi (Chinh phục hoàn toàn AMBA AXI4)

[Chương 22 HDL] Giao diện Valid / Ready Handshake để truyền dữ liệu chính xác giữa các module - Phần thực hành

22장 vaild/ready

96

2023111762

7 câu hỏi đã được viết

1

22장 4m쯤 Module 부분입니다.

 

s_ready를 보면

  1. m_valid =0이거나

  2. m_ready = 1이면

s_ready가 1이 되도록 되어있습니다.

 

m_ready가 1일때만을 가지고 s_ready의 값을 결정할 수 있다고 생각했는데

m_ready = 0 & m_valid = 0 인 경우때문인건가요?

이 경우도 유효한 data 값을 가지고 있지 않지만 master가 준비가 되어있지 않기 때문에

s_ready 값을 1로 올리면 안되지않나요?

 

verilog-hdl fpga 임베디드 amba

Câu trả lời 1

0

semisgdh

안녕하세요 🙂

먼저 해당 조건에 대해 반대로 생각해보면, 이해에 도움이 될 거 같아요.

이 수식을 뒤집어 생각해보면 더 명확합니다. (not 을 취해보죠)
assign s_ready = ~m_valid | m_ready; // s_ready 가 0 이 되는 경우를 생각해봅시다.

  • s_ready가 0이 되는 시점은 m_valid = 1 && m_ready = 0 일 때뿐입니다.

  • 즉, "내가 내보낼 데이터가 꽉 차 있는데(m_valid=1), 다음 녀석이 못 받겠다고 버티는 경우(m_ready=0)" 에만 비로소 앞단에 "나도 더 이상 못 받아!"라고 s_ready = 0을 치는 것이죠.

  • 이것이 바로 Back-pressure의 핵심입니다.

따라서, 원래의 의미로 생각을 해보면,

  • ~m_valid: "내 마지막 칸이 비어있으니, 일단 밀어 넣어라." 또는 ( "|" or 기호 가 있으니까)

  • m_ready: "내 마지막 칸이 차 있어도, 다음 녀석이 가져갈 거니까 한 칸씩 전진 가능하다. 그러니 밀어 넣어라."

의 의미로 s_ready 가 1 이 됩니다.

이해에 도움이 되셨기를 바래요.

즐공하세요 🙂

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

0

29

2

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

1

42

2

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

1

60

2

output, reg 선언

1

78

3

gvim

1

61

1

fifo의 stall과 퍼포먼스 드랍

1

57

2

Design Valid I/F

1

73

2

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

1

86

2

IDLE state의 시점관련

1

63

2

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

1

108

3

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

1

69

2

system verilog 사용이유.

1

130

2

AXI_VIP 사용 시 glitch 발생

1

96

1

왜 배속이 안되요?

1

113

2

다이어그램 이해

1

69

2

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

1

73

2

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

1

88

3

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

1

110

2

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

1

128

1

예외처리 관련 질문

1

75

2

AXI의 ID의 역할은?

1

186

2

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

0

109

1

37장 Data bit width 질문

1

56

2

SPI, I2C, UART, Ethernet 인터페이스 사용법

1

235

2