Study/FPGA

09. AXI4-Lite 개념 (+standard와의 차이점)

도엔 2025. 3. 11. 22:23
728x90

0. AXI4-Lite 개요

  • AXI(Advanced eXtensible Interface) 프로토콜의 하위 집합으로, 단순한 메모리 매핑(Memory-mapped) 통신을 위한 인터페이스
  • 주로 저속의 제어 및 설정 레지스터 접근을 위해 사용
  • FPGA 및 SoC 설계에서 프로세서(PS)와 사용자 정의 하드웨어(PL) 간 통신을 위한 기본적인 방법으로 활용된다.


==========𝔼𝔼𝟚𝟚==========

 

1. 특징

  1. 단일 전송(Single Transfer)만 지원
    • AXI4와 달리 버스트 전송(Burst Transfer)을 지원하지 않음
    • 한 번의 트랜잭션에서 하나의 데이터만 전송 가능
    • 데이터 전송 속도보다는 간단한 구조와 구현의 용이성이 목적
  2. 간단한 인터페이스
    • AXI4-Lite는 주소(Address), 읽기(Read), 쓰기(Write) 채널로 구성되며, AXI4보다 신호 수가 적음
    • 간단한 로직을 사용하여 저자원 하드웨어에서도 쉽게 구현 가능
  3. 32비트 또는 64비트 단위 데이터 전송
    • 데이터 폭(Data Width)은 32비트 또는 64비트로 고정됨 (AXI4는 8~1024비트 가능)
    • 일반적으로 임베디드 시스템이나 레지스터 기반 통신에 적합
  4. 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. 동작 방식

  • 기본적으로 주소-데이터 기반 통신을 수행한다.
  1. 쓰기(Write)
    • 마스터가 슬레이브에게 AWADDR(주소)와 WDATA(데이터)를 보냄
    • 슬레이브는 AWREADY, WREADY 신호를 통해 데이터 수신을 확인
    • 데이터가 정상적으로 쓰여지면, 슬레이브는 BVALID를 통해 응답을 보냄
    • 마스터가 BREADY를 보내면 쓰기 완료
  2. 읽기(Read)
    • 마스터가 ARADDR(주소)를 보냄
    • 슬레이브가 ARREADY를 통해 요청을 수락
    • 요청한 데이터가 RDATA로 반환되며, RVALID 신호가 활성화됨
    • 마스터가 RREADY를 보내면 읽기 완료


==========𝔼𝔼𝟚𝟚==========

 

4. 장단점

4.1 장점

  1. 구현이 단순함
    • AXI4에 비해 신호 수가 적어 하드웨어 자원 소모가 적음
    • 버스트 모드가 없기 때문에 복잡한 메모리 관리가 필요 없음
  2. 제어 레지스터 인터페이스로 적합
    • AXI4-Lite는 주로 컨트롤 및 상태 레지스터를 접근하는 데 사용
    • FPGA에서 커스텀 하드웨어 블록의 설정 값을 변경하거나 상태를 읽는 용도로 유용
  3. FPGA와 프로세서(PS-PL) 간 통신에 적합
    • Xilinx Zynq SoC와 같은 시스템에서 프로세서(PS)와 FPGA 로직(PL) 간 통신을 쉽게 할 수 있도록 설계됨
    • 예: ARM 코어(PS)에서 FPGA 내부 모듈을 제어할 때 AXI4-Lite 사용

_

4.2 한계점

  1. 버스트 전송 불가능 : AXI4처럼 연속된 데이터를 한 번에 전송할 수 없음
  2. 대용량 데이터 처리에 부적합 : 고속 데이터 전송(DMA, 메모리 인터페이스)에는 AXI4-Standard 또는 AXI4-Stream이 필요함
  3. 데이터 폭 고정(32-bit 또는 64-bit) : AXI4처럼 유연한 데이터 폭 조절이 불가능


==========𝔼𝔼𝟚𝟚==========

 

5. AXI4-Lite가 사용되는 주요 사례

  1. FPGA 내에서 컨트롤 레지스터 접근
    • 사용자 정의 IP 블록을 AXI4-Lite 인터페이스를 통해 프로세서(PS)와 연결
    • 예) PWM 제어, GPIO 설정, SPI/UART 설정, ADC 데이터 읽기
  2. SoC에서 주변 장치 제어
    • SoC 내에서 프로세서가 I2C, SPI, UART 등의 주변 장치를 제어할 때 사용
  3. 단순한 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
반응형