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)

[HDL Chương 24] Skid buffer để tối ưu timing closure của Handshake I/F - Phần thực hành

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

108

asicfpga113

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

1

안녕하세요 🙂

[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.

[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂

[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.)

 
handshake는 Master가 VALID신호를 보내고
SLAVE가 READY신호를 보내면 MASTER가 DATA를 SLAVE에게 보내는 것으로 이해하였습니다.
HDL 24장 1분 다이어그램 보면 제가 생각한대로 되어 있는데
근데 HDL 24장 1분 24초로 넘어가면 skid buffer 다이어그램이 제가 설명한 것의 정반대로 되어 있습니다.
저는 skid buffer를 각 Master와 Slave를 연결 해주는 통로로 생각했었는데
skid buffer 자체가 오른쪽 절반은 Master역할을 하고 왼쪽 절반은 Slave역할을 한다고 봐야하나요?
어떻게 이해해야할지 모르겠습니다

verilog-hdl fpga 임베디드 amba

Câu trả lời 3

1

asicfpga113

이해 한거 같습니다.
skid buffer입장에서 보기엔 오른쪽이 Master이고 왼쪽이 Slave라서 그렇게 지으신 것 같습니다.

0

semisgdh

안녕하세요 🙂

이해하신 부분이 맞습니다.

Master (주는쪽) <-> Slave (받는쪽) 로 연결되기 때문에,

skid 버퍼 입장에서는 "오른쪽이 Master이고 왼쪽이 Slave" 로 설명드렸어요.

즐공하세요!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 김철수님, 질문 주셔서 감사합니다.

스키드 버퍼의 역할과 이해
스키드 버퍼는 인터페이스 간의 타이밍 문제를 해결하기 위한 구조로, 데이터를 원활히 전달하기 위해 사용됩니다. 질문 주신 내용은 스키드 버퍼가 어떻게 Master/Slave 역할을 수행하는지에 대한 것인데요.

HDL 24장 내용 설명:
스키드 버퍼는 기본적으로 데이터의 순차적 전송을 보장하기 위해 타이밍 클로저(timing closure)를 도와주는 장치입니다. 버퍼의 한쪽 끝은 데이터를 전송하려는 Master의 역할을 하게 되고, 반대쪽 끝은 데이터를 수신하는 Slave의 역할을 하게 됩니다. 이 설정은 인터페이스의 양쪽이 아닌, 스키드 버퍼 자체 내에서 데이터 흐름을 제어하기 위한 것입니다. 이를 통해 전체 시스템이 데이터의 준비 상태를 빠르게 확인하고 그에 맞춰 데이터를 받아들이거나 전송할 준비가 되도록 돕습니다.

이렇게 보면 스키드 버퍼 자체가 하나의 독립적인 데이터 핸들링 장치로서, 인터페이스 간에 정확히 조정된 데이터 흐름을 보장한다는 것을 이해할 수 있습니다. sk_id buffer가 중간에서 이 역할을 하며, 좌측은 Slave로, 우측은 Master로 기능한다고 생각하면 호출을 처리하기 위한 설계를 이해하는데 도움이 될 것입니다.

관련 질문 및 지식 공유자의 답변을 확인해보시면 이해하는 데 도움이 될 수 있습니다:
- “slave side master side 질문”

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

0

29

2

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

1

42

2

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

1

60

2

22장 vaild/ready

1

96

1

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

[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

57

2

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

1

235

2