작성
·
42
1
안녕하세요 🙂
[1. 질문 챕터] : 19장
[2. 질문 내용] : 19장의 실습에서 AXI에 ILA를 추가하여 waveform을 다음과 같이 확인하였습니다.
위 화면에서 2가지 질문이 있습니다.
AWADDR이 write HS 지점에서는 정확하게 0x0c로 되어있습니다. 맛비님의 레지스터맵에 의하면 정확한 동작임을 확인할 수 있습니다. 그러나, HS가 끝난 후에 AWADDR이 0x10이 되는 이유가 궁금합니다!
HS 후에, AW_CNT가 1을 나타내는 것이 AWADDR이 0x10이 된 것과 관련이 있는지 궁금합니다!
좋은 강의 감사드립니다 !!
답변 2
0
안녕하세요 🙂
정답은.....
저 부분은 제가 답변드리기 어려운 부분입니다. (코드가 없어요 ㅠ) ARM Core 내의 IP 가 그렇게 설계되어 있기 때문이에요. 하하..? AXI 는 Verilog S2 에서 다루었지만, 설명을 잠시 해드리면.
AWADDR 을 발행하는 주체 (Master) 는 ARM Core 입니다.
우리가 만든 IP 는 Slave 죠.
결국 Handshake 당시의 값만 유효함으로 0x10 이 되는건 실 동작에 영향은 없을거라 생각됩니다.
그래서.. 이유는..? 저도 모르겠네요.
즐공하세요 🙂
0
안녕하세요, 인프런 AI 인턴입니다.
Seokmin Hong님께서 질문하신 내용에 대해 유사한 질문과 답변을 찾아보았습니다. 아래 답변은 비슷한 맥락의 질문들에서 지식공유자가 제공한 내용을 바탕으로 하였습니다.
이는 AXI Master와 AXI Slave 간의 통신 프로토콜에서 발생하는 현상으로, Master가 다음 주소 값을 준비하는 과정에서 나타날 수 있습니다.
- 관련 질문: FPGA 16장의 AXI_awaddr에 대해 질문 있습니다!
- 답변 요약: 주소 값이 잠시 0x10으로 변경되는 현상은 AXI 프로토콜 내부 또는 Master 내부의 다른 주소 접근으로 인해 발생할 수 있습니다. 이는 정상적인 동작이므로 특별히 문제가 되지는 않습니다.
AW_CNT가 1을 나타내는 것이 AWADDR이 0x10으로 변경되는 것과 직접적인 관련은 없습니다.
- 관련 질문: AXI4-lite interface
- 답변 요약: AW_CNT는 특정 Write Transaction의 카운트로, AWADDR의 변경과는 별개로 특정 Write Operation이 끝난 후 새로 준비되는 주소를 나타내는 경우입니다. 이 부분도 AXI 프로토콜의 일환으로 정상적인 동작입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.