728x90
728x90

Study/FPGA 12

12. Registered Output vs. Combinational Logic Output 비교 정리

1. 디지털 회로의 출력 유형 비교1.1 Combinational Logic Output정의현재 입력 값만으로 출력이 결정되는 출력 방식과거 상태 저장 없음 (메모리 소자 없음)입력 변화가 생기면 게이트 지연 이후 바로 출력 변경특징클럭(Clock) 신호 불필요입력의 변화에 즉각 반응회로 구성 간단, 지연 짧음예시AND, OR, NOT 회로Multiplexer, Decoder, Full Adder 등_1.2 Registered Output정의Register(D Flip-Flop 등)을 통해 출력이 저장됨클럭(Clock) 신호에 동기화되어 출력 결정입력이 바뀌어도 클럭 엣지 시점까지 출력 유지특징이전 상태 기억 가능 (Sequential Logic의 구성 요소)출력 타이밍 제어 가능파이프라인 처리, FSM..

Study/FPGA 2025.03.22

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

06 - Verilog Module 모듈과 Instance 인스턴스화 개념

1. Module이란?Verilog에서 module은 하나의 독립적인 하드웨어 블록을 정의하는 기본 단위회로 설계를 할 때 모듈을 이용하여 기능을 블록 단위로 나누고, 이를 재사용할 수 있도록 한다._# Module의 기본 구조아래 코드에서 module은 AND 게이트를 나타내며, 입력 포트 a, b를 받아서 c에 결과를 출력한다.module 모듈명(포트리스트); // 포트 선언 input wire a, b; output wire c; // 내부 신호 및 로직 정의 assign c = a & b;endmodule ==========𝔼𝔼𝟚𝟚========== 2. Module의 Instance화란?Instance화(Instancing)는 정의된 module을 다른 modu..

Study/FPGA 2025.03.08

05 - 동기 Synchronous vs. 비동기 리셋 Reset

0. 리셋(Reset)디지털 회로에서 리셋(Reset)은 시스템을 초기 상태로 되돌리는 중요한 기능FPGA에서 리셋을 적용하는 방식은 크게 동기 리셋과 비동기 리셋으로 나뉜다.==========𝔼𝔼𝟚𝟚========== 1. 동기 리셋 (Synchronous Reset)정의리셋 신호가 클럭(Clock)과 동기화되어 동작하는 방식클럭의 Positive Edge 또는 Negative Edge에서만 리셋이 적용됨장점메타스테이블(Metastability) 문제 방지: 클럭 도메인과 동기화되어 동작하므로 안정적FPGA 내부에서 최적화 가능: FPGA에서는 클럭 신호를 중심으로 최적화가 이루어지므로, 동기 리셋을 사용하면 논리 자원 활용이 효율적임타이밍 문제 최소화: 클럭과 함께 동작하므로 설정/유지 시간 ..

Study/FPGA 2025.03.03
728x90
반응형