728x90
728x90

fpga 16

[AI 개론] 02 - Tensor 개념과 이미지 데이터 표현

1. Tensor의 개념텐서(Tensor)는 다차원 배열(배열의 일반화된 형태)을 의미하며, 스칼라, 벡터, 행렬의 확장된 개념이다.머신러닝과 딥러닝에서는 데이터 표현과 연산을 위해 텐서를 사용개념차원 (Dimensionality)예시스칼라 (Scalar)0D (0차원)\( x \in \mathbb{R} \)벡터 (Vector)1D (1차원)\( \mathbf{x} \in \mathbb{R}^N \)행렬 (Matrix)2D (2차원)\( \mathbf{X} \in \mathbb{R}^{M \times N} \)3D 텐서 (3차원 텐서)3D\( \mathbf{X} \in \mathbb{R}^{H \times W \times C} \)nD 텐서 (고차원 텐서)( n )-차원\( \mathbf{X} \in \..

[임베디드시스템] 01. 임베디드 시스템 개요

1. 임베디드 시스템 정의 및 특징1.1 정의특정 목적을 수행하는 컴퓨팅 장치로, 사용자와 지속적인 상호작용 없이 동작하는 시스템일반적인 컴퓨터(PC)와는 달리, 특정 기능 수행에 최적화됨다양한 환경에서 동작하며, 리소스가 제한적_1.2 특징1) 제한된 하드웨어 자원: 낮은 프로세싱 파워, 제한된 메모리(RAM, 플래시)2) 실시간성: 특정 시간 내에 작업을 완료해야 하는 경우가 많음 (예: 자동차 ECU, 로봇 제어)3) 저전력 설계: 배터리로 구동되는 경우가 많아 전력 최적화 필요4) 소형화 및 집적화: 특정 기능을 수행하도록 설계된 단일 칩 솔루션 (MCU 기반)_1.3 임베디드 시스템의 응용 분야가전제품: 세탁기, 전자레인지, 스마트 TV자동차 전장 시스템: ECU(전자제어장치), ABS, ADA..

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

[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

04 - FPGA 설계 흐름 (Design Flow)

1. 설계 요구사항 정의구현하려는 시스템의 기능 및 성능(속도, 자원, 전력 등) 요구사항을 분석클럭 주파수, 인터페이스, 연산 능력 등을 고려하여 하드웨어 구조 설계목표하는 FPGA 디바이스 선정 (논리 셀, 메모리 용량, I/O 수 등을 고려)_2. 하드웨어 설계 (HDL 개발 및 IP 활용)Verilog/VHDL을 사용하여 하드웨어를 설계Xilinx IP 카탈로그에서 제공하는 DSP, 메모리 인터페이스 등의 IP 활용 가능High-Level Synthesis (HLS)를 통해 C/C++ 코드를 HDL로 변환하여 사용할 수도 있음타사 IP 또는 사용자 정의 IP 활용 가능_3. 시뮬레이션 및 검증설계한 HDL 코드를 ModelSim, Vivado Simulator 등으로 시뮬레이션하여 논리적 오류 검..

Study/FPGA 2025.03.01
728x90
반응형