728x90
728x90

axi4 5

11. DMA Controller | FPGA 컨트롤러의 역할 및 설정

1. DMA 컨트롤러 역할AXI4-Lite 버스를 통해 DMA의 동작을 설정 및 모니터링CPU(혹은 FPGA 내부 컨트롤 로직)가 DMA를 실행할 수 있도록 설정을 관리하는 모듈_1.1 주요 기능RDMA(읽기 DMA) 및 WDMA(쓰기 DMA) 제어1) DMA가 어떤 메모리 주소에서 읽을 것인지(RDMA), 어떤 주소에 쓸 것인지(WDMA) 설정2) rdma_mem_ptr, wdma_mem_ptr에 각각의 메모리 주소값을 설정3) rdma_transfer_byte, wdma_transfer_byte에 전송할 데이터 크기 설정AXI4-Lite를 통해 CPU 또는 FPGA 로직에서 제어 가능CPU가 AXI4-Lite를 통해 DMA를 시작(start), 완료(done), 중지(stop) 등의 동작을 수행 가능..

Study/FPGA 2025.03.15

10. AMBA | AXI4와 AXI4-Stream의 차이점

AXI4와 AXI4-Stream은 AMBA (Advanced Microcontroller Bus Architecture) 프로토콜의 일부지만, 사용 목적과 데이터 전송 방식이 다르다.==========𝔼𝔼𝟚𝟚========== 1. 비교표구분AXI4 (Memory-Mapped)AXI4-Stream사용 목적메모리 주소 기반 데이터 전송연속적인 데이터 스트림 전송주소 신호존재 (주소를 통해 데이터 읽기/쓰기)없음 (주소 지정 없이 데이터 흐름)데이터 흐름Request-Response 방식 (CPU, DMA 등)단방향 스트리밍 (비디오, 네트워크 등)핸드셰이크 신호ARVALID, AWVALID, WVALID, RVALID, BVALIDTVALID, TREADYReady 신호읽기/쓰기 별도 (ARREAD..

Study/FPGA 2025.03.11

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

0. AXI4-Lite 개요AXI(Advanced eXtensible Interface) 프로토콜의 하위 집합으로, 단순한 메모리 매핑(Memory-mapped) 통신을 위한 인터페이스주로 저속의 제어 및 설정 레지스터 접근을 위해 사용FPGA 및 SoC 설계에서 프로세서(PS)와 사용자 정의 하드웨어(PL) 간 통신을 위한 기본적인 방법으로 활용된다.==========𝔼𝔼𝟚𝟚========== 1. 특징단일 전송(Single Transfer)만 지원AXI4와 달리 버스트 전송(Burst Transfer)을 지원하지 않음한 번의 트랜잭션에서 하나의 데이터만 전송 가능데이터 전송 속도보다는 간단한 구조와 구현의 용이성이 목적간단한 인터페이스AXI4-Lite는 주소(Address), 읽기(Read),..

Study/FPGA 2025.03.11

08. Handshake 개념

1. Handshake란?Handshake는 송신자(Sender)와 수신자(Receiver) 사이에서 데이터를 안전하게 주고받기 위한 동기화 과정데이터 전송 시 송신자와 수신자의 상태를 동기화하지 않으면 데이터 손실이 발생할 수 있다.기본적으로 Request(A)와 Acknowledge(B) 신호의 교환을 통해 이루어짐_# Handshake 과정 예시)송신자(A)가 "데이터를 보낼 준비가 되었다"는 요청(Request)을 보냄수신자(B)가 "데이터를 받을 준비가 되었다"는 응답(Acknowledge)을 보냄두 신호가 모두 충족될 때 데이터가 전송됨.-> 이 과정을 통해 데이터 전송이 안정적으로 이루어지며 손실을 방지할 수 있다. ==========𝔼𝔼𝟚𝟚========== 2. FPGA에서의 Ha..

Study/FPGA 2025.03.08

[FPGA] 07 - 파이프라인 Pipeline 개념과 예제

1. Pipeline이란?기본 개념데이터의 출력이 다음 단계의 입력으로 연결되는 연속적인 연산 구조를 의미한다.각 단계(stage) 사이에는 데이터를 저장하는 버퍼(Register, Flip-Flop)가 사용될 수 있음하드웨어에서 데이터는 클록(Cycle)과 동기화되어 흐름을 유지함파이프라인의 필요성성능 향상: 연산을 병렬적으로 수행하여 처리 속도를 증가시킴Throughput 증가: 각 Cycle마다 새로운 입력을 받아 처리할 수 있음클럭 동기화: Timing Violation을 방지하고, 안정적인 연산을 수행하기 위해 레지스터 활용==========𝔼𝔼𝟚𝟚========== 2. 주요 용어 개념Latency입력값을 넣은 후 결과가 출력될 때까지 걸리는 시간(=Cycle 수)예제) 3단계 연산(3..

Study/FPGA 2025.03.08
728x90
반응형