Inflearn brand logo image

인프런 커뮤니티 질문&답변

김철수님의 프로필 이미지
김철수

작성한 질문수

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

[HDL 24장] Handshake I/F 의 timing closure 를 위한 skid buffer - 실습편

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

작성

·

31

·

수정됨

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역할을 한다고 봐야하나요?
어떻게 이해해야할지 모르겠습니다

답변 3

1

김철수님의 프로필 이미지
김철수
질문자

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

0

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 🙂

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

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

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

즐공하세요!

0

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

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

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

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

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

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

김철수님의 프로필 이미지
김철수

작성한 질문수

질문하기