채널톡 아이콘

FPGA 구현을 위한 RISC-V CPU 설계 ③ RV32I 40개 명령어 Full CPU 직접 만들기

CPU와 RISC-V를 공부하다 보면 명령어의 기능은 이해했지만, “이 명령어들이 실제 하드웨어에서는 어떻게 실행되는가?”, “직접 설계한 CPU가 정말 올바르게 동작한다고 어떻게 확인할 수 있는가?”라는 지점에서 어려움을 느끼게 됩니다. 시중의 많은 자료가 ISA 설명이나 간단한 CPU 예제에 머무르고, 완성된 IP를 사용하는 경우도 많아 CPU를 직접 설계하고 검증하여 실제 FPGA에서 프로그램을 실행하는 전체 과정을 경험하기는 쉽지 않습니다. 저는 시스템반도체 분야에서 오랜 기간 연구개발과 사업을 경험하고, 현재 대학에서 반도체 설계와 FPGA를 교육하면서 이러한 학습의 간극을 많이 보아 왔습니다. 그래서 이 과정은 완성된 CPU를 제공하고 동작만 확인하는 방식이 아니라, “RV32I 명령어를 실행하려면 어떤 하드웨어가 필요한가?”라는 질문에서 출발하여 CPU 구조를 White Box 방식으로 직접 설계하도록 구성했습니다. Volume 3에서는 Volume 2의 TinyRV32I를 기반으로 RV32I 40개 명령어를 사용하는 Full-Version 32비트 CPU로 확장합니다. 데이터패스와 Decoder, Branch·Jump, Byte/Halfword Memory Access를 확장하고, Forwarding과 Load-Use Interlock을 구현하여 5단 Pipeline이 데이터 의존성을 스스로 처리하도록 합니다. 이어 CSR, Exception, Interrupt, Trap, MRET을 통합하여 정상적인 프로그램 실행뿐 아니라 예외와 외부 사건까지 처리할 수 있는 CPU를 완성합니다. 설계는 RTL Simulation에서 끝나지 않습니다. 실제 프로그램을 CPU에서 실행하고 Spike Reference Model과 결과를 비교하며, RISC-V Architecture Compatibility Test의 목적과 수행·판정 과정을 실제 검증 사례를 통해 학습합니다. 마지막에는 검증한 CPU를 Arty S7-25 FPGA에 구현하여 Switch와 Button의 입력을 받아 프로그램을 실행하고 결과를 LED로 출력하는 것까지 확인합니다. 이 강의가 해결하고자 하는 문제는 단순히 RISC-V 명령어를 더 많이 아는 것이 아닙니다. 명령어 → CPU 아키텍처 → Verilog RTL → Pipeline 제어 → 프로그램 실행 → 표준 기반 검증 → FPGA 실제 동작을 하나의 흐름으로 연결하여, 수강생이 CPU 내부 구조를 근본적으로 이해하고 직접 설계·검증할 수 있는 엔지니어링 역량을 갖추도록 하는 것이 목표입니다.

2명 이 수강하고 있어요.

난이도 중급이상

수강기한 무제한

실습 중심
실습 중심
CPU파이프라인
CPU파이프라인
fpga
fpga
디지털설계
디지털설계
디지털논리회로
디지털논리회로
실습 중심
실습 중심
CPU파이프라인
CPU파이프라인
fpga
fpga
디지털설계
디지털설계
디지털논리회로
디지털논리회로

수강 후 이런걸 얻을 수 있어요

  • RV32I 40개 명령어를 실행하는 Full-Version RISC-V CPU 설계 능력

  • 5단 파이프라인과 Hazard Control 구현 능력

  • CSR·Exception·Interrupt·Trap을 포함한 CPU 제어 구조 설계 능력

  • CPU를 체계적으로 검증하는 실무적 검증 능력

  • 직접 설계한 CPU를 FPGA에서 실제 프로그램으로 동작시키는 완성 경험

RV32I 40개 명령어를 사용하는 Full-Version CPU를 직접 설계합니다

mini-CPU를 넘어, 실제 프로그램을 실행할 수 있는 32비트 RISC-V CPU를 직접 완성합니다.

이 강의는 Volume 2의 TinyRV32I를 기반으로 RV32I 40개 명령어를 사용하는 Full-Version CPU로 확장하는 과정입니다. 완성된 CPU IP를 사용하는 것이 아니라, 명령어가 요구하는 하드웨어 구조를 분석하고 Verilog RTL로 직접 구현합니다.

산술·논리 연산뿐 아니라 Shift, Compare, Jump, Byte/Halfword Load·Store, CSR과 System 명령까지 확장하면서 명령어가 실제 데이터패스와 제어 구조로 구현되는 과정을 학습합니다.


5단 파이프라인을 실제 프로그램 실행이 가능한 구조로 확장합니다

명령어가 많아지면 Decoder만 확장해서는 CPU가 완성되지 않습니다.

ALU, Immediate Generator, Branch/Jump, Load/Store, Write Back 경로를 확장하고, Forwarding과 Load-Use Interlock을 구현하여 프로그램의 데이터 의존성을 하드웨어가 직접 처리하도록 합니다.

필요한 값이 이미 만들어졌다면 Forwarding하고, Load처럼 값이 아직 준비되지 않았다면 Pipeline을 잠시 정지시킵니다. Branch와 Jump에 따른 PC 전환과 Flush까지 구현하면서 5단 Pipeline이 실제 프로그램을 어떻게 올바르게 실행하는지 이해합니다.


Byte/Halfword 메모리 접근과 MMIO까지 구현합니다

32비트 Word 접근에서 더 나아가 Byte와 Halfword 단위의 Load·Store를 구현합니다.

Sign/Zero Extension, Byte Enable, Address Alignment를 처리하고, Memory-Mapped I/O를 통해 CPU와 FPGA 보드의 Switch, Button, LED를 연결합니다.

이를 통해 하나의 Load나 Store 명령이 주소 계산 → 메모리 접근 → 데이터 선택 → 레지스터 또는 주변장치로 이어지는 전체 경로를 이해합니다.


CSR, Exception, Interrupt, Trap을 CPU에 통합합니다

정상적인 명령어 실행뿐 아니라 CPU에서 발생하는 예외와 외부 Interrupt도 직접 구현합니다.

mstatus, mtvec, mepc, mcause, mtval, mie, mip 등의 Machine-Level CSR을 구성하고, ECALL, EBREAK, Illegal Instruction, Misaligned Access, External Interrupt와 MRET을 처리합니다.

이를 통해 정상적인 프로그램 실행 → Trap 발생 → Handler 이동 → 상태 저장 → 프로그램 복귀가 하나의 CPU 안에서 어떻게 이루어지는지 RTL 수준에서 학습합니다.


자체 Testbench를 넘어 표준 기반으로 검증합니다

CPU가 몇 개의 자체 테스트 프로그램을 실행한다고 해서 설계가 올바르다고 단정할 수는 없습니다.

각 기능을 Testbench와 Simulation으로 검증한 뒤, Spike Reference Model과 실행 결과를 비교하고 RISC-V Architecture Compatibility Test를 수행하여 PASS 하였습니다. (아래 확인)
[Compliance Report] EdgeChipLab_CPU_v1 successfully passed RV32I ACT · Issue #1600 · riscv/riscv-arch-test


본 CPU가 명령어 동작을 표준 기반으로 검증하는 사례를 설명합니다. ACT 관련 파일은 제공 자료에 포함되지 않습니다. 단순히 PASS 결과만 확인하는 것이 아니라 무엇을 실행하고, 무엇을 비교했으며, 그 결과가 어느 범위까지 CPU의 정확성을 입증하는지를 함께 학습합니다.


ACT를 통과한 CPU에서 실제 프로그램을 실행합니다

이 강의의 가장 큰 차별점입니다.

RV32I 40개 명령어를 사용하는 CPU를 직접 설계하고, Architecture Compatibility Test로 검증하는 사례, 동일한 CPU를 실제 FPGA에 구현합니다.

완성된 CPU에서 실제 프로그램을 실행하여 Switch와 Button의 입력을 읽고, CPU에서 연산과 분기를 수행한 뒤 결과를 LED로 출력합니다.

전체 과정은 다음과 같이 연결됩니다.

40-Instruction RV32I → 5-Stage Pipeline → Hazard Control → CSR/Trap → ACT Verification → FPGA → Real Program


CPU 설계와 검증에 필요한 실습 자료를 제공합니다

강의에서 사용하는 주요 설계·검증 자료를 제공하여 직접 실행하고 수정할 수 있도록 구성했습니다.

  • Verilog RTL

  • Testbench

  • Assembly Program

  • Memory Image


  • FPGA Top-Level RTL

  • XDC Pin Constraint

  • Vivado 구현 자료

완성된 결과만 보는 것이 아니라 설계 → Simulation → 표준 검증 → FPGA 구현의 전체 과정을 직접 재현할 수 있습니다.


RISC-V CPU 설계 시리즈의 Full-Version 단계입니다

이 강의는 단계적으로 확장되는 RISC-V CPU 설계 시리즈의 세 번째 과정입니다.

Volume 1 RV32I 명령어 구조와 실행
Volume 2 TinyRV32I · 5단 Pipeline과 FPGA 구현
Volume 3 40-Instruction Full RV32I · ACT 검증사례 · FPGA 프로그램 실행 ← 지금 여기
Volume 4 CPU·NPU·Peripheral을 통합하는 AI SoC


이 강의의 목표는 직접 설계한 Full-Version RISC-V CPU가 표준 기반 검증을 통과한 경험을 공유고, 실제 FPGA에서 프로그램을 실행하기까지의 전체 과정을 경험하는 것입니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • RISC-V CPU 기초를 학습하고 Full-Version 파이프라인 CPU 설계로 확장하고자 하는 하드웨어 엔지니어

  • RTL 설계 경험이 있으며 CPU 아키텍처의 예외 처리 및 표준 검증 방법을 실습하고 싶은 개발자

  • 간단한 CPU 예제를 넘어 조금 더 완성도 있는 CPU를 직접 설계해 보고 싶은 분

  • 시뮬레이션을 넘어 자신이 설계한 CPU를 실제 FPGA에서 동작시켜 보고 싶은 분

  • 여러 RTL 블록을 하나의 시스템으로 통합하는 과정을 공부하고 싶은 분

선수 지식,
필요할까요?

  • Verilog 또는 VHDL 등 HDL 기반 RTL 설계 및 시뮬레이션 경험

  • CPU 기본 구조(Datapath, Control Unit, 파이프라인) 및 RISC-V ISA 기초 지식

  • Vivado 또는 유사 FPGA 개발 도구 사용 경험 및 FPGA 보드 활용 능력

안녕하세요
EdgeChipLab입니다.

커리어인증

AI 반도체를 FPGA로 직접 설계하고 구현합니다

현직 대학교수로서 시스템 반도체 산업 30년의 경험과 AI 반도체 연구·교육 노하우를 담았습니다.

삼성전자 DS부문 시스템반도체 연구원을 시작으로 영국 및 독일법인 Director, 시스템 LSI 마케팅·영업 그룹장을 거쳐 현재 반도체 공학을 교육하는 교수가 직접 설계하고 FPGA에서 검증한 실전형 커리큘럼입니다.

단순히 FPGA 사용법을 배우는 교육이 아닙니다.
AI 알고리즘을 이해하고 → NPU와 CPU를 RTL로 직접 설계하고 → FPGA에 구현하고 → 실제 하드웨어에서 검증하여 → 궁극적으로 AI SoC까지 확장하는 과정을 지향합니다.

AI Algorithm → RTL Design → FPGA Implementation → Bit-True Verification → AI SoC

 

이론을 넘어 실제 AI 하드웨어 구현으로

흩어진 단편적인 지식만으로는 시스템 수준의 AI 반도체 설계 역량에 도달하기 어렵습니다.

수강생은 완성된 블랙박스 IP를 사용하는 데 머무르지 않습니다. AI NPU와 RISC-V CPU를 직접 설계하고, 메모리와 주변장치를 통합하며, 최종적으로 자신만의 AI SoC를 구축할 수 있는 시스템 설계 역량을 단계적으로 갖추는 것을 목표로 합니다.

트랜지스터와 디지털 회로의 기초에서 시작하여 FPGA, CPU, NPU를 거쳐 Transformer와 LLM 가속 하드웨어까지 연결합니다.

 

연구 결과를 실제 FPGA 하드웨어로 검증합니다.

눈으로만 보는 강의가 아닙니다. 이론이나 단순한 시뮬레이션에서 끝내지 않고, 직접 설계한 AI 반도체 회로를 실제 FPGA에서 동작시키고 Python 모델과 RTL 결과가 1비트까지 일치하는 Bit-True 검증을 수행합니다.

강사의 AI 반도체·FPGA·RISC-V 관련 KCI 등재 논문 4편을 포함한 연구 결과도 교육 콘텐츠와 연결하여, 연구에서 검증한 기술을 실제 설계와 FPGA 구현으로 이어갑니다.

자체 개발한 RISC-V CPU를 비롯하여 이미지 학습용 Python 코드와 Verilog RTL 등 실습에 필요한 소스 코드를 공개합니다.

보급형 Arty S7-25 FPGA 보드와 무료 Vivado 설계 도구를 중심으로 구성하여, 학습자가 직접 설계하고 구현하고 검증하는 전 과정을 재현할 수 있도록 하였습니다.

또한 Zybo Z7을 포함한 Digilent사 FPGA 보드에서도 사용 가능합니다. XDC 핀 매핑(보드)과 클럭 분주 파라미터(RTL)를 보드에 맞게 수정하시면 됩니다.

'FPGA로 만드는 MNIST NPU'강의는 XDC 핀 매핑만 수정하면 되며, OLED와 Camera를 사용하는 강의는 클럭 분주 파라미터(RTL)를 수정해야 합니다.

→강의 실습은 Arty S7의 100 MHz 입력 클럭을 기준으로 분주 파라미터가 설정되어 있습니다. 다른 보드는 입력 클럭이 다르므로(예: Zybo Z7은 125 MHz), 목표 주파수가 동일하게 나오도록 분주 값을 다시 계산해 주셔야 합니다. 이 부분을 놓치면 화면이나 영상이 정상적으로 출력되지 않는데, 코드 오류로 오해하기 쉬우므로 확인해 주시기 바랍니다.

 

단절 없는 풀스택 로드맵 : 기초부터 mini LLM 가속기까지

모든 강의는 독립된 파편이 아닌, 하나의 거대한 시스템을 완성해 가는 여정입니다.

  • Step 1: AI 이론 및 이미지 처리 기초 (Machine Learning 포함)

  • Step 2: AI 가속기(NPU) 설계 및 검증 (Machine Learning 포함)

  • Step 3: RISC-V CPU 설계 및 시스템 통합

  • Step 4: 고급 AI SoC 구현 및 mini LLM 가속 플랫폼으로의 확장 (지속적인 콘텐츠 업데이트)

     

 

객관적 검증 지표

본 과정의 모든 설계 결과물은 글로벌 표준과 학계의 엄격한 검증을 거쳤습니다.

  • RISC-V 아키텍처 검증: 자체 개발 RISC-V CPU, 국제재단 공식 컴플라이언스 테스트(ACT) 통과 및 소스 코드 공개 (GitHub)

  • 학술적 권위: 단독 저자 학술논문 4편 (KCI A등급 저명학술 등재지 IJIBC)

  • 글로벌 인정: 글로벌 아마존 기술 서적 2편 출간 (베스트셀러 3위 달성)

  • 실제 동작 검증 완료: RV32I CPU, NPU, 비전 시스템, GPS, Transformer, AURA-Edge SoC 등 핵심 IP의 Arty S7 환경 완벽 동작

도전하십시오. 직접 코드를 보드에 올리고, 결과를 확인하는 이 과정이 끝날 때쯤, 여러분은 이전과는 완전히 다른 시야를 가진 하드웨어 엔지니어로 레벨업해 있을 것입니다.

더보기

커리큘럼

전체

11개 ∙ (6시간 2분)

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

수강평

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

EdgeChipLab님의 다른 강의

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

비슷한 강의

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

얼리버드 할인 중

₩191

9%

₩275,000

평생교육이용권 지원 강의