Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
개발 · 프로그래밍

/

프론트엔드

FPGA에 UART 구현하기

UART는 가장 기본적이며 널리 활용되는 시리얼 통신 방식으로, FPGA 설계를 처음 접하는 입문자에게 매우 적합한 학습 주제입니다. 본 강의에서는 UART의 통신 원리와 프레임 구조를 상세히 이해하고, 이를 기반으로 RTL(Register Transfer Level) 설계를 통해 송수신 로직을 직접 구현해보는 과정을 진행합니다. FPGA 상에서 UART를 구현함으로써 디지털 회로 설계 능력을 체계적으로 키우고, 시뮬레이션 및 검증을 통해 실제 하드웨어 수준에서 동작을 확인하는 경험을 쌓을 수 있습니다. 또한 Soft Processor인 MicroBlaze와 Xilinx UART IP를 활용한 방식도 함께 학습하여, 프로세서 기반의 시스템 설계 흐름 및 인터페이스 구성을 폭넓게 이해하게 됩니다. 이를 통해 논리 설계와 프로세서 설계를 아우르는 포괄적인 개발 역량을 갖출 수 있습니다.

15명 이 수강하고 있어요.

  • EasyFPGA
fpga설계
uart구현
system-verilog
MicroBlaze
FPGAuartvivado

이런 걸 배울 수 있어요

  • UART 통신에 대해 이해하기

  • HDL를 이용해 UART TX와 RX 모듈 설계하기

  • MicroBlaze 프로세서와 UART IP를 활용한 구현 방식

  • Simulation 검증 및 하드웨어 검증

UART(Universal Asynchronous Receiver/Transmitter)는 가장 기본적이며 실무에서 널리 사용되는 시리얼 통신 방식입니다. 특히 FPGA 기반의 디지털 설계를 학습하려는 입문자에게 UART는 구조가 간단하고 구현이 명확해 매우 유용한 학습 주제가 됩니다.

본 강의에서는 UART의 통신 원리, 데이터 프레임 구조, 패리티 비트의 역할 등을 이론적으로 학습한 뒤, 이를 바탕으로 RTL(Register Transfer Level) 설계를 통해 송신기와 수신기를 직접 구현합니다. Start Bit부터 Data Bit, Parity Bit, Stop Bit까지 UART 프레임의 구성 요소를 파형 시뮬레이션을 통해 분석하고, 실제 하드웨어 동작으로 연결해보는 과정을 체계적으로 다루게 됩니다.

또한 본 강의에서는 기본적인 UART 설계에 그치지 않고, Xilinx FPGA에서 제공하는 Soft Processor인 MicroBlaze와 UART IP를 활용한 고급 구현 방식까지 확장해 학습합니다. 이를 통해 하드웨어 기반의 논리 설계뿐만 아니라 프로세서 기반 시스템에서의 Peripheral 구성과 동작 원리도 함께 경험할 수 있어, 실전적인 Embedded 설계 능력을 기를 수 있습니다.

실습을 통해 시리얼 통신 데이터를 송수신하면서 오류 검출(패리티 체크), 상태 전이(FSM), Baud Rate 설정 등 다양한 디지털 설계 기술을 익히게 됩니다. 또한 Verilog/SystemVerilog 기반의 RTL 코드 작성, 테스트벤치 구축, 시뮬레이션 검증, 하드웨어 다운로드 등 FPGA 개발의 전 과정을 따라가며 설계 감각을 키우는 데 중점을 둡니다.

본 과정은 FPGA 설계에 대한 경험이 없더라도 따라올 수 있도록 실습 중심으로 구성되어 있으며, UART 프레임의 전송 흐름을 직접 설계하고 눈으로 확인함으로써 디지털 통신 구조의 핵심을 자연스럽게 체득할 수 있습니다. 강의가 끝나면 수강생은 UART의 송수신 로직을 RTL로 구현할 수 있을 뿐만 아니라, MicroBlaze 기반의 설계 플로우를 통해 프로세서 중심의 시스템 아키텍처에 대한 이해도 얻게 됩니다.

강의에 사용되는 도구

  • 개발 툴: Vivado 2022.2, Vitis 2022.2

  • 개발 언어: system-verilog

  • 검증 가능한 FPGA 보드

  • PC 시리얼 통신 프로그램

    • Tera Term, PuTTy 등(무료 사용 가능)

제공 자료

  • 개발 코드 및 프로젝트

  • PDF 슬라이드 파일

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 이제 FPGA 설계에 입문하시는 분

  • 실무에 UART 적용이 필요하신 분

  • FPGA 설계 플로우와 방법을 배우고 싶으신 분

선수 지식,
필요할까요?

  • FPGA 기초

  • Vivado, Vitis 등 개발 툴 설치 및 활용 방법

안녕하세요
입니다.

160

수강생

6

수강평

2

답변

4.8

강의 평점

3

강의

  • FPGA는 전통적인 반도체 설계 과정과 달리, 쉽고 빠르게 설계를 구현할 수 있는 장점을 가진 디바이스입니다. 디자인 소스만 있으면, FPGA의 논리 요소를 활용하여, 즉시 배치 및 연결이 가능합니다. 또한, 하드웨어적인 성격이 강하기 때문에 코드 역시 복잡하지 않고 직관적으로 작성할 수 있습니다.

  • 중요한 것은 FPGA의 설계 개념과 Flow를 이해하며, 나아가서는 설계 목적과 대상에 대해 이해를 하는 것입니다. 이를 바탕으로 디자인 소스의 구조를 최적화하고, 알맞은 제약조건을 입력해 안정적인 FPGA를 설계하는 것이 핵심입니다.

  • 강의에서는 코딩보다는 FPGA 설계 개념과 구조, 설계 방식 및 Flow를 중심으로 구성되며, Step-by-Step 실습 위주의 내용을 담을 것 입니다. 직접 구현하고 실습하며 노하우를 쌓아가는 것이 FPGA 엔지니어의 핵심이며, 앞으로 AI로 대체될 코딩 보다 더 큰 가치가 될 것입니다.

     

  • 10+ 경력의 FPGA 및 하드웨어 설계 전문가로, 고속 데이터 처리 및 통신 시스템 설계, 영상 처리 등에 특화되어 있으며, 다양한 FPGA 프로젝트에 참여.

  • 아래 Youtube나 Blog에서 추가적인 정보를 얻으실 수 있습니다.

     

 

 

커리큘럼

전체

18개 ∙ (1시간 6분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

₩27,500

EasyFPGA님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!