728x90
728x90

Vivado 8

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

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

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

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

03 - HLS(High-Level Synthesis) 개념 및 툴 정리

1. HLS란?HLS(High-Level Synthesis)는 C, C++, SystemC 같은 고수준 언어를 사용하여 RTL(Register Transfer Level) 코드(Verilog/VHDL)를 자동으로 생성하는 기술전통적인 RTL 설계에서는 클럭 단위 동작과 레지스터 제어를 직접 설계해야 하지만, HLS는 알고리즘 중심의 추상화된 설계를 통해 생산성을 높인다._# HLS 설계 흐름고수준 언어로 설계 작성: C/C++ 또는 SystemC로 하드웨어 동작을 알고리즘적으로 기술, 타이밍이나 레지스터 상세를 신경 쓰지 않고 기능에 집중검증(Simulation): 소프트웨어 시뮬레이션을 수행해 기능 검증합성(Synthesis): HLS 툴을 사용해 RTL(Verilog/VHDL) 코드로 변환논리 합성 ..

Study/FPGA 2025.03.01

02 - Clock 확인과 Vivado Verilog 실습

1. 클럭(Clock)이란?1.1 정의디지털 회로에서 동작을 동기화하는 펄스 신호모든 디지털 회로는 클럭 신호를 기준으로 동작_1.2 기본 개념: 클럭 신호는 일정한 주기로 HIGH(1)와 LOW(0)을 반복하는 사각파 형태를 가진다.주파수 (Frequency, Hz)1초에 클럭이 몇 번 반복되는지예) 100MHz 클럭 = 1초에 1억 번의 주기주기 (Period, sec)클럭 신호가 하나의 주기를 완료하는 데 걸리는 시간.주기와 주파수의 관계: $ T = \frac{1}{f} $예) 100MHz 클럭의 주기는 $$ T = \frac{1}{100,000,000} = 10ns $$_1.3 클럭의 역할디지털 회로의 동작을 순차적으로 제어데이터를 동기화하고 연산 순서를 유지클럭이 빠르면 연산 속도가 증가하지만..

Study/FPGA 2025.02.14

[SoC 구조 및 설계] 06 - EDA 프로그램 비교 및 설치 방법

개인적으로 헷갈려서 찾아보고 용도를 정리함.※ 따라서 전부 설치해본 것이 아니므로 틀린 정보가 있을 수 있음 주의!_1. EDA (Electronic Design Automation) 란?반도체 칩, FPGA, ASIC 설계를 위한 소프트웨어 도구회로 설계, 검증, 시뮬레이션, 합성(Synthesis), 배치-배선(Layout) 등 수행==========𝔼𝔼𝟚𝟚========== 2. 주요 EDA 프로그램 비교EDA 툴을 기능별로 구분할 수 있다.목적툴기능특징사용RTL 시뮬레이션QuestaSim (Siemens EDA)Verilog/SystemVerilog/VHDL 시뮬레이션빠른 속도, UVM 지원, 강력한 디버깅ASIC + FPGAVivado Simulator (Xilinx)Xilinx FPGA..

[SoC 구조 및 설계] 05 - EDA 툴 활용과 회로 설계

EDA Tool (Electronic Design Automation)SoC 설계 자동화를 지원하는 툴반도체 칩, FPGA, ASIC 설계를 위한 소프트웨어 도구회로 설계, 검증, 시뮬레이션, 합성(Synthesis), 배치-배선(Layout) 등의 작업 수행을 지원==========𝔼𝔼𝟚𝟚========== 1. 아날로그 회로 설계과정1) Schematic 설계: 회로도를 작성2) Layout 설계: Schematic을 바탕으로 물리적인 회로 배치3) DRC (Design Rule Check): 설계 규칙 검증4) LVS (Layout Versus Schematic): Layout과 Schematic의 일치 여부 검증5) 시뮬레이션: 동작 검증 수행6) 반도체 파운드리(Foundry)에 제작 요..

728x90
반응형