Vivado 전체 빌드 플로우(합성 → Implementation → Bitstream)를 순차 실행합니다. "전체 빌드", "build all", "처음부터 빌드", "빌드 전체", "synth부터 bitstream까지" 등의 요청에 자동 적용.
합성 → Implementation → Bitstream을 순차 실행합니다. 각 단계 실패 시 즉시 중단하고 원인 분석을 안내합니다.
빌드 전 아래 리뷰를 실행하면 빌드 실패를 사전에 방지할 수 있습니다:
"RTL 리뷰해줘" → rtl-reviewer 에이전트"핀 배치 확인해줘" → pin-reviewer 에이전트| 변수 | 기본값 | 설명 |
|---|---|---|
BOARD | arty_a7 | 보드 이름 → XDC 파일 경로 결정 |
TOP | top | 톱 모듈 이름 |
PART_NUM |
xc7a35ticsg324-1L |
| FPGA 파트넘버 |
# Vivado 설치 확인
which vivado || echo "ERROR: Vivado not found in PATH"
# 소스 파일 존재 확인
ls rtl/*.v rtl/*.sv 2>/dev/null || echo "WARNING: No RTL files found"
# 제약 파일 확인
BOARD=${BOARD:-arty_a7}
ls constraints/${BOARD}.xdc || echo "ERROR: XDC not found for board ${BOARD}"
# 빌드 디렉토리 생성
mkdir -p build/{checkpoints,reports,output,logs}
cd build
BOARD=${BOARD:-arty_a7} TOP=${TOP:-top} \
vivado -mode batch -source ../scripts/run_synth.tcl \
-log logs/synth.log -journal logs/synth.jou
실패 시 중단. 원인 분석:
grep -E "ERROR|CRITICAL" build/logs/synth.log"RTL 리뷰해줘" → 래치 추론, 멀티 드라이버 등 확인성공 시 결과 확인:
grep "WNS\|WHS" build/reports/timing_synth.rpt
grep -A 20 "Slice Logic" build/reports/utilization_synth.rpt
cd build
vivado -mode batch -source ../scripts/run_impl.tcl \
-log logs/impl.log -journal logs/impl.jou
실패 시 중단. 원인 분석:
grep -E "ERROR|CRITICAL" build/logs/impl.log"타이밍 분석해줘" → timing-analyst 에이전트성공 시 결과 확인:
grep "WNS\|WHS" build/reports/timing_route.rpt
grep -c "VIOLATION" build/reports/drc_route.rpt
grep "Total On-Chip Power" build/reports/power_route.rpt
cd build
vivado -mode batch -source ../scripts/run_bit.tcl \
-log logs/bitstream.log -journal logs/bitstream.jou
실패 시 중단. 원인 분석:
grep -E "ERROR|CRITICAL" build/logs/bitstream.logcat build/reports/drc_final.rpt성공 시 결과 확인:
ls -la build/output/top.bit
모든 단계가 성공하면 아래 형식으로 요약합니다:
═══════════════════════════════════════
Vivado 전체 빌드 완료
보드: {BOARD} ({PART})
톱 모듈: {TOP}
═══════════════════════════════════════
[합성]
WNS: +1.234 ns (Setup OK)
WHS: +0.056 ns (Hold OK)
LUT: 1234/20800 (5.9%)
FF: 567/41600 (1.4%)
[Implementation]
WNS: +0.876 ns (Setup OK)
WHS: +0.023 ns (Hold OK)
DRC: 0 violations
Power: 0.123 W
[Bitstream]
파일: build/output/top.bit
크기: 2,083,740 bytes
다음 단계:
FPGA 프로그래밍: "FPGA에 다운로드해줘"
GUI 확인: "라우팅 결과 보여줘"
ILA 디버깅: "Hardware Manager 열어줘"
빌드 중 WNS < 0 (타이밍 위반)이 발생하면:
"타이밍 분석해줘" → timing-analyst 에이전트에게 상세 분석 위임build/logs/에 저장되므로 나중에 확인 가능합니다build/checkpoints/에 중간 체크포인트가 저장되므로, 특정 단계부터 재실행 가능합니다