← 최신 논문
🤖 AI

EstRTL: Functional Estimation Guided RTL Code Generation

이 논문은 정적 기능 점수 추정을 통해 생성된 RTL 코드의 기능적 정확성을 향상시켜 범용 모델 대비 3.2%~9.0%의 개선을 달성하는 3단계 LLM 기반 협업 에이전트 프레임워크인 EstRTL을 소개한다.

원저자: Qi Xiong, Renzhi Chen, Bowei Wang, Yuqing Xiong, Libo Huang, Lei Wang

게시일 2026-06-10
📖 3 분 읽기☕ 가벼운 읽기

원저자: Qi Xiong, Renzhi Chen, Bowei Wang, Yuqing Xiong, Libo Huang, Lei Wang

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 복잡한 기계, 예를 들어 고성능 자동차 엔진을 만들려고 한다고 상상해 보십시오. 하지만 렌치나 설계도를 사용하는 대신, 매우 똑똑하고 박학다식한 로봇에게 당신을 위한 지침을 써달라고 요청하는 것입니다. 컴퓨터 칩의 세계에서 이러한 지침은 RTL 코드(Register Transfer Level)라고 불립니다.

문제는 이러한 로봇(대규모 언어 모델 또는 LLM이라 불리는)이 문장을 쓰는 데는 뛰어나지만, 이러한 기술적인 지침을 작성할 때는 종종 어처구니없는 실수를 한다는 점입니다. 그들은 "정지" 표지판과 "진행" 표지판을 혼동하거나, 톱니바퀴를 엉뚱한 곳에 놓을 수도 있습니다. 보통, 엔진이 실제로 작동하는지 확인하려면 엔진을 구동하기 위한 거대하고 비싼 테스트 트랙(테스트벤치라고 불림)을 구축해야 하는데, 여기에는 많은 시간과 비용이 듭니다.

EstRTL: "품질 관리" 팀의 등장

이 논문은 EstRTL이라는 새로운 시스템을 소개합니다. 이 시스템은 엔진이 실제로 만들어지기 전에 로봇의 실수를 바로잡기 위해 함께 협력하는 세 명의 품질 관리 팀처럼 작동합니다. 단순히 로봇에게 "다시 해봐"라고 요청하는 대신, 이 시스템은 **생성(Generation), 추정(Estimation), 수정(Correction)**의 영리한 루프를 사용합니다.

이 팀이 어떻게 작동하는지 간단한 비유를 통해 설명하겠습니다.

1. 생성자 (설계자)

먼저, **코드 생성 에이전트(Code Generationation Agent)**는 설계자입니다. 이 에이전트는 당신의 요청(예: "255까지 세는 카운터를 만들어줘")을 듣고 초기 설계도(RTL 코드)를 그립니다.

  • 체크 사항: 누군가 설계를 검토하기 전에, 문법 검사기가 설계도가 엉터리인지(예: 괄호가 빠졌거나 오타가 있는지) 확인합니다. 만약 설계도가 문법적으로 틀렸다면, 설계자는 즉시 다시 그립니다.

2. 추정자 (직관적인 검사관)

이것이 이 논문의 가장 큰 혁신입니다. 보통 설계도가 제대로 작동하는지 알기 위해서는 엔진 전체를 만들고 테스트해야 합니다. 그것은 느린 방식입니다.

  • 비결: **기능 추정 에이전트(Functional Estimation Agent)**는 매우 직관적인 검사관과 같습니다. 그는 설계도를 보고 이렇게 말합니다. "아직 이것을 만들지는 않았지만, 설계를 바탕으로 볼 때 작동할 확률이 85%입니다."
  • 작동 원리: 그는 엔진을 만들지 않습니다. 대신, 설계도를 읽고 기계가 해야 할 일에 대한 설명을 쓰려고 시도합니다. 그런 다음, 그 설명을 당신의 원래 요청과 비교합니다.
    • 비유: 만약 당신이 "빨간색 스포츠카"를 요청했는데, 설계도가 "파란색 트럭"을 묘사하고 있다면, 검사관은 차를 직접 보지 않고도 즉시 무언가 잘못되었다는 것을 알아챕니다.
  • 결정:
    • 점수가 낮으면 (설계가 형편없어 보이면), 검사관은 설계도를 설계자에게 돌려보내 완전히 처음부터 다시 시작하게 합니다.
    • 점수가 중간이면 (설계가 괜찮지만 결함이 있는 경우), 검사관은 이를 수정자에게 보냅니다.

3. 수정자 (정비사)

**코드 수정 에이전트(Code Correction Agent)**는 정비사입니다. 그는 단순히 짐작만 하는 것이 아니라, "사고의 흐름(Chain of Thought)" 과정을 사용합니다.

  • 과정: 그는 먼저 "정확히 어디에 문제가 있는가? 왜 이런 일이 발생하는가?"라고 자문합니다. (예: "로봇이 '왼쪽'과 '오른쪽'을 혼동했기 때문에 톱니바퀴가 잘못된 축에 달려 있다").
  • 수정: 문제를 이해하고 나면, 그는 오류를 고치기 위해 설계도의 특정 부분을 다시 작성합니다. 그런 다음 수정된 설계도를 검사관에게 보내 다시 확인하도록 합니다.

이것이 왜 대단한 일인가요?

논문은 이 "검사관"과 "정비사" 팀을 과정에 추가함으로써, 시스템이 로봇의 성공률을 크게 향상시킨다고 주장합니다.

  • 결과: 156개의 하드웨어 설계 작업에 대해 테스트했을 때, 이 시스템은 로봇의 정확도를 3.2%에서 9%까지 향상시켰습니다.
  • 효율성: "검사관"은 비싼 테스트 트랙을 구축할 필요 없이 약 78%의 정확도로 작동하는 설계와 고장 난 설계를 구분해 냈습니다.
  • 수정 능력: 정비사는 로봇이 스스로 저지른 오류 중 12% 이상을 성공적으로 수정했습니다.

핵심 요약

EstRTL을 안전망이라고 생각하십시오. 로봇이 첫 번째 시도에 완벽하게 해낼 것이라고 믿는 대신(로봇은 거의 그러지 못합니다), 이 시스템은 로봇이 쓰고, AI 검사관이 채점하며, AI 정비사가 잘못된 부분을 고치는 루프를 만듭니다. 이를 통해 최종 코드가 단순히 문법적으로 올바를 뿐만 아니라, 실제로 당신이 요청한 대로 작동하도록 보장하며, 엔지니어들이 수천 줄의 코드를 수동으로 디버깅해야 하는 수고를 덜어줍니다.

저자들은 이 "팀"을 오픈 소스로 공개하여, 누구나 자신의 로봇이 더 나은 하드웨어 코드를 작성할 수 있도록 이 3단계 프로세스를 사용할 수 있게 했습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →