728x90
0. AXI4-Lite 개요
- AXI(Advanced eXtensible Interface) 프로토콜의 하위 집합으로, 단순한 메모리 매핑(Memory-mapped) 통신을 위한 인터페이스
- 주로 저속의 제어 및 설정 레지스터 접근을 위해 사용
- FPGA 및 SoC 설계에서 프로세서(PS)와 사용자 정의 하드웨어(PL) 간 통신을 위한 기본적인 방법으로 활용된다.
==========𝔼𝔼𝟚𝟚==========
1. 특징
- 단일 전송(Single Transfer)만 지원
- AXI4와 달리 버스트 전송(Burst Transfer)을 지원하지 않음
- 한 번의 트랜잭션에서 하나의 데이터만 전송 가능
- 데이터 전송 속도보다는 간단한 구조와 구현의 용이성이 목적
- 간단한 인터페이스
- AXI4-Lite는 주소(Address), 읽기(Read), 쓰기(Write) 채널로 구성되며, AXI4보다 신호 수가 적음
- 간단한 로직을 사용하여 저자원 하드웨어에서도 쉽게 구현 가능
- 32비트 또는 64비트 단위 데이터 전송
- 데이터 폭(Data Width)은 32비트 또는 64비트로 고정됨 (AXI4는 8~1024비트 가능)
- 일반적으로 임베디드 시스템이나 레지스터 기반 통신에 적합
- FPGA 및 SoC에서 제어용으로 사용
- AXI4-Lite는 FPGA 내부에서 프로세서(PS, Processing System)와 PL(Programmable Logic) 간 통신을 위해 주로 사용됨
- 레지스터 설정을 통한 하드웨어 모듈의 제어(Control Signals) 및 상태(Status) 모니터링에 활용됨
==========𝔼𝔼𝟚𝟚==========
2. AXI4-Lite 기본 신호
2.1 읽기(Read) 트랜잭션
| 신호명 | 역할 |
|---|---|
AWADDR |
읽을 주소(Address) |
AWVALID |
주소가 유효함을 나타냄 |
AWREADY |
슬레이브가 주소를 받을 준비가 되었음을 나타냄 |
RDATA |
읽어온 데이터 |
RVALID |
데이터가 유효함을 나타냄 |
RREADY |
마스터가 데이터를 받을 준비가 되었음을 나타냄 |
_
2.2 쓰기(Write) 트랜잭션
| 신호명 | 역할 |
|---|---|
AWADDR |
쓰기 주소(Address) |
AWVALID |
주소가 유효함을 나타냄 |
AWREADY |
슬레이브가 주소를 받을 준비가 되었음을 나타냄 |
WDATA |
쓰려는 데이터 |
WVALID |
데이터가 유효함을 나타냄 |
WREADY |
슬레이브가 데이터를 받을 준비가 되었음을 나타냄 |
BRESP |
쓰기 응답(Response) |
BVALID |
응답이 유효함을 나타냄 |
BREADY |
마스터가 응답을 받을 준비가 되었음을 나타냄 |
-
3. 동작 방식
- 기본적으로 주소-데이터 기반 통신을 수행한다.
- 쓰기(Write)
- 마스터가 슬레이브에게
AWADDR(주소)와WDATA(데이터)를 보냄 - 슬레이브는
AWREADY,WREADY신호를 통해 데이터 수신을 확인 - 데이터가 정상적으로 쓰여지면, 슬레이브는
BVALID를 통해 응답을 보냄 - 마스터가
BREADY를 보내면 쓰기 완료
- 마스터가 슬레이브에게
- 읽기(Read)
- 마스터가
ARADDR(주소)를 보냄 - 슬레이브가
ARREADY를 통해 요청을 수락 - 요청한 데이터가
RDATA로 반환되며,RVALID신호가 활성화됨 - 마스터가
RREADY를 보내면 읽기 완료
- 마스터가
==========𝔼𝔼𝟚𝟚==========
4. 장단점
4.1 장점
- 구현이 단순함
- AXI4에 비해 신호 수가 적어 하드웨어 자원 소모가 적음
- 버스트 모드가 없기 때문에 복잡한 메모리 관리가 필요 없음
- 제어 레지스터 인터페이스로 적합
- AXI4-Lite는 주로 컨트롤 및 상태 레지스터를 접근하는 데 사용됨
- FPGA에서 커스텀 하드웨어 블록의 설정 값을 변경하거나 상태를 읽는 용도로 유용
- FPGA와 프로세서(PS-PL) 간 통신에 적합
- Xilinx Zynq SoC와 같은 시스템에서 프로세서(PS)와 FPGA 로직(PL) 간 통신을 쉽게 할 수 있도록 설계됨
- 예: ARM 코어(PS)에서 FPGA 내부 모듈을 제어할 때 AXI4-Lite 사용
_
4.2 한계점
- 버스트 전송 불가능 : AXI4처럼 연속된 데이터를 한 번에 전송할 수 없음
- 대용량 데이터 처리에 부적합 : 고속 데이터 전송(DMA, 메모리 인터페이스)에는 AXI4-Standard 또는 AXI4-Stream이 필요함
- 데이터 폭 고정(32-bit 또는 64-bit) : AXI4처럼 유연한 데이터 폭 조절이 불가능
==========𝔼𝔼𝟚𝟚==========
5. AXI4-Lite가 사용되는 주요 사례
- FPGA 내에서 컨트롤 레지스터 접근
- 사용자 정의 IP 블록을 AXI4-Lite 인터페이스를 통해 프로세서(PS)와 연결
- 예) PWM 제어, GPIO 설정, SPI/UART 설정, ADC 데이터 읽기
- SoC에서 주변 장치 제어
- SoC 내에서 프로세서가 I2C, SPI, UART 등의 주변 장치를 제어할 때 사용
- 단순한 FPGA 내부 모듈과의 통신
- FPGA 내부에서 연산 결과를 저장하는 레지스터에 접근하는 경우
- 예) FPGA 가속기 모듈의 상태(Status) 읽기, 연산 결과(Result) 읽기
==========𝔼𝔼𝟚𝟚==========
6. AXI4-Lite와 AXI4의 차이점
| 구분 | AXI4-Lite | AXI4 (AXI4-Standard) |
|---|---|---|
| 버스트 전송 | X (단일 전송만 가능) | O (최대 256개 전송 가능) |
| 데이터 폭 | 32-bit 또는 64-bit 고정 | 8-bit ~ 1024-bit 지원 |
| 멀티 마스터/슬레이브 | X (단일 마스터-슬레이브 전송) | O (멀티 마스터-슬레이브 지원) |
| 인터페이스 복잡성 | 낮음 | 높음 |
| 적용 분야 | 컨트롤 레지스터, 설정값 변경 | 고속 데이터 전송 (DMA, 메모리 등) |
==========𝔼𝔼𝟚𝟚==========
7. 결론
- AXI4-Lite는 간단한 레지스터 기반 제어를 위한 인터페이스
- SoC 및 FPGA에서 제어 신호를 설정하고 읽는 용도로 사용
- 고속 데이터 전송이 필요하지 않은 경우에 적합 (프로세서와 FPGA 간 통신)
- 대량의 데이터 전송이 필요하다면 AXI4-Standard 또는 AXI4-Stream 사용
728x90
반응형
'Study > FPGA' 카테고리의 다른 글
| 11. DMA Controller | FPGA 컨트롤러의 역할 및 설정 (0) | 2025.03.15 |
|---|---|
| 10. AMBA | AXI4와 AXI4-Stream의 차이점 (0) | 2025.03.11 |
| 08. Handshake 개념 (0) | 2025.03.08 |
| [FPGA] 07 - 파이프라인 Pipeline 개념과 예제 (0) | 2025.03.08 |
| 06 - Verilog Module 모듈과 Instance 인스턴스화 개념 (0) | 2025.03.08 |