AXI(Advanced eXtensible Interface) 프로토콜은 각 채널마다 특정한 포트를 통해 데이터 전송 및 제어를 수행합니다. AXI는 5개의 주요 채널을 가지고 있으며, 각 채널은 서로 다른 역할과 포트를 가집니다. 아래에서 각 채널별 포트를 설명하겠습니다.
1. Write Address Channel (AW)
- 포트
- AWADDR: 쓰기 주소를 전달합니다. 슬레이브가 데이터를 쓸 메모리 주소입니다.
- AWLEN: 전송할 데이터의 길이입니다. 이 값에 따라 연속된 여러 데이터 전송을 설정할 수 있습니다.
- AWSIZE: 각 데이터 전송의 크기를 나타냅니다 (예: 8비트, 16비트 등).
- AWBURST: 버스트 전송 방식을 지정합니다 (예: 연속, 비연속).
- AWVALID: 쓰기 주소가 유효하다는 신호입니다. 슬레이브가 이 신호를 수신하면 읽기를 진행합니다.
- AWREADY: 슬레이브가 쓰기 주소를 수신할 준비가 되었음을 나타내는 신호입니다.
2. Write Data Channel (W)
- 포트
- WDATA: 전송할 실제 데이터를 포함합니다.
- WSTRB: 데이터의 바이트별 유효성을 나타내는 비트 마스크입니다. 어떤 바이트가 유효한지 지정합니다.
- WLEN: 전송할 데이터의 길이(버스트 전송을 설정할 때 사용).
- WVALID: 전송할 데이터가 유효하다는 신호입니다.
- WREADY: 슬레이브가 데이터를 수신할 준비가 되었음을 나타내는 신호입니다.
3. Write Response Channel (B)
- 포트
- BRESP: 쓰기 응답 상태를 나타냅니다. 일반적으로 성공 또는 오류 상태를 표시합니다.
- BVALID: 응답 데이터가 유효하다는 신호입니다. 슬레이브가 응답을 마스터에 보낼 준비가 되었음을 나타냅니다.
- BREADY: 마스터가 응답을 수신할 준비가 되었음을 나타내는 신호입니다.
4. Read Address Channel (AR)
- 포트
- ARADDR: 읽기 주소를 전달합니다. 슬레이브에서 데이터를 읽어올 메모리 주소입니다.
- ARLEN: 전송할 데이터의 길이입니다.
- ARSIZE: 각 데이터 전송의 크기를 나타냅니다.
- ARBURST: 버스트 전송 방식을 지정합니다.
- ARVALID: 읽기 주소가 유효하다는 신호입니다.
- ARREADY: 슬레이브가 읽기 주소를 수신할 준비가 되었음을 나타내는 신호입니다.
5. Read Data Channel (R)
- 포트
- RDATA: 슬레이브가 마스터에게 전송할 실제 읽기 데이터를 포함합니다.
- RRESP: 읽기 응답 상태를 나타냅니다. 일반적으로 성공 또는 오류 상태를 표시합니다.
- RLAST: 마지막 데이터 전송을 나타내는 신호입니다. 버스트 전송의 경우, 마지막 데이터 전송임을 표시합니다.
- RVALID: 응답 데이터가 유효하다는 신호입니다.
- RREADY: 마스터가 응답을 수신할 준비가 되었음을 나타내는 신호입니다.
포트 간의 상호작용
- 각 포트는 유효(valid) 및 준비(ready) 신호를 통해 서로의 상태를 확인합니다. 예를 들어, AWVALID가 활성화되면 슬레이브는 AWREADY를 통해 쓰기 주소를 수신할 준비가 되었음을 알립니다. 마찬가지로, WVALID가 활성화되면 슬레이브는 WREADY를 통해 데이터를 수신할 준비가 되었음을 알립니다.
'SoC Protocol > AMBA' 카테고리의 다른 글
| 13. AXI Read Operation (0) | 2024.09.27 |
|---|---|
| 12. AXI Write Operation (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 |