FormalRTL: Verified RTL Synthesis at Scale

이 논문은 애매한 명세와 형식적 정확성 보장의 부재로 인해 산업 규모 데이터 경로 설계에 적용하기 어려웠던 대규모 언어 모델을 활용하여, 소프트웨어 참조 모델을 형식 명세로 통합하고 계획·합성·형식 등가성 검증을 긴밀하게 결합한 'FormalRTL'이라는 다중 에이전트 프레임워크를 제안하여 확장 가능하고 신뢰할 수 있는 하드웨어 코드 생성을 실현함을 보여줍니다.

Kezhi Li, Min Li, Xiangyu Wen, Shibo Zhao, Jieying Wu, Junhua Huang, Qiang Xu

게시일 Wed, 11 Ma
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🏗️ 문제: "AI 건축가가 건물을 지으려는데..."

지금까지 AI 가 반도체 (칩) 를 설계할 때 겪던 문제는 두 가지였습니다.

  1. 설계도가 너무 모호함: "거대한 빌딩을 지어줘"라고만 말하면, AI 는 "어떤 모양으로?" "몇 층으로?"를 알아맞히기 힘들어 엉뚱한 건물을 짓습니다. (자연어 설명의 한계)
  2. 검증의 어려움: AI 가 지은 건물을 다 짓고 나서 "이거 안전할까?"라고 확인하려는데, 실제 사람이 직접 모든 구석구석을 걸어 다니며 (시뮬레이션) 확인하는 건 시간이 너무 오래 걸리고, 놓치는 구석 (버그) 이 생기기 쉽습니다.

💡 해결책: "FormalRTL" - 완벽한 청사진과 자동 검사관

이 논문은 **"소프트웨어 참조 모델 (C/C++ 코드)"**을 **완벽한 청사진 (Golden Specification)**으로 삼아 문제를 해결합니다.

1. 계획 단계: "현장 감독관" (Planning Agent)

  • 비유: AI 가 처음부터 거대한 빌딩 전체를 한 번에 짓는 게 아니라, **C++ 로 된 완벽한 설계도 (참조 모델)**를 먼저 분석합니다.
  • 작동 방식: 설계도를 보고 "1 층은 구조가 복잡하니까 A 팀이, 2 층은 B 팀이"라고 작업 부서를 나누고 순서를 정합니다. (정적 분석 및 위상적 순서)
  • 효과: AI 가 혼란스러워하지 않고, 작은 블록 하나씩 차근차근 쌓아 올릴 수 있게 됩니다.

2. 시공 단계: "건축가" (Initializing Agent)

  • 비유: 할당받은 팀 (AI) 이 작은 블록 (서브 모듈) 을 짓습니다.
  • 작동 방식: 이때 AI 는 단순히 말로 된 지시사항만 보고 짓는 게 아니라, 앞서 분석한 C++ 설계도와 정확히 일치하게 코드를 작성합니다.

3. 검증 및 수정 단계: "자동 검사관" (Debugging Agent)

  • 비유: 건물이 다 지어지면, **자동 검사관 (Formal Equivalence Checking)**이 나옵니다.
  • 핵심 차이: 기존 방식은 "이건 맞다/틀리다"만 알려주지만, 이 시스템은 **"어디가 틀렸는지, 왜 틀렸는지" (Counterexample)**를 구체적으로 보여줍니다.
    • 예시: "3 층 201 호 창문이 설계도보다 1cm 작아요. 여기 수정해 주세요."
  • 작동 방식: AI 는 이 구체적인 피드백을 보고 코드를 수정합니다. 이 과정이 자동으로 반복되어, 완벽하게 설계도와 일치하는 건물이 될 때까지 수정합니다.

🌟 이 시스템의 핵심 장점

  1. 확실한 정확성 (Formal Guarantee):
    • 단순히 "대충 비슷해 보이네"가 아니라, 수학적으로 100% 정확함을 증명합니다. 마치 건물의 모든 철근이 설계도와 일치하는지 수학적으로 계산해 보는 것과 같습니다.
  2. 대규모 프로젝트 가능 (Scalability):
    • 복잡한 산업용 칩 (수천 줄의 코드) 도 작은 블록으로 나누어 처리하므로, AI 가 감당하기 힘든 거대한 작업도 가능해졌습니다.
  3. 실제 산업 현장 적용:
    • 단순한 실험실 수준의 장난감이 아니라, 실제 반도체 회사 (화웨이 등) 에서 사용하는 복잡한 데이터 처리 칩 (Hifloat8 등) 을 성공적으로 설계하고 검증했습니다.

📊 결과: 얼마나 잘 하나요?

  • 첫 시도 성공률: AI 가 처음부터 완벽하게 짓는 경우는 드뭅니다 (약 15~90% 수준).
  • 최종 성공률: 하지만 자동 검사관과 수정 과정을 거치면, 거의 모든 경우 (95~100%) 에 완벽한 건물을 완성했습니다.
  • 기존 방식과의 비교: 설계도 (C++ 참조 모델) 없이 말로만 지시하는 기존 AI 방식은 건물이 커질수록 실패율이 급격히 올라갔지만, FormalRTL 은 건물이 커져도 안정적으로 작동했습니다.

🚀 결론

이 논문은 **"AI 가 반도체를 설계할 때, 단순히 말로 지시하는 대신 '완벽한 소프트웨어 설계도'를 참고하게 하고, '수학적 검사관'을 통해 실수를 바로잡게 함으로써, 산업 현장에서 쓸 수 있는 고품질 칩을 자동으로 만들 수 있다"**는 것을 증명했습니다.

이는 마치 AI 건축가가 설계도 없이 막연하게 건물을 짓는 것에서, 정밀한 CAD 도면과 자동 안전 검사 시스템을 갖춘 현대적인 건설 현장으로 진화한 것과 같습니다.