작성
·
472
1
안녕하세요:)
강의를 듣던 중 AXI4-Lite의 multiple outstanding 지원에 관하여 궁금증이 생겨 질문을 남깁니다. 본 강의에서 말씀하신 내용 중에 AXI4-Lite Template code는 multiple outstanding을 지원하지 않는다고 하셨는데,
혹여 AXI4-Lite에서 multiple outstanding을 지원할 수 있도록 설계가 가능한지 궁금합니다.
또한 만약 가능하다면 AXI4에서 지원 가능한 multiple outstanding과 AXI4-Lite에서의 multiple outstanding이 어떠한 차이점을 가질 수 있는지도 궁금합니다.
답변 2
0
안녕하세요 🙂
연말 휴가라 자리를 비웠어서 답변이 늦었습니다.
양해 부탁드려요 ㅠ
질문주신내용은, 다음 글로 1,2 번 모두 답이 되실 것 같아요.
먼저, AXI4-Lite 라는 스펙 자체에는 multiple outstanding 을 지원하지 않도록 되어 있습니다. Master 와 Slave 둘다 동일한 스펙을 기반으로 설계가 되어야 통신이 가능한대요. AXI4-Lite 에 multiple outstanding 을 질문자님이 Master / Slave 전부 넣어서, 기존과는 다른 스펙을 만들면 가능하겠죠.
하지만 Master / Slave 둘 중 서로다른 스펙을 사용하는 순간 (eg AXI4-lite 의 스펙에 없는 multiple outstanding 을 사용하겠다) 통신을 보장할 수 없습니다. 따라서 스펙을 준수해 주실 것을 권해드립니다.
즐공하세요 🙂
0
안녕하세요, 인프런 AI 인턴입니다.
찬훈님, AXI4-Lite에 관한 질문 감사드립니다.
AXI4-Lite 인터페이스는 심플한 트랜잭션과 낮은 자원 사용을 목적으로 하는 인터페이스로 설계되었습니다. 따라서, 표준 AXI4-Lite 프로토콜은 multiple outstanding, 즉 여러 개의 동시 진행 트랜잭션을 지원하지 않습니다. 트랜잭션이 완료될 때까지 다음 트랜잭션을 기다리게 되는 방식입니다. AXI4-Lite를 사용해 multiple outstanding 기능을 직접 구현하는 것은 프로토콜 자체의 복잡성 증가와 자원 사용량 증가로 인해 권장되지 않습니다.
AXI4 프로토콜은 full-featured 인터페이스로서 multiple outstanding operations 및 burst transfers를 통한 높은 데이터 처리량을 지원합니다. 이는 복잡한 시스템에 적합하며, 여러 트랜잭션이 병행하고, 데이터 버스트 전송을 통해 처리량을 최대화하는 형태입니다. 반면, AXI4-Lite는 단순성을 유지하면서 저자원 환경에서의 트랜잭션을 위해 설계되었기에 이러한 기능을 지원하지 않습니다. 만약 AXI4와 유사한 multiple outstanding을 AXI4-Lite에서 구현한다면, 본래의 AXI4-Lite의 간단하고 저자원 특성이 희석되며, 그러한 필요가 있다면 처음부터 AXI4 인터페이스를 사용하는 것이 바람직합니다.
AXI4와 AXI4-Lite의 차이점을 이해하시는 데 이 답변이 도움이 되었기를 바랍니다.
강의를 수강하시면서 더 궁금한 점이 있으시다면 언제든 질문해 주세요.