DeepDataFlow
Earlgrey in G2 · 6편 중 5편

칩 설계 흐름에서 Claude Code와 함께 일하기

누가 무엇을 했는지, 결정 16건을 기록한 무인의 하룻밤, 에이전트의 실수와 그것이 된 규칙, 그리고 G2의 구조가 에이전트의 작업을 검토 가능하게 만드는 이유.

게시일 2026-10-22 · 6편 중 5편 · DeepDataFlow

2편부터 4편까지는 칩에 관한 이야기였습니다. 이 글은 일이 어떻게 이루어졌는지에 관한 것입니다. 이 프로젝트의 실제 작업 중 상당 부분은 Anthropic의 AI 코딩 에이전트인 Claude Code가 G2 안에서, 엔지니어 한 명과 함께 했습니다. 그것이 어떻게 진행되었는지, 잘못된 부분까지 포함해 소개합니다.

두 가지 역할

역할 분담은 단순했습니다.

Claude Code엔지니어
G2 자체 명령으로 흐름 실행목표와 제한 설정
로그와 리포트 읽기결정: A안이냐 B안이냐, 어떤 플로어플랜인가, "그래도 마무리"
실패 진단방향을 바꾸는 질문
스크립트, 수정, 문서 작성공개되는 모든 것의 승인

간단히 말하면, 에이전트는 손을 제공했고 엔지니어는 판단을 제공했습니다.

처음부터 중요했던 규칙이 하나 있습니다. 모든 흐름 단계는 G2의 API를 거칩니다. WebUI의 버튼이 호출하는 것과 같은 sd -e 명령입니다. 에이전트는 임시 셸 스크립트로 도구를 실행하지 않았습니다. 필요한 단계에 API가 없으면, 그것은 우회할 것이 아니라 보고하고 만들어야 할 빈틈이었습니다. 덕분에 모든 실행이 엔지니어가 볼 수 있는 G2의 기록에 남았습니다.

2:11

YouTube에서 보기(영어) ↗Bilibili에서 보기(중국어) ↗

무인으로 진행한 하룻밤

10월 13일 21:40, 엔지니어는 약 열 시간을 맡기면서 지시 하나만 남겼습니다. 갈 수 있는 데까지 가고, 진짜 결정이 필요할 때만 멈추라는 것입니다. 다음 날 아침 07:00까지:

  • otbn v5가 배선되었습니다. 배선 실패 네 건을 차례로 진단하고 고쳤습니다(이야기는 2편에 있습니다).
  • 블록 일곱 개가 포스트 라우트와 피니시를 거쳤고, 그 IP 뷰(abstract LEF, 타이밍 모델, 블랙박스 스텁)가 생성되었습니다.
  • i2c를 먼저 했습니다. 새 피니시 스크립트를 비싼 블록보다 먼저 가장 싼 블록에서 시험했습니다.
  • 칩 v2의 스크립트를 준비해 두었습니다. 전원 그리드와 플로어플랜입니다.
  • 결정 16건이 기록되었고, 각각 이유가 있습니다.

결정 추적

자명하지 않은 모든 선택은 네 부분으로 된 항목을 남겼습니다. 시간, 무엇을 결정했는지, 왜, 그리고 태그입니다. 그날 밤의 예 두 가지: 리타이밍을 별도 스크립트가 아니라 G2 단계로 넣기, 그리고 새 스크립트를 가장 싼 블록에서 먼저 시험하기. 각 항목은 짧으며, 쓸모를 만드는 것은 "왜" 한 줄입니다.

7일 동안(10월 13~19일) 추적에는 101개 항목이 쌓였습니다. 엔지니어는 로그로 재구성하는 대신 다음 날 아침 몇 분 만에 밤새 일어난 일을 검토할 수 있었습니다.

하루별 결정 추적 항목 수. 13일 밤이 무인 실행입니다.
하루별 결정 추적 항목 수. 13일 밤이 무인 실행입니다.

실수가 규칙이 되었습니다

에이전트는 실수를 했습니다. 실수마다 대가가 있었고, 실수마다 기록된 규칙이 되었습니다.

일어난 일규칙
에이전트가 스스로 설정한 4시간 타임아웃이 배치 실행을 아무 출력 없이 중단시켰습니다.긴 EDA 실행에는 타임아웃을 두지 않습니다.
기존 버전 위에 블록을 다시 실행해 첫 결과를 덮어썼습니다.실행마다 새 버전.
프로브를 프로젝트 바깥의 임시 폴더에 두었습니다.검사는 테스트 버전 안의 G2 단계이며, README가 있습니다.
SPEF 버그를 클록 트리 도구 탓으로 돌렸습니다.같은 코드가 제대로 하는 것과 비교합니다.
칩 타이밍을 OpenROAD 안에서 돌리자고 제안했습니다.사인오프는 별도 도구에서.
결코 참이 될 수 없는 조건을 기다렸습니다. 엔지니어가 "왜 기다리고 있나요?"라고 세 번 물었습니다.기다림이 끝날 수 있는지 확인하고, 타임아웃이 보고하게 만듭니다.
규칙마다 뒤에 이야기가 있습니다.
규칙마다 뒤에 이야기가 있습니다.

SPEF 사례는 협업을 가장 잘 보여 주는 예입니다. 에이전트의 첫 이론은 그럴듯했고, 증거로 추적한 버퍼 하나가 있었습니다. 엔지니어는 그 증거를 반박하지 않았습니다. 대신 더 나은 질문을 했습니다. 같은 파일이 이 모듈의 합성된 넷은 올바르게 쓰는데, 여기서는 무엇이 다를까요? 그 질문이 탐색을 클록 트리 도구에서 버그가 있던 SPEF 출력기로 옮겼습니다(4편).

AI 엔진을 위해 기록한 규칙

규칙은 다음 에이전트가 G2 프로젝트를 건드리기 전에 읽는 평문 가이드에 있습니다. 황금 규칙은 열 가지입니다.

  1. 모든 단계에 G2 API를 사용합니다.
  2. 실행마다 새 버전.
  3. 검사는 G2 단계로.
  4. 테스트 케이스를 만들기 전에 묻습니다.
  5. 공개되는 것은 무엇이든 먼저 묻습니다.
  6. EDA 작업은 한 번에 하나, 스레드는 최대 10개.
  7. 긴 실행에는 타임아웃을 두지 않습니다.
  8. 사인오프 타이밍은 독립 실행 OpenSTA에서.
  9. 타이밍 분석은 G2의 타이밍 경로 데이터로.
  10. 데모 실행은 클로저가 아닙니다. 남은 문제를 기록하고 넘어갑니다.

이 중 일부는 어느 칩 팀이든 알아볼 엔지니어링 관행입니다. "공개되는 것은 먼저 묻기"나 "기다림이 끝날 수 있는지 확인하기" 같은 것은 에이전트와 일할 때 특유의 규칙입니다. 규칙 5는 업스트림 버그 리포트에도 적용되었습니다. 에이전트가 이슈와 풀 리퀘스트를 준비했고, 엔지니어가 승인하기 전에는 아무것도 게시되지 않았습니다.

G2에서 이것이 통하는 이유

열 시간 동안 무인으로 일하는 에이전트는 사람이 빠르게 검토하고 신뢰할 수 있는 작업을 남겨야 합니다. 그 대부분을 G2의 구조가 해 줍니다.

  • 모든 실행은 버전입니다. 에이전트가 하는 어떤 일도 결과를 덮어쓰지 않으므로, 잘못된 실행은 시간은 잃어도 데이터는 잃지 않습니다.
  • 모든 단계는 스테이지이며, 로그, QoR 요약, README가 있습니다. 에이전트는 실행이 끝날 때 README를 씁니다. 목적, 결과, 다음 단계입니다.
  • 결정은 추적에 기록됩니다. 시간, 무엇을, 왜.
  • 하나의 페이지 묶음. 엔지니어는 에이전트가 쓰는 것과 같은 WebUI 페이지를 검토합니다. 믿거나 의심해야 할 별도의 리포트가 없습니다.
G2의 칩 버전 14개. 각 행은 에이전트나 엔지니어가 시작한 실행이며, 덮어쓴 것은 하나도 없습니다.
G2의 칩 버전 14개. 각 행은 에이전트나 엔지니어가 시작한 실행이며, 덮어쓴 것은 하나도 없습니다.

다른 팀에게 해 주고 싶은 말

  • 실수의 비용이 적은 구조를 에이전트에게 주세요. 버전, 스테이지, 그리고 이유를 적을 곳입니다.
  • 실수마다 다음 세션이 읽을 기록된 규칙으로 바꾸세요. 대화로만 한 교정은 오래가지 않습니다.
  • 결과가 따르는 결정과 공개되는 모든 것은 사람에게 남겨 두세요.
  • 결정 추적을 읽으세요. 지켜보지 않은 작업을 검토하는 가장 빠른 방법입니다.

다음은 마지막 편입니다. 백만 셀 칩이 노트북 한 대에서 메모리와 실행 시간을 얼마나 쓰는지, 그리고 언제 컴퓨터가 더 있으면 도움이 되는지 다룹니다.