Skip to content

필사 모드: 오픈 FPGA & RISC-V 개발 2026 완벽 가이드 - Yosys · NextPnR · IceStorm · Lattice ECP5 · SiFive · BeagleV-Fire · Tang Nano · Pulpino 심층 분석

한국어
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
원문 렌더가 준비되기 전까지 텍스트 가이드로 표시합니다.

프롤로그 — "FPGA는 비싸고 어렵다"는 통념이 무너진 2026년

2010년대 중반까지 FPGA는 "비싸고, 툴은 더 비싸고, 라이선스는 안 풀린다"의 동의어였다. Xilinx Vivado는 수십 GB짜리 무료 에디션을 깔아야 했고, Altera Quartus도 마찬가지였다. 합성 결과는 블랙박스. 클라우드 빌드도 불가능. 한 줄 바꾸면 30분 기다리는 게 일상이었다.

2026년의 풍경은 다르다. iCE40 / ECP5 / Gowin 일부 칩은 **Yosys + NextPnR + IceStorm/Project Trellis/Apicula** 완전 오픈 툴체인으로 합성부터 비트스트림까지 만들 수 있다. RISC-V 코어는 **PULPino, Rocket, BOOM, VexRiscv, Ariane(CVA6), OpenTitan** 등이 모두 오픈 소스. SBC는 **VisionFive 2, Milk-V Mars, BeagleV-Fire, HiFive Premier P550, Banana Pi BPI-F3, LicheePi 4A** 등 30달러부터 시작한다.

ASIC도 손에 닿는다. **Tiny Tapeout**은 SkyWater 130nm 또는 GlobalFoundries 180nm에서 50~300달러로 학생/취미가도 칩을 떠받게 한다. **OpenROAD**는 RTL → GDSII까지 오픈 EDA로 흘릴 수 있다.

이 글은 그 전체 지형 — FPGA 벤더, 오픈 툴체인, 보드, RISC-V 코어, HDL 언어, 시뮬레이터, 형식 검증, 오픈 ASIC, 한국·일본 흐름 — 을 2026년 시점에서 한 번에 정리한다.

1장 · FPGA의 기본 - LUT · FF · BRAM · DSP · 클록 도메인

FPGA(Field-Programmable Gate Array)는 **재구성 가능한 디지털 회로 어레이**다. 핵심 구성요소는 다섯 가지.

| 자원 | 역할 | 단위 |

| --- | --- | --- |

| LUT (Look-Up Table) | 4~6 입력 truth table, 임의 조합 회로 구현 | iCE40 4-LUT, ECP5 4-LUT, 7-series 6-LUT |

| FF (Flip-Flop) | 동기 레지스터, 보통 LUT당 1개 | LUT-FF 쌍 |

| BRAM (Block RAM) | 18~36 kbit 듀얼 포트 메모리 블록 | iCE40 4 kbit EBR, ECP5 18 kbit EBR |

| DSP slice | 곱셈/누산기, 신호 처리/AI 가속 | iCE40에는 거의 없음, ECP5 18×18, 7-series DSP48 |

| Clock / PLL | 클록 분배, 주파수 합성 | 보통 4~8 글로벌 클록 |

LUT 수가 칩 크기의 1차 지표지만, **BRAM과 DSP가 응용을 결정**한다. 비디오/AI 가속이라면 DSP가, 캐시·FIFO 많으면 BRAM이 병목이다.

iCE40 HX8K: 7,680 LUT4, 7,680 FF, 32×4kbit BRAM = 128 kbit, DSP 없음

iCE40 UP5K: 5,280 LUT4, 5,280 FF, 30×4kbit + 4×128kbit SPRAM = ~640 kbit, DSP 8개

ECP5 LFE5UM-85F: 84K LUT4, 84K FF, 208×18kbit = ~3.7 Mbit, DSP 156개

Artix-7 XC7A100T: 101K LUT6, 126K FF, 4.86 Mbit BRAM, DSP48 240개

"몇 LUT 짜리 칩 사야 하나"는 합성을 한번 돌려야 답이 나온다. 보통 **취미는 5K~10K LUT (iCE40 HX/UP5K, Tang Nano 9K), 학습/RISC-V soft core는 25K~85K LUT (ECP5, Cyclone 10), 본격 SoC는 100K+ (Artix-7, Zynq)** 가 가이드라인이다.

2장 · FPGA 벤더 지형 - AMD/Xilinx · Intel/Altera · Lattice · Microchip · GOWIN · EFINIX

2025년 Intel은 **Altera를 분사 후 매각 진행**해 다시 독립 회사가 됐고, 2022년 AMD가 인수한 Xilinx는 **AMD Adaptive Computing**로 흡수됐다. 2026년 6대 벤더는 다음과 같다.

| 벤더 | 대표 패밀리 | 강점 | 툴체인 | 오픈 툴체인 |

| --- | --- | --- | --- | --- |

| AMD / Xilinx | 7-series, UltraScale+, Versal ACAP | 최대 시장 점유, AI Engine, Zynq SoC | Vivado, Vitis | 부분 (yosys+nextpnr-xilinx 실험) |

| Intel → Altera (재독립) | Cyclone 10, Stratix 10/12, Agilex | HBM 통합, 고밀도 | Quartus Prime | 없음 |

| Lattice Semiconductor | iCE40, ECP5, MachXO5, CrossLink-NX, Avant | 저전력, 작은 패키지, 오픈 친화 | Radiant, Diamond, icecube2 | **완전 (Yosys + NextPnR)** |

| Microchip | PolarFire, PolarFire SoC, IGLOO2 | flash 기반(부팅 즉시), RISC-V SoC 통합 | Libero SoC | 부분 |

| GOWIN | LittleBee, Arora V, Aurora | 중국 저가, 광범위한 패키지 | GoWin EDA | **부분 (Apicula/nextpnr-himbaechel)** |

| EFINIX | Trion, Titanium | 저전력, AI 가속 (Quantum core) | Efinity | 없음 |

2026년 핵심 트렌드.

- **AMD Versal ACAP** — FPGA + ARM + AI Engine을 한 칩에. 4nm 공정, HBM 통합. AI 추론 데이터센터.

- **Lattice Avant** — Lattice의 첫 mid-range FPGA, 2023년 발표, 2025년 양산. ECP5보다 5배 큰 logic.

- **Microchip PolarFire SoC** — 5코어 RISC-V (U54 4 + E51 1) + FPGA. BeagleV-Fire 탑재.

- **GOWIN GW5A** — Arora V 5nm, 한국·일본 메이커 시장 활발.

오픈 툴체인 측면에서 **Lattice는 사실상 표준**이다. iCE40 (IceStorm), ECP5 (Project Trellis), MachXO (Project Oxide) 전 라인업이 Yosys/NextPnR로 흘러간다. Lattice 자신도 Radiant 안에 Yosys를 옵션으로 넣었다. GOWIN은 **Apicula** + nextpnr-himbaechel로 LittleBee/Arora V 일부가 들어왔다.

3장 · Yosys - 오픈 합성기의 사실상 표준

**Yosys**는 Claire Wolf(Clifford Wolf)가 2012년부터 개발한 Verilog 합성기다. ISC 라이선스. 2026년 0.45 버전이 안정 릴리스.

Yosys는 단순한 합성기가 아니라 **모듈식 RTL → gate-level 변환기**다. read_verilog로 시작해서 proc, opt, techmap, abc 같은 패스를 거쳐 write_verilog나 write_blif로 끝난다.

iCE40 타깃 합성 한 줄

yosys -p "synth_ice40 -top top -json out.json" design.v

더 자세한 흐름

yosys -p "

read_verilog design.v

hierarchy -check -top top

proc; opt; fsm; opt

memory_bram -rules ice40.txt

techmap; opt

abc -lut 4

clean

write_json out.json

"

핵심 기능.

- **다중 백엔드** - iCE40, ECP5, Xilinx 7-series(실험), Gowin, Intel(실험), Nexus, ASIC(ABC + Liberty)

- **SystemVerilog 지원** — Verilog 2005는 완전, SV 2017은 부분(파라미터, interface 일부). 완전 SV는 **slang + Yosys** 또는 **sv2v** 변환으로.

- **Verific 프론트엔드** — 상업용 파서, Yosys+Verific은 SV/VHDL 풀 지원. 비공개.

- **Yosys cell library** — 시뮬레이션 모델까지 함께 제공.

2024년 **YosysHQ**가 Yosys 본가를 운영하고, Tabby CAD Suite(Yosys + Verific + SymbiYosys 상용)로 비즈니스 모델을 만들었다. 핵심은 **여전히 ISC 오픈 소스**.

4장 · NextPnR - 현대적 P&R, arachne-pnr를 대체

**NextPnR**(2018~)는 Yosys의 짝이 되는 place-and-route 도구다. 이전 세대 **arachne-pnr**(iCE40 전용, 단순 SA 기반)을 대체했다.

NextPnR이 가져온 것.

- **타이밍 분석 기반 P&R** — 정적 타이밍을 P&R 루프에 직접 반영.

- **다중 디바이스** — iCE40, ECP5, Nexus(MachXO5), Gowin(himbaechel), 실험적 Xilinx.

- **HeAP placer + router** — 더 큰 디자인을 견딘다.

- **GUI** — placement 결과를 시각화.

흐름은 단순.

Yosys 합성

yosys -p "synth_ice40 -top top -json top.json" top.v

NextPnR P&R

nextpnr-ice40 --hx8k --package ct256 \

--json top.json \

--pcf top.pcf \

--asc top.asc

icepack: ASCII → 비트스트림

icepack top.asc top.bin

iceprog: 보드에 굽기

iceprog top.bin

ECP5 흐름도 같은 모양.

yosys -p "synth_ecp5 -top top -json top.json" top.v

nextpnr-ecp5 --25k --package CABGA381 \

--json top.json --lpf top.lpf \

--textcfg top.config

ecppack --svf top.svf top.config top.bit

ujprog top.bit # 또는 openFPGALoader

Gowin도 거의 동일.

yosys -p "synth_gowin -top top -json top.json" top.v

nextpnr-himbaechel --device GW1NR-LV9QN88PC6/I5 \

--json top.json --vopt cst=top.cst \

--write top_pnr.json

gowin_pack -d GW1N-9C -o top.fs top_pnr.json

openFPGALoader -b tangnano9k top.fs

**NextPnR 0.7+** (2025)는 멀티스레드 라우터로 100K LUT급 디자인의 P&R 시간을 절반 이하로 줄였다.

5장 · Project IceStorm · Project Trellis · Project NX/Apicula - 비트스트림 리버스 엔지니어링

오픈 툴체인의 진짜 어려움은 **비트스트림 포맷**이다. 합성과 P&R은 알고리즘이지만, 비트스트림은 벤더가 비공개로 한 비트 단위 인코딩이다. 이걸 푸는 게 "프로젝트들"이다.

| 프로젝트 | 타깃 | 시작 | 상태 |

| --- | --- | --- | --- |

| **IceStorm** | Lattice iCE40 (HX, LP, UP, UltraPlus) | 2015 | 완성, 사실상 1차 표준 |

| **Project Trellis** | Lattice ECP5 (LFE5U/UM 12/25/45/85) | 2017 | 완성 |

| **Project Oxide / nextpnr-nexus** | Lattice Nexus (MachXO5, CrossLink-NX, CertusPro-NX) | 2020 | 진행 중 |

| **Project Apicula** | Gowin LittleBee, Arora V (일부) | 2020 | 부분 |

| **Project U-Boot / SymbiFlow → F4PGA** | Xilinx 7-series (Artix-7) | 2017 | 정체, 부분 |

| **prjpolarfire** | Microchip PolarFire | 2024 (실험) | 초기 |

핵심은 **IceStorm**과 **Project Trellis**다. Claire Wolf의 **Project IceStorm**(2015)이 모든 것의 출발이었다. iCE40의 비트스트림을 한 비트씩 추적해 풀었고, 그 위에 Yosys synth_ice40 백엔드와 arachne-pnr/nextpnr-ice40이 올라왔다. 데이비드 셰이(David Shah)의 **Project Trellis**(2017)는 같은 작업을 ECP5에 했다. 이 두 프로젝트가 없었다면 NextPnR도 의미가 없었다.

2025~2026년 흐름.

- **Project Oxide → nextpnr-nexus** — MachXO5/CrossLink-NX 부분 지원. Lattice도 일부 협조.

- **Apicula** — Robert Ou 등이 GOWIN GW1N 시리즈를 풀었고, GW2A도 진행. Tang Nano 9K/20K는 실전 사용 가능.

- **prjpolarfire** — PolarFire 비트스트림 분석 시작. 시간이 걸린다.

핵심 교훈은 **하드웨어 회사의 협조 없이도 비트스트림은 풀 수 있다**는 것. 그러나 풀려면 사람의 시간이 필요하다.

6장 · 오픈 FPGA 보드 - iCEbreaker · OrangeCrab · Tang Nano · ECPIX-5 · Arty A7

2026년 오픈 툴체인이 도는 보드를 카테고리별로 정리한다.

**iCE40 계열 (가장 쉬움)**

| 보드 | FPGA | 메모리 | 가격(2026) | 특징 |

| --- | --- | --- | --- | --- |

| iCEbreaker | iCE40-UP5K | 5K LUT + 1Mbit SPRAM | $50 | 1bitsquared 제작, PMOD 다수, RISC-V 워크숍 표준 |

| TinyFPGA BX | iCE40 LP8K | 7.6K LUT | $35 | USB 직접 부팅, breadboard 친화 |

| iCE40-HX8K Breakout | iCE40 HX8K | 7.6K LUT | $80 | Lattice 공식, 학습용 |

| Olimex iCE40-HX8K-EVB | iCE40 HX8K | + Cortex-M0 | $40 | 유럽 제작 |

| Fomu | iCE40-UP5K | 5K LUT | $50 | USB 포트에 들어가는 초소형 |

**ECP5 계열 (RISC-V soft core 실용 영역)**

| 보드 | FPGA | 가격 | 특징 |

| --- | --- | --- | --- |

| OrangeCrab | ECP5 25F/85F | $129 | Feather 폼팩터, DDR3 |

| ECPIX-5 | ECP5 45F/85F | $150 | LambdaConcept, RISC-V Linux 가능 |

| Versa-ECP5 (Lattice 공식) | ECP5 45F | $250+ | DDR3, PCIe x1, Ethernet |

| Colorlight 5A-75B | ECP5 25F | $25 | LED 컨트롤러 보드 hack, 정말 저렴 |

| ULX3S | ECP5 12/25/45/85F | $115~ | EMARD 제작, HDMI, ESP32, micSD, 가장 보편적 |

**Gowin 계열 (가장 싸다)**

| 보드 | FPGA | 가격 | 특징 |

| --- | --- | --- | --- |

| Tang Nano 9K | GW1NR-9 (8640 LUT) | $20 | HDMI, micSD, 입문 표준 |

| Tang Nano 20K | GW2AR-18 (20736 LUT) | $30 | SDRAM 내장, RISC-V Linux 시도권 |

| Tang Primer 20K | GW2A-18 | $50 | 더 큰 LUT, Pmod |

| Tang Mega 138K | GW5AT-138 | $100 | Arora V, AI 토이 가능 |

**Xilinx (오픈 툴체인 부분 / Vivado 메인)**

| 보드 | FPGA / SoC | 가격 | 특징 |

| --- | --- | --- | --- |

| Arty A7-35T / 100T | Artix-7 | $129~$249 | Digilent, RISC-V soft core 학습 표준 |

| Zybo Z7-10 / 20 | Zynq-7000 (ARM + FPGA) | $199~$299 | Linux + FPGA |

| PYNQ-Z2 | Zynq-7020 | $229 | Python 위에서 FPGA 조작 (PYNQ 프레임워크) |

| Genesys 2 | Kintex-7 | $1000+ | 고사양 학습/연구 |

**Intel/Altera**

| 보드 | FPGA | 가격 | 특징 |

| --- | --- | --- | --- |

| CYC1000 | Cyclone 10 LP | $50 | Trenz, 컴팩트 |

| DE10-Lite / DE10-Nano | MAX10 / Cyclone V | $85~$150 | 학습 표준, Terasic |

학습 1단계는 **iCEbreaker (iCE40-UP5K, $50)**, 2단계는 **ULX3S 또는 OrangeCrab (ECP5, $115~$150)**, 3단계는 **Arty A7-100T 또는 Zybo Z7-20**으로 권장된다. Tang Nano 9K는 "20달러로 일단 시작해보고 싶다"에 최적.

7장 · RISC-V - ISA부터 확장 셋까지

**RISC-V**는 UC Berkeley에서 2010년 시작된 오픈 ISA다. 2015년 RISC-V Foundation(현 RISC-V International) 발족 후, 2026년 현재 다음과 같은 표준이 굳어졌다.

| 확장 | 의미 | 비고 |

| --- | --- | --- |

| RV32I / RV64I | 32/64-bit base integer | 필수 |

| M | 곱셈/나눗셈 | 사실상 필수 |

| A | atomic | SMP, 멀티코어 필수 |

| F / D / Q | float 32/64/128 | 부분 채택 |

| C | compressed (16-bit insns) | 코드 크기 1.5배 절감 |

| B | bit manipulation (Zba/Zbb/Zbs) | 2021 비준 |

| V | vector | 2021 비준, AI 핵심 |

| Zicsr / Zifencei | CSR / fence.i | 시스템 필수 |

| H | hypervisor | 2023 비준 |

| Zk* | scalar crypto | 2021 |

전형적 "RV64GC" 프로파일 = RV64IMAFDCZicsr_Zifencei. Linux 디스트로 표준.

2025년 비준된 **RVA23**이 2026년 데이터센터/모바일 baseline. RVA23은 V (Vector v1.0), B, Zk*, H, Zicboz 등을 의무화한다. Android RISC-V 포팅이 RVA23 기준이다.

8장 · 오픈 RISC-V 코어 - PULPino · Rocket · BOOM · Ariane · VexRiscv · OpenTitan

오픈 소스 RISC-V CPU 코어 IP는 2026년 거의 "골라 쓰는" 단계다.

| 코어 | 출신 | HDL | 특징 | 라이선스 |

| --- | --- | --- | --- | --- |

| **Rocket Chip** | UC Berkeley | Chisel | RV64GC 5-stage in-order, Linux capable | BSD |

| **BOOM** | UC Berkeley | Chisel | OoO superscalar, 연구 표준 | BSD |

| **CVA6 (Ariane)** | OpenHW / ETH | SystemVerilog | RV64GC 6-stage, Linux, 산업 검증 | Solderpad |

| **CV32E40P (PULPino)** | OpenHW / ETH | SystemVerilog | RV32IMC, 작고 산업급 | Solderpad |

| **CV32E40X / CV32E41P** | OpenHW | SystemVerilog | XIF 확장 포트, P-ext 실험 | Solderpad |

| **Ibex** | lowRISC | SystemVerilog | RV32IMC, OpenTitan 내장 | Apache 2.0 |

| **VexRiscv** | SpinalHDL | SpinalHDL | 플러그인 기반, 합성 친화 | MIT |

| **NaxRiscv** | SpinalHDL | SpinalHDL | OoO, VexRiscv의 후계 | MIT |

| **PicoRV32** | Clifford Wolf | Verilog | 초소형, iCE40-UP5K에 들어감 | ISC |

| **SERV** | Olof Kindgren | Verilog | bit-serial, 가장 작은 RV32I | ISC |

| **Western Digital SweRV / EH1/2** | WD | SystemVerilog | embedded, NVMe controller 출신 | Apache 2.0 |

| **OpenTitan Ibex 기반 root of trust** | lowRISC + Google | SystemVerilog | TPM-like 보안 칩, ChromeOS 탑재 | Apache 2.0 |

| **Microchip MiV** | Microchip | (closed netlist) | PolarFire 내장 소프트 코어 | proprietary |

선택 가이드.

- **iCE40-UP5K에 RISC-V 한번 올려보고 싶다** → PicoRV32 또는 SERV.

- **ECP5에서 Linux 부팅** → VexRiscv (LiteX SoC와 함께) 또는 Rocket Chip.

- **산업급 RV32 마이크로컨트롤러 IP** → CV32E40P (PULPino) 또는 Ibex.

- **연구용 OoO** → BOOM 또는 NaxRiscv.

- **보안 root of trust** → OpenTitan.

**LiteX**(Florent Kermarrec)는 VexRiscv를 중심으로 SoC를 5분 만에 생성하는 프레임워크다. ECP5/ULX3S/OrangeCrab/Tang Nano에서 Linux를 부팅하는 가장 빠른 길.

9장 · SiFive · Andes · Codasip - 상업 RISC-V IP

**SiFive** (Berkeley founders, 2015)는 RISC-V 상업 IP의 대표 주자다. 2026년 라인업.

| 라인 | 대표 코어 | 타깃 | 비고 |

| --- | --- | --- | --- |

| Performance | P870 | 데이터센터, 모바일 | OoO RV64GCV, RVA23 |

| Intelligence | X280, X390 | AI/ML 에지 추론 | 1024-bit vector |

| Essential | E2, E3, E6, E7, E76 | 마이크로컨트롤러 | E76 = HiFive Premier P550 |

| Automotive | S26, S2C26 | ASIL-B/D | ISO 26262 |

2025년 발표 **SiFive P870-D**는 데이터센터급 16코어 RV64GCV, 5GHz. 인텔의 Lunar Lake 시대에 RISC-V가 노트북·서버를 노린다.

다른 상업 IP.

- **Andes Technology** — 대만, AndeStar V5 ISA(RISC-V 호환 + 확장), Andriy N25/A25/AX65/AX27.

- **Codasip** — 체코, custom RISC-V 코어 생성기 + Codasip Studio.

- **Cortus** — 프랑스, APS25.

- **Esperanto Technologies** — ET-SoC-1 1088코어 RISC-V AI 추론 칩.

- **Tenstorrent** — Jim Keller의 회사, Ascalon (16-wide OoO RV64), 노트북 SoC 진출.

2026년 핵심 흐름은 **"RV64 server-class core"**. ARM Neoverse에 진짜로 도전할 RISC-V 코어들이 처음 나왔다.

10장 · RISC-V SBC - VisionFive 2 · Milk-V · BeagleV · HiFive · Banana Pi · LicheePi

물리적 RISC-V 컴퓨터(보드)는 2026년 사실상 모든 가격대에 존재한다.

| 보드 | SoC | RISC-V 코어 | 가격 | 비고 |

| --- | --- | --- | --- | --- |

| **VisionFive 2** | StarFive JH7110 | 4×SiFive U74 @1.5GHz | $60~$80 | Debian/Ubuntu 안정, IMG GPU |

| **Milk-V Mars** | StarFive JH7110 | 4×U74 | $50~ | RPi 폼팩터 |

| **Milk-V Mars CM** | JH7110 | 4×U74 | $40 | CM4 폼팩터 |

| **Milk-V Meles** | TH1520 | 4×Xuantie C910 | $100~ | T-Head, Alibaba |

| **Milk-V Pioneer** | SG2042 | 64×C920 | $1500 | mainboard form, 데스크탑 |

| **Pine64 Star64** | JH7110 | 4×U74 | $70~ | Pine64 ecosystem |

| **BeagleV-Ahead** | TH1520 | 4×C910 | $150 | BeagleBoard.org |

| **BeagleV-Fire** | Microchip MPFS025T | 4×U54 + 1×E51 + FPGA | $150 | FPGA 통합 |

| **SiFive HiFive Unmatched** | FU740 | 4×U74 + 1×S7 | (단종) | 2021 |

| **HiFive Premier P550** | EIC7700X (ESWIN) | 4×SiFive P550 | $399 | RVA22, 2024 출시 |

| **Banana Pi BPI-F3** | SpacemiT K1 | 8×X60 | $90~ | RVV 1.0 vector |

| **Sipeed LicheePi 4A** | TH1520 | 4×C910 @1.85GHz | $150~ | 8/16GB RAM 옵션 |

| **Sipeed LicheePi 3A** | TH1520 | 4×C910 | $80 | 경량 |

| **Tang Mega 138K Pro** | Gowin GW5AT-138 + LiteX VexRiscv | soft core | $100 | 소프트 RISC-V FPGA |

성능과 소프트웨어 성숙도를 본다면.

- **데스크탑 대체 시도** — Milk-V Pioneer, HiFive Premier P550.

- **취미·홈서버** — VisionFive 2, Milk-V Mars, Pine64 Star64. Ubuntu/Debian/Fedora 패키지 풍부.

- **FPGA 합쳐서 디지털 설계 학습** — BeagleV-Fire.

- **벡터 가속 베타** — Banana Pi BPI-F3, LicheePi 4A.

2026년 RISC-V SBC의 진짜 문제는 여전히 **GPU 드라이버**와 **Linux 커널 V 확장 지원**이다. 메인라인 커널은 V 1.0 RVV가 들어왔지만 사용자 공간 라이브러리는 따라가는 중.

11장 · BeagleV-Fire와 PolarFire SoC - FPGA + RISC-V 합본

**BeagleV-Fire**(2024)는 BeagleBoard.org가 만든 보드인데, 핵심은 **Microchip PolarFire SoC MPFS025T-FCSG325E**다. 한 패키지 안에 다음이 들어있다.

- 4×SiFive U54 RV64GC Linux capable 코어 @600MHz

- 1×SiFive E51 RV64IMAC monitor 코어

- ~25K LUT + 68 LSRAM (PolarFire FPGA fabric)

- 통합 메모리 컨트롤러, PCIe, USB

이 보드의 의미는 **Zynq의 RISC-V 버전**이라는 점이다. ARM Cortex-A + FPGA의 Zynq처럼, RISC-V + FPGA가 한 칩에 있어서, 소프트웨어는 Linux로, 가속은 FPGA로 분담할 수 있다. 게다가 PolarFire는 **flash 기반**이라 부팅이 즉시 (SRAM 기반 Xilinx는 부팅 시 비트스트림 로딩 시간이 필요).

BeagleV-Fire에서 RISC-V Linux 부팅 후 FPGA 비트스트림 교체

sudo mtd-utils flashcp custom.spi /dev/mtd-fpga

또는 BeagleV-Fire의 gateware update tool

sudo /opt/microchip/fpga-config-tool/fct \

--bitstream custom.dat --slot golden

sudo reboot

Microchip은 **Libero SoC**(폐쇄형 툴)을 메인으로 밀지만, BeagleV-Fire 커뮤니티는 **VexRiscv + LiteX**를 PolarFire에서 동작시키는 길도 연다.

12장 · HDL 언어 - Verilog · SystemVerilog · VHDL · Chisel · SpinalHDL · Amaranth · Veryl

하드웨어 기술 언어(HDL) 지형은 2026년 다섯 갈래.

**1. 고전 Verilog / SystemVerilog (산업 표준)**

// SystemVerilog 2017 — 단순 register

module reg8 (

input logic clk,

input logic rst_n,

input logic [7:0] din,

output logic [7:0] dout

);

always_ff @(posedge clk or negedge rst_n) begin

if (!rst_n) dout <= 8'h00;

else dout <= din;

end

endmodule

SV 2017은 `logic`, `always_ff/comb`, `interface`, `package`, `bind`, assertion(SVA) 같은 산업 필수 기능을 추가. 2023 표준은 사실상 마이너 업데이트.

**2. VHDL 2019**

entity reg8 is

port (

clk : in std_logic;

rst_n : in std_logic;

din : in std_logic_vector(7 downto 0);

dout : out std_logic_vector(7 downto 0)

);

end entity;

architecture rtl of reg8 is

begin

process (clk, rst_n) is

begin

if rst_n = '0' then

dout <= (others => '0');

elsif rising_edge(clk) then

dout <= din;

end if;

end process;

end architecture;

유럽·방산·항공에서 강세. **GHDL**이 오픈 시뮬레이터, 합성은 `ghdl-yosys-plugin`이 푼다.

**3. Chisel (Scala 기반, UC Berkeley)**

class Reg8 extends Module {

val io = IO(new Bundle {

val din = Input(UInt(8.W))

val dout = Output(UInt(8.W))

})

val r = RegInit(0.U(8.W))

r := io.din

io.dout := r

}

Chisel은 **Scala embedded DSL**. Rocket Chip, BOOM, Chipyard 전 생태계가 Chisel이다. 출력은 FIRRTL → SystemVerilog. 2024 Chisel 6은 Scala 2.13/3 기반.

**4. SpinalHDL (Scala 기반, VexRiscv 생태계)**

class Reg8 extends Component {

val io = new Bundle {

val din = in UInt(8 bits)

val dout = out UInt(8 bits)

}

val r = Reg(UInt(8 bits)) init(0)

r := io.din

io.dout := r

}

Chisel과 비슷한 철학이지만 syntax가 더 가볍고 시뮬레이션이 더 빠르다. VexRiscv/NaxRiscv가 이 위에서 만들어졌다.

**5. Python HDL — Amaranth (구 nMigen) · Migen · MyHDL · PyMTL**

Amaranth

from amaranth import *

class Reg8(Elaboratable):

def __init__(self):

self.din = Signal(8)

self.dout = Signal(8)

def elaborate(self, platform):

m = Module()

m.d.sync += self.dout.eq(self.din)

return m

Amaranth(M-Labs, 구 nMigen)는 Yosys와 직접 통합. LiteX의 일부 컴포넌트가 Amaranth.

**6. Veryl (Rust 스타일, 2023~)**

module reg8 (

clk: input clock,

rst_n: input reset,

din: input logic<8>,

dout: output logic<8>,

) {

always_ff (clk, rst_n) {

if_reset {

dout = 0;

} else {

dout = din;

}

}

}

Veryl은 Verilog로 트랜스파일된다. 모듈 import, 타입 추론, namespace 등 모던 언어 기능.

**7. CIRCT (MLIR 기반, LLVM 산하)**

CIRCT는 LLVM 안에 있는 **회로 IR**. FIRRTL/HW/SV/Calyx 등 여러 dialect를 가진다. 2026년 Chisel은 CIRCT 백엔드로 거의 완전히 옮겨갔다.

학습 1단계는 SystemVerilog (산업 표준), 2단계는 Chisel 또는 SpinalHDL (RISC-V SoC 생태계), 3단계는 Amaranth 또는 Veryl을 권장한다.

13장 · Verilator · Icarus · GHDL · Cocotb - 시뮬레이터

RTL을 굽기 전에 **시뮬레이션**으로 검증한다. 2026년 도구.

| 도구 | 언어 | 속도 | 라이선스 | 특징 |

| --- | --- | --- | --- | --- |

| **Verilator 5** | SV (synthesizable) | 매우 빠름 | LGPL | C++ 컴파일, 산업 표준. 5.x는 SV 어설션 강화 |

| **Icarus Verilog (iverilog)** | Verilog/SV (event-driven) | 보통 | GPL | 가장 쉬운 시작점 |

| **GHDL** | VHDL | 빠름 | GPL | VHDL 1987~2019 |

| **CXXRTL** | Yosys 백엔드 | 매우 빠름 | ISC | Yosys 합성 결과 C++ |

| **Verilator-cocotb** | Cocotb 결합 | 빠름 | 혼합 | Python 테스트벤치 |

| **Modelsim / Questa** | SV/VHDL | 보통 | 상용 | Intel 인수 후 ED 라이선스, 학생 무료 부분 |

| **VCS (Synopsys)** | SV | 빠름 | 상용 | 산업 표준 |

| **Xcelium (Cadence)** | SV/VHDL | 빠름 | 상용 | 산업 표준 |

Verilator 흐름.

합성 가능한 Verilog → C++ 컴파일

verilator --cc design.v --exe sim_main.cpp \

--trace --build -j 0

시뮬레이션 실행

./obj_dir/Vdesign

파형은 GTKWave 또는 Surfer

gtkwave dump.vcd

**Cocotb**(2013~)는 Python coroutine 기반 테스트벤치다. 2026년 1.9 안정.

tb_reg8.py

from cocotb.clock import Clock

from cocotb.triggers import RisingEdge

@cocotb.test()

async def test_reg8(dut):

cocotb.start_soon(Clock(dut.clk, 10, units="ns").start())

dut.rst_n.value = 0

await RisingEdge(dut.clk)

dut.rst_n.value = 1

dut.din.value = 0xA5

await RisingEdge(dut.clk)

await RisingEdge(dut.clk)

assert dut.dout.value == 0xA5

Makefile 한 줄

SIM = verilator

TOPLEVEL_LANG = verilog

VERILOG_SOURCES = $(PWD)/reg8.sv

TOPLEVEL = reg8

MODULE = tb_reg8

include $(shell cocotb-config --makefiles)/Makefile.sim

**파형 뷰어**는 전통적으로 **GTKWave**가 표준이었지만, 2024~2025년 **Surfer**(Rust로 만든 최신 wave viewer)가 빠르게 인기를 얻고 있다. WASM 빌드가 있어서 브라우저에서도 동작한다.

14장 · SymbiYosys · 형식 검증 - 시뮬레이션을 넘어

시뮬레이션은 입력 케이스를 직접 만들어야 한다. **형식 검증(formal verification)** 은 **수학적으로 속성이 모든 케이스에서 성립함을 증명**한다.

**SymbiYosys**(YosysHQ)는 Yosys 위에 올라간 형식 검증 driver다. 내부 엔진은 Z3, Yices2, Boolector, CVC4 등 SMT 솔버.

// add4.sv with SVA property

module add4 (

input logic [3:0] a, b,

output logic [4:0] s

);

assign s = a + b;

// 속성: a + b는 절대 음수가 아니다 (signed 해석)

property no_overflow_msb;

@(posedge $time) (s <= 30);

endproperty

assert property (no_overflow_msb);

endmodule

add4.sby

[tasks]

prove

[options]

prove: mode prove

prove: depth 20

[engines]

prove: smtbmc z3

[script]

read -formal add4.sv

prep -top add4

[files]

add4.sv

sby -f add4.sby prove

결과: PASS — 또는 반례 .vcd

형식 검증이 강력한 곳은 **AXI/Wishbone 같은 버스 프로토콜**과 **암호 모듈**이다. Symbiotic EDA가 만든 **Wishbone formal property**와 **AXI VIP**가 대표.

YosysHQ는 **Tabby CAD Suite**로 Verific(SV/VHDL 풀 파서) + Yosys + SBY + 상용 지원을 묶어 판다. 오픈 SBY는 그대로 무료.

15장 · 표준 버스 - AXI · AXI-Lite · Wishbone · TileLink

SoC 안에서 IP 블록이 서로 말하는 데 쓰이는 **표준 버스**.

| 버스 | 출신 | 특징 | 사용처 |

| --- | --- | --- | --- |

| **AMBA AXI4** | ARM (free spec) | 5 채널 split transaction, burst | Xilinx, ARM, Intel, 사실상 산업 표준 |

| **AXI4-Lite** | ARM | AXI의 단순 버전, register 인터페이스 | 제어 레지스터, 작은 IP |

| **AXI4-Stream** | ARM | 데이터 스트림, no addressing | DSP/AI dataflow |

| **AHB / APB** | ARM | 구형, embedded MCU | Cortex-M MCU |

| **Wishbone B4** | OpenCores | 오픈, 단순 | OpenRISC, 오픈 IP 다수 |

| **TileLink** | Chipyard / SiFive | RISC-V SoC cache coherent | Rocket/BOOM, Chipyard |

| **OCP** | Accellera | (사실상 사용 줄음) | 일부 ASIC |

| **NoC** | 다수 | network on chip, scalable | 멀티코어 |

오픈 RISC-V SoC는 보통 **TileLink**(Rocket Chip, Chipyard) 또는 **Wishbone**(LiteX, VexRiscv)을 쓰고, 외부 인터페이스만 AXI로 변환한다. AXI ↔ Wishbone, AXI ↔ TileLink 변환 IP는 모두 오픈으로 있다.

**IP-XACT**(IEEE 1685)는 IP 메타데이터 표준이다. 포트, 레지스터, 메모리 맵을 XML로 기술해 자동 RTL 래퍼 생성. Kactus2(오픈 툴)가 대표.

16장 · 오픈 ASIC - OpenROAD · SkyWater 130nm · GlobalFoundries 180nm · Tiny Tapeout

FPGA는 재구성 가능하지만 **ASIC**(application-specific IC)은 한 번 굳히면 끝. 오픈 ASIC 흐름이 2020년 이후 가능해졌다.

**OpenROAD**(DARPA IDEA, UCSD/UMich)는 RTL → GDSII 전체 흐름의 오픈 EDA다. Yosys(합성) → OpenROAD(floorplan, place, CTS, route, DRC/LVS) → GDSII.

OpenROAD flow scripts

git clone https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts

cd OpenROAD-flow-scripts

./build_openroad.sh

디자인 추가

cp -r designs/gcd flow/designs/sky130hd/my_design

Makefile config 수정

make DESIGN_CONFIG=./designs/sky130hd/my_design/config.mk

**PDK**(process design kit)는 chip을 굽기 위한 디바이스 모델/룰. 오픈 PDK 두 개가 핵심.

| PDK | 노드 | 후원 | 비고 |

| --- | --- | --- | --- |

| **SkyWater SKY130** | 130nm | Google / SkyWater | 2020 공개, 가장 성숙 |

| **GlobalFoundries GF180MCU** | 180nm | Google / GF | 2022 공개, 아날로그 친화 |

| **IHP SG13G2** | 130nm BiCMOS | IHP (독일) | 2023 공개, SiGe BiCMOS |

| (실험) PDK@22FDX | 22nm | NDA 필요 | 미공개 |

**Tiny Tapeout**(Matt Venn, 2022~)은 결정적 변화다. 130nm Sky130에 사용자 디자인을 **타일** 단위로 모아서 한 칩에 굽고, 각 사용자에게 PCB를 보낸다. 2026년 회차 가격은 1×1 tile = $50, 2×2 = $200, 8×2 = $300.

Tiny Tapeout 디자인은 Verilog 한 모듈로 압축

module tt_um_my_design (

input wire [7:0] ui_in, // 8 inputs (switches/buttons)

output wire [7:0] uo_out, // 8 outputs (LEDs)

input wire [7:0] uio_in, // bidirectional in

output wire [7:0] uio_out, // bidirectional out

output wire [7:0] uio_oe, // bidirectional enable

input wire ena, // enable

input wire clk, // clock

input wire rst_n // reset

);

// your design here

endmodule

**OpenLane**(Efabless)은 SkyWater + OpenROAD를 묶은 흐름. **Mflowgen**(UT Austin)도 비슷한 역할. 2026년 **OpenLane 2** Python 기반으로 재작성.

Efabless **caravel** 칩은 RISC-V (PicoRV32) + 사용자 영역 약 10mm² 슬롯. caravel을 통한 MPW 셔틀(multi-project wafer)이 1년에 몇 회 돌아간다. 학생/소형 팀이 처음으로 "내 ASIC"을 가질 수 있게 된 흐름.

17장 · OpenTitan · Caliptra - 보안 RoT 오픈 하드웨어

**OpenTitan**(lowRISC + Google, 2019~)은 오픈 **security root of trust** 칩 설계다. Ibex RV32IMC 코어, AES/SHA/HMAC/PRNG 가속기, life cycle manager, OTP fuse, USB, SPI를 한 칩에. Google Titan(Chromebook 보안 칩), Apple T2의 오픈 대응.

2024년 Google이 양산 OpenTitan 기반 칩을 발표. 2026년에는 데이터센터 NIC, 서버 BMC, IoT 게이트웨이가 OpenTitan을 RoT로 채택하는 흐름.

**Caliptra**(OCP, Microsoft/Google/AMD/NVIDIA, 2022~)는 데이터센터 가속기/SoC 안에 들어가는 RoT IP. OpenTitan 일부를 활용. Open Compute Project 표준.

핵심 의미는 **"보안 칩도 오픈이 가능하다"**는 것. 클로즈드 보안의 시대(TPM 메이커가 만들고 안 보여주는)에서 오픈 검증 가능 보안의 시대로.

18장 · Chipyard · LiteX · Caravel - RISC-V SoC 통합 프레임워크

"코어 + 메모리 + UART + SPI + Ethernet"을 매번 직접 짜는 건 비효율. SoC 통합 프레임워크가 채워준다.

**Chipyard**(UC Berkeley, 2018~)는 Chisel 기반 RISC-V SoC 생성기다. Rocket/BOOM/CVA6 코어 + L2 cache + 가속기(NVDLA, Gemmini) + 메모리 컨트롤러 + 주변장치를 조립한다.

// Chipyard config

class MyConfig extends Config(

new boom.common.WithNLargeBooms(1) ++

new freechips.rocketchip.subsystem.WithNBigCores(2) ++

new chipyard.config.AbstractConfig

)

Chipyard 워크플로는 simulator(VCS/Verilator)와 FPGA(FireSim)와 ASIC(Hammer)를 동시에 본다. **FireSim**(AWS F1)은 RISC-V SoC를 클라우드 FPGA에서 cycle-accurate로 시뮬레이션.

**LiteX**(Florent Kermarrec, 2018~)는 Migen/Amaranth 기반 SoC 생성기. VexRiscv/NaxRiscv 코어 + Wishbone 버스 + LiteDRAM + LiteEth + LiteSDCard 등 IP. iCEbreaker, ULX3S, OrangeCrab, Arty, Tang Nano에서 Linux를 부팅하는 가장 쉬운 길.

ULX3S에서 LiteX + VexRiscv + Linux

git clone https://github.com/litex-hub/linux-on-litex-vexriscv

cd linux-on-litex-vexriscv

./make.py --board=ulx3s --variant=85F --cpu-variant=linux \

--build --load

**Caravel**(Efabless)은 ASIC 셔틀용 RISC-V 래퍼. 사용자 영역 + management SoC(PicoRV32 기반).

19장 · 한국 FPGA / RISC-V 흐름 - ETRI · KAIST · 리벨리온스

한국의 FPGA/RISC-V 활동은 학계 중심에서 산업 중심으로 옮겨가는 중이다.

- **ETRI(한국전자통신연구원)** — RISC-V 기반 시스템 반도체 연구. 2024년 ETRI RISC-V Linux 보드 데모.

- **KAIST** — 전자과 디지털 디자인 강의는 SystemVerilog + Vivado 표준. RISC-V 강의도 Chipyard/Rocket 활용.

- **서울대·포항공대·고려대** — RISC-V SoC 연구.

- **리벨리온스(Rebellions, 2020~)** — AI 추론 칩 ATOM (1세대 GDDR6, 2세대 HBM). 자체 RISC-V 기반 control core. SK Telecom 데이터센터 채택.

- **퓨리오사AI(FuriosaAI)** — Warboy 1세대 (2021), RNGD 2세대 (2024). RISC-V 아닌 자체 NPU지만 RISC-V를 host로 검토.

- **사피온(Sapeon)** — SK 계열 NPU.

- **딥엑스(DEEPX)** — edge AI NPU.

- **텔레칩스 / 실리콘마이터스** — 자동차/전력 반도체에 RISC-V 도입 검토.

한국 FPGA 메이커 시장은 Lattice/Xilinx/Intel + 최근 Tang Nano(GOWIN) 가성비로 다변화. **메이커페어 서울** 2025에서 Tang Nano 워크숍, ULX3S 워크숍이 잡혔다.

오픈 RISC-V SBC는 **알리/직구**로 들어온다. VisionFive 2, Milk-V, LicheePi 모두 한국 커뮤니티(클리앙, RPi Korea 게시판) 후기 활발.

20장 · 일본 흐름 - PEZY-SC · Renesas RZ/Five · AIST OpenTitan

일본은 RISC-V/FPGA 영역에서 특이한 위치다. ARM Cortex와 NEC/Renesas/Toshiba 자체 코어가 강해서 RISC-V는 늦었지만, 2024~2026년 가속.

- **Renesas RZ/Five (2023)** — 첫 양산 RISC-V MPU. Andes AX45MP 듀얼 코어 RV64GC + RGMII Ethernet. 산업용.

- **Renesas R9A02G021 (2024)** — RISC-V 기반 32-bit MCU. AndesCore N22.

- **PEZY-SC4 / SC4s** — PEZY Computing의 매니코어 가속기. 1세대(SC1)는 MIPS, 후속은 자체 ISA + RISC-V host 검토. 일본 슈퍼컴퓨터 Top500 진출 이력.

- **AIST(産業技術総合研究所)** — OpenTitan 일본 포트, RISC-V CPU 연구.

- **Tokyo Tech, Tohoku, Kyoto** — RISC-V SoC, 양자/AI 가속기 연구.

- **Hayabusa / Konzo Lab (RISC-V 보드 커뮤니티)** — Akihabara 메이커 씬에서 Tang Nano/iCEbreaker 워크숍.

흥미로운 점은 일본이 **차량용 RISC-V**에 강하다는 것. Renesas는 ISO 26262 ASIL-D RISC-V를 양산했다. 자동차 ECU의 ARM → RISC-V 전환의 첫 산업 사례가 일본에서 나올 가능성.

**METI(경제산업성)**의 라피더스(Rapidus) 2nm 파운드리는 직접 RISC-V는 아니지만, 일본 내 첨단 노드 회복이 RISC-V SoC 양산을 받친다.

21장 · 응용 사례 - 레트로 컴퓨팅 · HFT · 비디오 · AI · 보안

오픈 FPGA/RISC-V가 실제로 쓰이는 영역.

**1. 레트로 컴퓨팅 / 게임 (FPGA NES/SNES/MD)**

| 프로젝트 | 보드 | 비고 |

| --- | --- | --- |

| **MiSTer FPGA** | DE10-Nano (Cyclone V SoC) | NES, SNES, MD, PS1, Amiga, MSX 등 200+ 시스템 |

| **Analogue Pocket** | Altera Cyclone 10 | GB/GBC/GBA + 코어 |

| **MARSx (오픈)** | ECP5 | 진행 중 |

| **NESCube** | iCE40 | NES one-chip |

MiSTer는 2017년 이후 사실상 레트로 FPGA의 표준이 됐다. 코어 200+ 개를 오픈 소스로 받아 SD 카드에 넣어 부팅.

**2. HFT (high frequency trading)**

거래소 시장 데이터 피드 파싱, 주문 생성, FIX → market protocol 변환을 **나노초 레이턴시**로 처리하기 위해 Xilinx UltraScale+/Versal를 쓴다. 오픈 툴체인은 거의 없고 Vivado.

**3. 비디오 / 영상 처리**

HDMI 입력 → AI 추론(소형 ML) → HDMI 출력 같은 라이브 비디오. ECP5(OrangeCrab) + Wuxx HDMI Pmod 또는 Zybo Z7에서. Sipeed Tang Mega 138K로 60fps 4K 처리 시도.

**4. AI 가속기**

NVDLA(NVIDIA Deep Learning Accelerator, 오픈), Gemmini(Chipyard), VTA(TVM)를 FPGA에 합성. ECP5 85F에서 작은 모델, Versal AI Edge에서 큰 모델.

**5. 보안 root of trust**

OpenTitan을 데이터센터 NIC, 서버 BMC, IoT 게이트웨이에 탑재. ChromeOS Titan-C(OpenTitan 기반), Caliptra(OCP) 양산 시작.

**6. 학습 / 교육**

RV32IMC를 처음부터 짜보는 강의가 KAIST/Berkeley/ETH 모두에서 표준화. iCEbreaker + PicoRV32, ULX3S + VexRiscv, Arty + Rocket 조합.

22장 · 비교 매트릭스 - FPGA 보드 / RISC-V SBC 한 장 표

| 구분 | 보드 | 칩 | LUT or 코어 | 메모리 | 가격(2026) | 핵심 강점 | 약점 |

| --- | --- | --- | --- | --- | --- | --- | --- |

| FPGA 입문 | iCEbreaker | iCE40-UP5K | 5K LUT4 | 1Mbit SPRAM | $50 | 완전 오픈, 워크숍 표준 | DSP 없음 |

| FPGA 입문 | Tang Nano 9K | GW1NR-9 | 8.6K LUT4 | 32Mbit PSRAM | $20 | 가성비 최강, HDMI 내장 | 툴 미성숙 |

| FPGA 중급 | ULX3S | ECP5 25/85F | 25K~84K LUT | 32MB SDRAM | $115~ | HDMI, SD, ESP32 통합 | 폼팩터 큼 |

| FPGA 중급 | OrangeCrab | ECP5 85F | 84K LUT | 128MB DDR3 | $129 | Feather 폼팩터, USB | 핀 적음 |

| FPGA 학습 | Arty A7-100T | Artix-7 | 101K LUT6 | 256MB DDR3 | $249 | RISC-V 학습 표준 | Vivado 필요 |

| FPGA + ARM | Zybo Z7-20 | Zynq-7020 | 53K LUT + 2×A9 | 1GB DDR3 | $299 | Linux + FPGA | Vivado 필요 |

| FPGA + RISC-V | BeagleV-Fire | PolarFire SoC | 25K LUT + 5×SiFive | 2GB DDR4 | $150 | RISC-V Linux + FPGA | flash 한번 |

| RISC-V 입문 | Milk-V Mars | JH7110 | 4×U74 | 1~8GB | $50~ | RPi 폼팩터 | GPU 약함 |

| RISC-V 데스크탑 | HiFive Premier P550 | EIC7700X | 4×SiFive P550 | 16GB DDR5 | $399 | RVA22, mITX | RVV는 다음 세대 |

| RISC-V 벡터 | Banana Pi BPI-F3 | SpacemiT K1 | 8×X60 | 4/8/16GB | $90~ | RVV 1.0 | 소프트웨어 미성숙 |

| RISC-V 워크스테이션 | Milk-V Pioneer | SG2042 | 64×C920 | DDR4-3200 | $1500 | 64코어 | 가격, 전력 |

| 보안 | OpenTitan (양산) | EarlGrey | Ibex RV32 + crypto | 1MB SRAM | 칩 단위 OEM | 오픈 RoT | 보드 적음 |

| 레트로 | MiSTer (DE10-Nano) | Cyclone V SoC | 41K LE + 2×A9 | 1GB DDR3 | $230 (보드+IO) | 200+ 코어 | 폐쇄 Quartus |

23장 · 학습 로드맵 - 0주부터 1년까지

처음 FPGA/RISC-V에 들어가는 사람을 위한 12개월 로드맵.

**Week 1~2 — Verilog 기초**

- Verilog 2005 문법, always block, register, FSM.

- 시뮬레이터: iverilog + GTKWave. 또는 EDA Playground(브라우저).

- 책: Pong P. Chu, "FPGA Prototyping by Verilog Examples".

**Week 3~6 — 첫 보드, 첫 블링크 → 첫 UART**

- iCEbreaker 또는 Tang Nano 9K 구입.

- LED 블링크 → UART echo → 7-seg → VGA.

- 오픈 툴체인 (Yosys + NextPnR + IceStorm).

**Week 7~12 — SystemVerilog + 형식 검증**

- always_ff/comb, interface, package, SVA.

- SymbiYosys로 간단 properties 증명.

- Verilator로 cocotb 테스트벤치.

**Month 4~6 — 첫 RISC-V soft core**

- PicoRV32를 iCE40-UP5K에 굽고 펌웨어 실행.

- 또는 VexRiscv를 ULX3S에 굽고 LiteX로 Linux.

- 어셈블리부터 GCC, OpenOCD 디버깅.

**Month 7~9 — Chisel / SpinalHDL 또는 ECP5 SoC**

- Chisel/Bootcamp(Berkeley) 또는 SpinalHDL 워크숍.

- Rocket Chip을 Chipyard로 시뮬레이션.

**Month 10~12 — ASIC 흐름 또는 RISC-V SBC + 가속기**

- Tiny Tapeout에 작은 디자인 제출 ($50).

- 또는 VisionFive 2/BeagleV-Fire에 가속기 IP 연결.

비용은 $30(Tang Nano)~$300(보드 + ASIC tile)로 학부생 수준 예산이 충분하다. 1년이 지나면 SoC 한 개를 "내가 RTL부터 짠" 수준에 도달한다.

24장 · 함정과 빠지기 쉬운 곳

- **합성과 시뮬레이션 결과 차이** — `initial`, `#delay`, race condition은 시뮬레이션에는 통하지만 합성에서 무시되거나 다르게 동작.

- **클록 도메인 크로싱(CDC)** — 다른 클록 사이 신호는 반드시 동기화. metastability 방지. 형식 검증(CDC linter)을 돌려야.

- **타이밍 위반** — 첫 컴파일은 통과해도 더 큰 디자인에선 setup/hold 위반. NextPnR의 `--seed` 변경, 파이프라이닝.

- **LUT/FF 부족 → ECP5로** — iCE40 5K는 RISC-V Linux 무리, 보통 VexRiscv RV32IM에서도 ECP5 25F 이상 필요.

- **벤더 라이브러리 의존** — Vivado primitives(BUFG, IOBUF)를 명시적으로 쓰면 다른 FPGA에 안 옮긴다. inferable code 우선.

- **시뮬레이션만 믿기** — 형식 검증, 합성 후 timing 보고, 보드 실측까지 해야 진짜 검증.

- **비트스트림 인코딩 차이** — 같은 ECP5 칩이라도 Lattice Diamond와 Yosys+nextpnr 결과가 다를 수 있음. 일부 코너 케이스는 Yosys가 보수적.

- **RISC-V V extension** — RVV 1.0이 비준됐지만 GCC/LLVM 자동 벡터화는 2026년에도 진행 중. 손으로 intrinsics 짜는 단계.

25장 · 결론 - 디지털 설계의 진짜 민주화

2026년 디지털 회로 설계는 더 이상 "비싼 EDA 라이선스를 가진 사람만"의 일이 아니다.

- $20짜리 Tang Nano로 첫 블링크.

- 무료 Yosys/NextPnR로 어떤 iCE40/ECP5/Gowin 비트스트림이든.

- 무료 Verilator/Cocotb로 산업급 시뮬레이션.

- 무료 SymbiYosys로 형식 검증.

- $50 Tiny Tapeout으로 ASIC.

- $50~$1500 RISC-V SBC로 데스크탑부터 워크스테이션까지.

거기에 더해, **소스 코어**(PicoRV32, VexRiscv, Rocket, BOOM, CVA6, Ibex), **소스 SoC 프레임워크**(Chipyard, LiteX), **소스 PDK**(SKY130, GF180MCU), **소스 RoT**(OpenTitan, Caliptra)까지 한 줄로 깔린다. 이걸 학생 한 명이 다 만질 수 있다.

남은 격차는 두 가지다. 첫째, **고밀도 FPGA**(Versal, Stratix 10)의 오픈 툴체인은 아직 멀었다. 둘째, **7nm 이하 ASIC**의 오픈 PDK는 NDA 너머에 있다. 그러나 학습·취미·중소 양산은 이미 오픈이 충분하다.

진짜 메시지는 단순하다. **"내가 만든 회로를 칩에 굽는" 일이 책 100권 값 안에 들어왔다.** 다음에 할 일은 학습이 아니라 만드는 것이다.

참고 자료

- Yosys: https://github.com/YosysHQ/yosys

- NextPnR: https://github.com/YosysHQ/nextpnr

- Project IceStorm: https://github.com/YosysHQ/icestorm

- Project Trellis: https://github.com/YosysHQ/prjtrellis

- Project Oxide (Nexus): https://github.com/gatecat/prjoxide

- Project Apicula (Gowin): https://github.com/YosysHQ/apicula

- SymbiYosys: https://github.com/YosysHQ/sby

- Verilator: https://www.veripool.org/verilator/

- Icarus Verilog: http://iverilog.icarus.com/

- Cocotb: https://www.cocotb.org/

- GTKWave: https://gtkwave.sourceforge.net/

- Surfer waveform viewer: https://surfer-project.org/

- RISC-V International: https://riscv.org/

- Rocket Chip: https://github.com/chipsalliance/rocket-chip

- BOOM: https://github.com/riscv-boom/riscv-boom

- CVA6 (Ariane): https://github.com/openhwgroup/cva6

- CV32E40P: https://github.com/openhwgroup/cv32e40p

- Ibex: https://github.com/lowRISC/ibex

- VexRiscv: https://github.com/SpinalHDL/VexRiscv

- PicoRV32: https://github.com/YosysHQ/picorv32

- SERV: https://github.com/olofk/serv

- OpenTitan: https://opentitan.org/

- Caliptra: https://www.opencompute.org/projects/caliptra

- Chipyard: https://chipyard.readthedocs.io/

- LiteX: https://github.com/enjoy-digital/litex

- Chisel: https://www.chisel-lang.org/

- SpinalHDL: https://spinalhdl.github.io/SpinalDoc-RTD/

- Amaranth HDL: https://amaranth-lang.org/

- Veryl: https://veryl-lang.org/

- CIRCT (MLIR): https://circt.llvm.org/

- OpenROAD: https://theopenroadproject.org/

- OpenLane: https://github.com/The-OpenROAD-Project/OpenLane

- SkyWater PDK: https://github.com/google/skywater-pdk

- GlobalFoundries 180MCU PDK: https://github.com/google/gf180mcu-pdk

- Tiny Tapeout: https://tinytapeout.com/

- Efabless caravel: https://github.com/efabless/caravel

- BeagleV-Fire: https://beagleboard.org/beaglev-fire

- VisionFive 2: https://www.starfivetech.com/en/site/boards

- Milk-V: https://milkv.io/

- Sipeed LicheePi: https://wiki.sipeed.com/

- Lattice Semiconductor: https://www.latticesemi.com/

- AMD Adaptive Computing: https://www.amd.com/en/products/adaptive-socs-and-fpgas.html

- SiFive: https://www.sifive.com/

- MiSTer FPGA: https://misterfpga.org/

현재 단락 (1/574)

2010년대 중반까지 FPGA는 "비싸고, 툴은 더 비싸고, 라이선스는 안 풀린다"의 동의어였다. Xilinx Vivado는 수십 GB짜리 무료 에디션을 깔아야 했고, Altera...

작성 글자: 0원문 글자: 27,093작성 단락: 0/574