AHB(Advanced High-performance Bus)에서의 Write Operation은 마스터가 슬레이브로 데이터를 전송하는 과정입니다. AHB는 파이프라인 구조를 사용하여 주소와 데이터의 전송이 분리되며, 효율적으로 동작할 수 있도록 설계되었습니다. AHB의 write operation을 단계별로 설명하겠습니다.
1. 주소 페이즈 (Address Phase)
주소 페이즈는 마스터가 슬레이브로 데이터를 쓰기 위한 주소와 제어 신호를 설정하는 단계입니다. 이 단계에서 마스터는 슬레이브로 주소를 전송하고 전송이 쓰기인지, 읽기인지, 데이터 크기 등이 포함된 제어 신호를 보냅니다.
신호 설명:
- HADDR: 마스터가 슬레이브에 전달할 주소를 설정합니다.
- HTRANS: 전송의 상태를 나타내는 신호로, IDLE, BUSY, NONSEQ, SEQ 중 하나를 나타냅니다. 쓰기 작업에서는 NONSEQ(비연속 전송) 또는 SEQ(연속 전송) 상태를 사용합니다.
- HWRITE: 쓰기 신호로, 이 값이 1이면 쓰기 작업임을 의미합니다.
- HSIZE: 전송할 데이터의 크기(8비트, 16비트, 32비트 등)를 나타냅니다.
- HBURST: 버스트 전송 유형을 나타냅니다. Single, Incrementing, Wrapping 등의 버스트 모드를 사용할 수 있습니다.
- HPROT: 보호 정보를 제공하며, 캐시 가능성, 버퍼링 가능성 등의 정보가 포함됩니다.
2. 데이터 페이즈 (Data Phase)
데이터 페이즈는 마스터가 슬레이브로 실제 데이터를 전송하는 단계입니다. 이때 데이터 전송이 주소와 독립적으로 발생합니다. 즉, 주소가 전송된 후에 데이터가 별도로 전달됩니다. 주소 페이즈와 데이터 페이즈는 파이프라인 방식으로 동시에 발생할 수 있습니다.
신호 설명:
- HWDATA: 마스터가 슬레이브로 보내는 실제 데이터입니다.
- HREADY: 슬레이브가 전송을 완료할 준비가 되었는지를 나타냅니다. 이 신호가 LOW이면 마스터는 대기해야 하며, HREADY가 HIGH일 때 마스터는 다음 전송을 시작할 수 있습니다.
- HRESP: 슬레이브의 응답 상태로, OKAY, ERROR 등의 값이 있을 수 있습니다. OKAY는 성공적인 전송을, ERROR는 실패를 의미합니다.
3. 전송 완료
슬레이브가 데이터 전송을 수신하고 완료되면, HREADY 신호를 HIGH로 설정하여 마스터에게 전송이 성공적으로 완료되었음을 알립니다. 그 후, 마스터는 새로운 주소 페이즈를 시작하거나 다른 작업을 수행할 수 있습니다.
4. 파이프라인 구조
AHB는 파이프라인 방식으로 동작하여, 마스터가 한 번에 주소와 데이터를 연속적으로 보낼 수 있습니다. 주소 페이즈와 데이터 페이즈가 분리되어 있기 때문에, 주소가 전송되는 동안 이전 데이터가 전송될 수 있어 성능이 최적화됩니다. 이 파이프라인 방식은 AHB의 높은 처리량을 유지하는 데 중요한 역할을 합니다.
AHB Write Operation 순서
- 마스터는 HADDR, HTRANS, HWRITE, HSIZE 등의 주소 및 제어 신호를 슬레이브로 보냅니다.
- 마스터는 HWDATA로 실제 데이터를 슬레이브로 보냅니다.
- 슬레이브는 HREADY 신호를 통해 데이터 수신 준비 상태를 알리고, 성공적으로 데이터를 수신하면 HRESP를 OKAY로 응답합니다.
- 마스터는 전송 완료 후, 다음 전송 작업을 시작합니다.
AHB Write Operation의 주요 특징
- 파이프라인 구조: 주소와 데이터 전송이 분리되므로, 주소와 데이터가 동시에 처리될 수 있어 고속 전송이 가능합니다.
- 버스트 모드 지원: AHB는 여러 데이터를 연속으로 전송할 수 있는 버스트 모드를 지원해, 효율적인 데이터 전송이 가능합니다.
- HREADY 신호: 슬레이브가 준비되었을 때만 전송이 완료되며, 슬레이브가 준비되지 않으면 마스터는 대기합니다.
이러한 구조 덕분에 AHB는 메모리와 고속 주변 장치 간의 데이터 전송에 적합하며, 성능이 중요한 SoC 설계에 자주 사용됩니다.

'SoC Protocol > AMBA' 카테고리의 다른 글
| 08. AHB (HTRANS, HSIZE, HBURST) (0) | 2024.09.27 |
|---|---|
| 07. AHB Read Operation (0) | 2024.09.27 |
| 05. AHB Interface (0) | 2024.09.27 |
| 04. APB Read Transfer (0) | 2024.09.27 |
| 03. APB Write Transfer (0) | 2024.09.27 |