처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.03.29 28

Verilog 코드를 팩토리오 회로로 변환하는 컴파일러, RISC-V CPU까지 돌린다

Hacker News 원문 보기
Verilog 코드를 팩토리오 회로로 변환하는 컴파일러, RISC-V CPU까지 돌린다

게임 안에서 CPU를 만든다고?

팩토리오(Factorio)라는 게임을 아시나요? 공장을 짓고 자동화 라인을 설계하는 게임인데요, 이 게임 안에는 '조합 회로(Combinators)'라는 논리 회로 시스템이 있어요. 신호를 보내고 받고, 조건에 따라 다른 동작을 하게 만들 수 있는 일종의 간이 컴퓨터 부품인 셈이죠. 그런데 어떤 개발자가 이 조합 회로만으로 실제 동작하는 RISC-V CPU를 만들어 버렸어요. 그것도 그냥 노가다로 만든 게 아니라, 하드웨어 설계 언어인 Verilog 코드를 팩토리오 회로로 자동 변환해주는 컴파일러까지 만들어서요.

Verilog가 뭔데요?

잠깐 배경 설명을 드리자면, Verilog는 실제 반도체 칩을 설계할 때 쓰는 언어예요. 우리가 Python이나 Java로 소프트웨어를 만들듯이, 하드웨어 엔지니어들은 Verilog나 VHDL로 칩 내부의 논리 회로를 설계하거든요. "이 입력이 1이고 저 입력이 0이면 출력은 1" 같은 게이트 레벨 동작부터, 레지스터, 메모리, CPU 전체 구조까지 기술할 수 있어요. FPGA라는 프로그래밍 가능한 칩에 올리거나, 실제 ASIC 칩 제조에 사용되는 산업 표준 언어인데요, 이걸 팩토리오 게임의 조합 회로로 변환한다는 발상 자체가 꽤 신선해요.

컴파일러는 어떻게 동작하나요?

verilog2factorio라는 이 프로젝트는 크게 세 단계로 동작해요. 먼저 Verilog 코드를 파싱해서 AST(추상 구문 트리)로 만들어요. 이게 뭐냐면, 코드를 컴퓨터가 이해하기 쉬운 트리 구조로 바꾸는 과정이에요. 그 다음, 이 AST를 논리 게이트 수준의 넷리스트(netlist)로 합성(synthesis)해요. 넷리스트란 AND, OR, NOT 같은 기본 게이트들이 어떻게 연결되어 있는지를 나타내는 회로 연결도인데요, 실제 칩 설계 과정에서도 이 단계를 거쳐요.

마지막으로 이 넷리스트를 팩토리오의 조합 회로 블루프린트로 매핑하는 거예요. 팩토리오의 산술 조합기(Arithmetic Combinator)는 덧셈, 뺄셈, 비트 연산 등을 할 수 있고, 결정 조합기(Decider Combinator)는 조건 분기를 할 수 있거든요. 이 기본 요소들을 조합하면 이론적으로 어떤 디지털 회로든 구현할 수 있어요. 프로젝트에는 시뮬레이터도 포함되어 있어서, 팩토리오를 실행하지 않고도 변환된 회로가 제대로 동작하는지 검증할 수 있어요.

RISC-V CPU가 게임 안에서 돌아간다

이 컴파일러의 쇼케이스가 바로 RISC-V CPU 구현이에요. RISC-V는 요즘 임베디드부터 서버까지 다양한 영역에서 주목받고 있는 오픈소스 명령어 집합 아키텍처(ISA)인데요, 이걸 Verilog로 설계하고 팩토리오 안에서 실행되게 만든 거예요. 물론 클럭 속도가 현대 CPU처럼 수 GHz로 돌아가는 건 아니지만, 명령어를 페치(fetch)하고, 디코드(decode)하고, 실행(execute)하는 파이프라인이 실제로 동작한다는 점이 핵심이에요.

이게 그냥 "재미있는 프로젝트"를 넘어서 인상적인 이유가 있어요. 팩토리오의 조합 회로는 한 게임 틱(tick)에 한 번 연산을 처리하거든요. 그래서 회로 설계를 할 때 타이밍 문제를 게임 틱 단위로 맞춰야 하는데, 이건 실제 하드웨어 설계에서 클럭 사이클을 고려하는 것과 본질적으로 같은 문제예요. 즉, 게임 안에서 실제 하드웨어 설계의 핵심 원리를 체험할 수 있다는 뜻이에요.

비슷한 시도들과 비교

사실 게임 안에서 컴퓨터를 만드는 시도는 팩토리오 커뮤니티에서 오래전부터 있었어요. 레드스톤 회로로 계산기를 만드는 마인크래프트 유저들도 유명하고요. 하지만 대부분은 수작업으로 하나하나 조합 회로를 배치하면서 만들었어요. 이 프로젝트가 차별화되는 지점은 컴파일러를 만들었다는 거예요. Verilog라는 표준 HDL(하드웨어 기술 언어)에서 자동 변환이 되니까, 이미 존재하는 Verilog 설계를 가져다가 팩토리오에서 돌려볼 수 있어요. 일일이 회로를 손으로 짤 필요가 없는 거죠.

이런 접근은 교육적인 측면에서도 가치가 있어요. 실제 FPGA 보드를 사서 Verilog를 배우려면 진입 장벽이 꽤 높은데, 팩토리오라는 시각적이고 인터랙티브한 환경에서 디지털 회로 설계의 원리를 직관적으로 이해할 수 있으니까요. 합성이 어떻게 되는지, 타이밍이 왜 중요한지, 파이프라인이 뭔지를 게임 안에서 눈으로 보면서 배울 수 있는 셈이에요.

한국 개발자에게 어떤 의미가 있을까?

한국에서도 반도체 산업이 워낙 크다 보니 Verilog를 다루는 엔지니어가 많은데요, 이 프로젝트는 HDL 교육의 새로운 접근법으로서 관심을 가질 만해요. 대학에서 디지털 논리 회로나 컴퓨터 구조를 가르칠 때, 팩토리오를 시각화 도구로 활용하면 학생들의 이해도를 높일 수 있을 거예요. 또한 소프트웨어 개발자 입장에서도, 평소 추상적으로만 알고 있던 CPU 내부 동작을 시각적으로 확인할 수 있는 좋은 학습 자료가 될 수 있어요.

그리고 컴파일러 자체의 구현도 공부할 거리가 많아요. 파싱, AST, 중간 표현, 코드 생성이라는 컴파일러의 핵심 단계를 하드웨어 합성이라는 맥락에서 구현한 것이니까, 컴파일러에 관심 있는 개발자라면 코드를 읽어보는 것도 추천해요.

정리

Verilog-to-Factorio 컴파일러는 "게임에서 CPU를 만들었다"는 재미를 넘어서, 하드웨어 설계의 전 과정을 자동화하고 시각화한 인상적인 엔지니어링 프로젝트예요.

여러분은 소프트웨어뿐만 아니라 하드웨어 설계에도 관심이 있으신가요? 게임이나 시뮬레이션 환경이 기술 교육에 효과적이라고 생각하시나요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

파이썬으로 자동화를 시작해보세요

파이썬 기초부터 자동화까지 실전 강의.

파이썬 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.