AXI(Advanced eXtensible Interface) 프로토콜의 **Write Operation(쓰기 연산)**은 마스터에서 슬레이브로 데이터를 전송하는 과정입니다. 이 과정은 세 가지 주요 단계로 이루어지며, 각각의 단계에서 독립적인 채널을 사용합니다. AXI의 쓰기 연산은 파이프라인 방식으로 동작하여 성능을 높이며, 여러 단계가 동시에 병렬로 처리될 수 있습니다.

AXI Write Operation 단계

  1. Write Address Phase (쓰기 주소 단계)
  2. Write Data Phase (쓰기 데이터 단계)
  3. Write Response Phase (쓰기 응답 단계)

1. Write Address Phase (쓰기 주소 단계)

  • 목적: 마스터가 슬레이브에게 데이터를 쓸 메모리 주소 및 관련 정보를 전송합니다.
  • 채널: Write Address Channel (AW)

동작 순서

  • 마스터는 쓰기 주소, 전송할 데이터의 길이, 크기 등의 정보를 AWADDR, AWLEN, AWSIZE 등의 신호를 통해 슬레이브로 전송합니다.
  • 마스터는 AWVALID 신호를 활성화하여 쓰기 주소가 유효함을 알립니다.
  • 슬레이브가 쓰기 주소를 받을 준비가 되면 AWREADY 신호를 활성화하여 마스터에게 수신 준비가 되었음을 알립니다.

주요 신호

  • AWADDR: 쓰기할 메모리 주소.
  • AWVALID: 쓰기 주소 정보가 유효함을 나타냄.
  • AWREADY: 슬레이브가 주소 정보를 수신할 준비가 되었음을 나타냄.

이 단계에서 주소 전송이 완료되면, 마스터는 쓰기 데이터 전송을 시작할 수 있습니다. 쓰기 주소 단계와 쓰기 데이터 단계는 병렬로 동작할 수 있습니다, 즉 쓰기 데이터 전송 중에도 새로운 쓰기 주소를 보낼 수 있습니다.

2. Write Data Phase (쓰기 데이터 단계)

  • 목적: 마스터가 슬레이브에게 실제로 전송할 데이터를 보냅니다.
  • 채널: Write Data Channel (W)

동작 순서

  • 마스터는 데이터를 WDATA 신호를 통해 전송하며, WSTRB 신호로 각 바이트의 유효성을 표시합니다.
  • 데이터가 유효함을 나타내는 WVALID 신호가 활성화됩니다.
  • 슬레이브가 데이터를 받을 준비가 되면 WREADY 신호를 활성화하여 데이터를 받을 준비가 되었음을 마스터에게 알립니다.
  • 만약 버스트 모드로 여러 데이터를 연속 전송하는 경우, WLAST 신호가 활성화되면 해당 전송이 마지막 데이터임을 나타냅니다.

주요 신호

  • WDATA: 전송할 실제 데이터.
  • WSTRB: 각 바이트의 유효성을 나타내는 신호.
  • WVALID: 전송할 데이터가 유효함을 나타냄.
  • WREADY: 슬레이브가 데이터를 수신할 준비가 되었음을 나타냄.
  • WLAST: 마지막 데이터 전송임을 나타냄.

이 과정에서 여러 데이터를 버스트 모드로 연속해서 전송할 수 있으며, 슬레이브는 각각의 데이터를 WREADY 신호를 통해 순차적으로 수신합니다.

3. Write Response Phase (쓰기 응답 단계)

  • 목적: 슬레이브가 데이터를 성공적으로 수신했는지 여부를 마스터에게 알립니다.
  • 채널: Write Response Channel (B)

동작 순서

  • 슬레이브는 데이터 전송이 완료되면 BRESP 신호를 통해 쓰기 작업의 성공 또는 오류 상태를 마스터에게 전송합니다.
  • 슬레이브는 응답이 유효함을 나타내는 BVALID 신호를 활성화하여 마스터에게 응답이 준비되었음을 알립니다.
  • 마스터는 BREADY 신호를 활성화하여 응답을 수신할 준비가 되었음을 알립니다.

주요 신호

  • BRESP: 쓰기 응답 코드(정상, 오류).
  • BVALID: 응답 데이터가 유효함을 나타냄.
  • BREADY: 마스터가 응답을 수신할 준비가 되었음을 나타냄.

AXI Write Operation의 병렬성

AXI 프로토콜은 각 채널이 독립적으로 동작하기 때문에, 쓰기 주소와 쓰기 데이터가 병렬로 전송될 수 있으며, 마스터는 여러 번의 쓰기 작업을 동시에 처리할 수 있습니다. 또한, 마스터는 슬레이브가 쓰기 응답을 보내기 전에 다른 쓰기 작업을 진행할 수 있어 고성능 시스템에서 유용하게 사용됩니다.

 

* https://adaptivesupport.amd.com/s/article/1053914?language=en_US

'SoC Protocol > AMBA' 카테고리의 다른 글

13. AXI Read Operation  (0) 2024.09.27
11. AXI Interface  (0) 2024.09.27
10. AXI Channel Dependencies  (0) 2024.09.27
09. AXI Channel  (0) 2024.09.27
08. AHB (HTRANS, HSIZE, HBURST)  (0) 2024.09.27

+ Recent posts