자동 FSM 코드 생성 프레임워크 AutoFSM: IR 기반 오류 감소와 SystemC 테스트 자동화
초록
AutoFSM은 다중 에이전트 협업 구조와 구조화된 중간 표현(IR)을 도입해 Verilog FSM 코드 생성 시 문법 오류를 크게 낮추고, SystemC 기반 자동 테스트벤치와 피드백 루프를 통해 디버깅 효율을 향상시킨다. 새롭게 구축한 SKT‑FSM 벤치마크(67개 샘플)에서 기존 오픈소스 프레임워크 MAGE 대비 통과율 11.94%·문법 오류율 17.62% 개선을 입증하였다.
상세 분석
본 논문은 LLM 기반 RTL 코드 생성의 핵심 문제점—문법 오류, 디버깅 비용, 테스트벤치 의존성—을 정확히 짚어내고, 이를 해결하기 위한 세 가지 혁신적 요소를 제시한다. 첫째, 설계 설명을 JSON 형태의 구조화된 IR로 변환하는 FSMExtractor 에이전트를 도입함으로써, LLM이 직접 Verilog 문자열을 생성할 때 발생하는 구문 오류를 근본적으로 차단한다. IR은 상태, 전이, 입출력 포트 등을 명시적으로 기술하므로, fsm2sv와 같은 기존 코드 생성 툴에 바로 입력 가능하며, 자동 변환 파이프라인이 안정성을 크게 높인다. 둘째, 다중 에이전트 아키텍처—Verifier, Coder, Tester, Fixer, Judge—가 각각 역할을 분리해 반복적인 피드백 루프를 구현한다. Verifier는 IR과 설계 의도를 교차 검증하고, Coder는 IR→Verilog 변환을 담당한다. Tester는 SystemC 모델을 자동 생성해 시뮬레이션을 수행하고, 오류 로그를 Judge에게 전달한다. Judge는 오류 원인을 분석해 Fixer에게 구체적 수정을 지시한다. 이러한 단계적 오류 탐지·수정 흐름은 단일 에이전트 방식에 비해 오류 전파를 최소화하고, 기능 오류와 구문 오류를 명확히 구분한다. 셋째, SystemC 기반 테스트벤치 자동 생성은 기존 벤치마크에 의존하던 수동 테스트 작성 과정을 없애고, 설계마다 맞춤형 검증 환경을 제공한다. SystemC 모델은 FSM의 동작을 사이클‑정밀도로 시뮬레이션하므로, LLM이 생성한 Verilog와의 기능 일치를 빠르게 확인할 수 있다.
벤치마크 구축 과정도 주목할 만하다. 저자들은 공개된 100개의 FSM을 LLM‑보조 파이프라인으로 정제·중복 제거해 67개의 대표 샘플을 선정하고, 설계 설명·테스트 프로그램을 GPT‑4 기반 자동 생성·문법 검증·수동 리뷰를 거쳐 완성했다. 복잡도 점수(라인 수, 상태 수, 전이 수)를 정규화해 Easy/Medium/Hard 3단계로 분류함으로써, 다양한 난이도에서 프레임워크 성능을 정량화했다.
실험 결과는 AutoFSM이 동일 LLM 기반(MAGE와 동일한 베이스 모델)에서 SKT‑FSM 전체와 각 난이도별로 평균 통과율을 11.94%p 상승시키고, 문법 오류율을 17.62%p 감소시켰음을 보여준다. 특히 Hard 레벨에서의 개선폭이 가장 커, 복잡한 FSM에서도 IR‑중심 접근이 효과적임을 입증한다.
전체적으로 AutoFSM은 LLM의 자연어 이해 능력과 전통적인 HDL 컴파일러의 강점을 결합한 하이브리드 시스템으로, 향후 RTL 자동화 흐름에 적용 가능한 설계·검증 통합 파이프라인을 제시한다. 다만, 현재 IR이 JSON 기반이며 FSM에 특화돼 있어 다른 RTL 구조(예: 파이프라인, 메모리 컨트롤러)로 확장하려면 추가 스키마 설계와 툴 체인 보강이 필요하다. 또한 SystemC 시뮬레이션 비용이 증가할 수 있어 대규모 설계에선 효율적인 시뮬레이션 스케줄링이 요구된다.
요약하면, 구조화된 IR 도입, 다중 에이전트 협업, SystemC 자동 테스트라는 세 축을 통해 LLM 기반 FSM 코드 생성의 핵심 약점을 보완하고, 실제 설계 흐름에 적용 가능한 수준의 신뢰성을 확보했다는 점이 가장 큰 공헌이다.
댓글 및 학술 토론
Loading comments...
의견 남기기