줄리아 기반 고수준 합성 툴체인
초록
본 논문은 고수준 언어인 줄리아로 작성된 커널을 자동으로 SystemVerilog 로 변환하는 MLIR 기반 컴파일러 툴체인을 제안한다. AXI4‑Stream 프로토콜과 연동하고 동적·정적 스케줄링을 지원하며, 벤더에 독립적인 RTL 을 생성한다. 프로토타입은 100 MHz 로 동작하는 신호 처리·수학 벤치마크를 구현하고, 기존 C/C++ 기반 툴체인 대비 59.71 %~82.6 % 수준의 처리량을 달성한다.
상세 분석
이 연구는 FPGA 설계에서 흔히 겪는 “두 언어 문제”를 근본적으로 해결하려는 시도로, 고수준 언어인 줄리아와 저수준 하드웨어 기술 사이의 격차를 메우는 새로운 컴파일러 파이프라인을 제시한다. 핵심은 MLIR(Multi‑Level Intermediate Representation)을 활용해 줄리아 코드의 고수준 의미를 보존하면서 단계별로 하드웨어 친화적인 IR 로 변환하는 것이다. 먼저, 줄리아의 동적 타입 시스템과 고차 함수, 다중 디스패치 등을 정적 분석하여 SSA 형태의 Julia‑MLIR 로 낮춘다. 이어서, 이 IR 에서 루프 변환, 메모리 접근 분석, 데이터 흐름 최적화 등을 수행해 하드웨어 스케줄링에 적합한 형태로 만든다. 특히 동적 스케줄링을 지원하기 위해 런타임에 결정되는 파라미터를 하드웨어 레지스터와 연결하고, 정적 스케줄링 모드에서는 루프 언롤링·파이프라인 삽입을 자동화한다.
AXI4‑Stream 인터페이스와의 직접 연동은 실용적인 측면에서 큰 장점이다. 메모리 읽기·쓰기, 스트리밍 입출력 등을 표준 버스 프로토콜에 매핑함으로써, 생성된 RTL 이 기존 FPGA 설계 흐름에 바로 삽입될 수 있다. 또한, 벤더‑agnostic RTL 을 목표로 하여 SystemVerilog 로 출력하고, 이후 Vivado, Quartus 등 상용 툴에 그대로 전달한다.
성능 평가에서는 신호 처리와 수학 연산(FFT, FIR, 행렬 곱 등) 벤치마크를 대상으로 100 MHz 클럭에서 동작하도록 합성했으며, 동일한 알고리즘을 C/C++‑to‑RTL 툴체인(예: Xilinx Vitis HLS)으로 구현한 경우와 비교했다. 결과는 평균 70 % 수준의 처리량을 유지하면서, 설계 시간은 줄리아 코드 한 줄만 작성하면 되므로 개발 생산성이 크게 향상된다는 점을 보여준다.
한계점으로는 현재 지원되는 줄리아 서브셋이 제한적이며, 복잡한 메모리 계층(예: 캐시, DRAM 컨트롤러)과의 통합은 추가 연구가 필요하다. 또한, 고수준 최적화(예: 자동 파이프라인 깊이 탐색)와 저전력 설계 목표를 동시에 만족시키는 멀티‑목표 탐색이 아직 구현되지 않았다. 그럼에도 불구하고, 이 툴체인은 고성능 컴퓨팅 분야에서 도메인 전문가가 하드웨어 가속기를 손쉽게 활용하도록 하는 중요한 발판을 제공한다.